diff --git a/master/api/rocq-runtime/Boot/Env/index.html b/master/api/rocq-runtime/Boot/Env/index.html index d2769fd60b..9dbe6e6a15 100644 --- a/master/api/rocq-runtime/Boot/Env/index.html +++ b/master/api/rocq-runtime/Boot/Env/index.html @@ -1,2 +1,2 @@ -
Boot.Env
Coq runtime enviroment API.
This module provides functions for manipulation of Coq's runtime enviroment, including the standard directories and support files.
This API is similar in spirit to findlib's or dune-sites API, see their documentation for more information:
It is important that this library has a minimal dependency set.
The Coq runtime enviroment needs to be properly initialized before use; we detail the rules below. It is recommended that applications requiring multiple accesses to the environment, do initialize it once and keep a ref to it. We don't forbid yet double initialization, (second time is a noop) but we may do so in the future. Rules for "coqlib" are:
ROCQLIB
env variable will be used if settheories/Init/Prelude.vo
will be checked, in the following order:coqlibsuffix
given in configurecoqlib
given in configureROCQRUNTIMELIB
env variable is also used if set, if not, the location of the rocq-runtime files will be assumed to be ROCQLIB/../rocq-runtime
, except if ROCQLIB/plugins
exists as in some developers layouts
, in which case we will set ROCQRUNTIMELIB:=ROCQLIB
.Note that set_coqlib
is used by some commands to process the -coqlib
option, as of now this sets both coqlib
and coqcorelib
; this part of the initialization will be eventually moved here.
The error handling policy of this module is simple for now: failing to initialize Coq's env will produce a fatal error, and the application will exit with code 1. No error handling is thus required on the client yet.
module Path : sig ... end
This API is loosely inspired by Stdune.Path
, for now we keep it minimal, but at some point we may extend it.
val init : unit -> t
init ()
will initialize the Coq environment.
Boot.Env
Rocq runtime enviroment API.
This module provides functions for manipulation of Rocq's runtime enviroment, including the standard directories and support files.
This API is similar in spirit to findlib's or dune-sites API, see their documentation for more information:
It is important that this library has a minimal dependency set.
The Rocq runtime enviroment needs to be properly initialized before use; we detail the rules below. It is recommended that applications requiring multiple accesses to the environment, do initialize it once and keep a ref to it. We don't forbid yet double initialization, (second time is a noop) but we may do so in the future. Rules for "coqlib" are:
ROCQLIB
env variable will be used if settheories/Init/Prelude.vo
will be checked, in the following order:coqlibsuffix
given in configurecoqlib
given in configureROCQRUNTIMELIB
env variable is also used if set, if not, the location of the rocq-runtime files will be assumed to be ROCQLIB/../rocq-runtime
, except if ROCQLIB/plugins
exists as in some developers layouts
, in which case we will set ROCQRUNTIMELIB:=ROCQLIB
.Note that set_coqlib
is used by some commands to process the -coqlib
option, as of now this sets both coqlib
and coqcorelib
; this part of the initialization will be eventually moved here.
The error handling policy of this module is simple for now: failing to initialize Rocq's env will produce a fatal error, and the application will exit with code 1. No error handling is thus required on the client yet.
module Path : sig ... end
This API is loosely inspired by Stdune.Path
, for now we keep it minimal, but at some point we may extend it.
val init : unit -> t
init ()
will initialize the Rocq environment.
Boot
module Env : sig ... end
Coq runtime enviroment API.
module Path : sig ... end
module Usage : sig ... end
module Util : sig ... end
Boot
module Env : sig ... end
Rocq runtime enviroment API.
module Path : sig ... end
module Usage : sig ... end
module Util : sig ... end
CErrors
This modules implements basic manipulations of errors for use throughout Coq's code.
val push : exn -> Exninfo.iexn
Anomaly
is used for system errors and UserError
for the user's ones.
val anomaly : ?loc:Loc.t -> ?info:Exninfo.info -> ?label:string -> Pp.t -> 'a
Raise an anomaly, with an optional location and an optional label identifying the anomaly.
Check whether a given exception is an anomaly. This is mostly provided for compatibility. Please avoid doing specific tricks with anomalies thanks to it. See rather noncritical
below.
exception UserError of Pp.t
Main error signaling exception. It carries a header plus a pretty printing doc
val user_err : ?loc:Loc.t -> ?info:Exninfo.info -> Pp.t -> 'a
Main error raising primitive. user_err ?loc pp
signals an error pp
with optional header and location loc
register_handler h
registers h
as a handler. When an expression is printed with print e
, it goes through all registered handles (the most recent first) until a handle deals with it.
Handles signal that they don't deal with some exception by returning None. Raising any other exception is forbidden and will result in an anomaly.
Exceptions that are considered anomalies should not be handled by registered handlers.
val register_handler : (exn -> Pp.t option) -> unit
val print : exn -> Pp.t
The standard exception printer
val iprint : Exninfo.iexn -> Pp.t
val print_no_report : exn -> Pp.t
Same as print
, except that the "Please report" part of an anomaly isn't printed (used in Ltac debugging).
val iprint_no_report : Exninfo.iexn -> Pp.t
"Critical" exceptions, such as anomalies or interruptions should not be caught and ignored by mistake by inner Coq functions by means of doing a "catch-all". They should be handled instead by the compiler layer which is in charge of coordinating the intepretation of Coq vernaculars.
Please, avoid exceptions catch-all! If you must do so, then use the form:
try my_comp ()
+CErrors (rocq-runtime.CErrors) Module CErrors
This modules implements basic manipulations of errors for use throughout Rocq's code.
Error handling
val push : exn -> Exninfo.iexn
Generic errors.
Anomaly
is used for system errors and UserError
for the user's ones.
val anomaly : ?loc:Loc.t -> ?info:Exninfo.info -> ?label:string -> Pp.t -> 'a
Raise an anomaly, with an optional location and an optional label identifying the anomaly.
Check whether a given exception is an anomaly. This is mostly provided for compatibility. Please avoid doing specific tricks with anomalies thanks to it. See rather noncritical
below.
exception UserError of Pp.t
Main error signaling exception. It carries a header plus a pretty printing doc
val user_err : ?loc:Loc.t -> ?info:Exninfo.info -> Pp.t -> 'a
Main error raising primitive. user_err ?loc pp
signals an error pp
with optional header and location loc
register_handler h
registers h
as a handler. When an expression is printed with print e
, it goes through all registered handles (the most recent first) until a handle deals with it.
Handles signal that they don't deal with some exception by returning None. Raising any other exception is forbidden and will result in an anomaly.
Exceptions that are considered anomalies should not be handled by registered handlers.
val register_handler : (exn -> Pp.t option) -> unit
val print : exn -> Pp.t
The standard exception printer
val iprint : Exninfo.iexn -> Pp.t
val print_no_report : exn -> Pp.t
Same as print
, except that the "Please report" part of an anomaly isn't printed (used in Ltac debugging).
val iprint_no_report : Exninfo.iexn -> Pp.t
"Critical" exceptions, such as anomalies or interruptions should not be caught and ignored by mistake by inner Rocq functions by means of doing a "catch-all". They should be handled instead by the compiler layer which is in charge of coordinating the intepretation of Rocq vernaculars.
Please, avoid exceptions catch-all! If you must do so, then use the form:
try my_comp ()
with exn when noncritical exn ->
my_handler
If you need to re-raise the excepction, you must work to preserve the backtrace and other important information:
try my_comp ()
with exn when noncritical exn ->
diff --git a/master/api/rocq-runtime/CLexer/index.html b/master/api/rocq-runtime/CLexer/index.html
index 4116a7f2b0..5b8c306fd3 100644
--- a/master/api/rocq-runtime/CLexer/index.html
+++ b/master/api/rocq-runtime/CLexer/index.html
@@ -1,7 +1,7 @@
CLexer (rocq-runtime.CLexer) Module CLexer
When one registers a keyword she can declare it starts a quotation. In particular using QUOTATION("name:") in a grammar rule declares "name:" as a keyword and the token QUOTATION is matched whenever the keyword is followed by an identifier or a parenthesized text. Eg
constr:x string:....
ltac:(....) ltac:....
The delimiter is made of 1 or more occurrences of the same parenthesis, eg ((.....)) or [[[....]]]
. The idea being that if the text happens to contain the closing delimiter, one can make the delimiter longer and avoid confusion (no escaping). Eg
string:[ .. ']' ..
]
Nesting the delimiter is allowed, eg ((..((...))..)) is OK.
Keywords don't need to end in ':'
val empty_keyword_state : keyword_state
val add_keyword : ?quotation:starts_quotation -> keyword_state -> string -> keyword_state
val is_keyword : keyword_state -> string -> bool
val keywords : keyword_state -> CString.Set.t
val add_keyword_tok : keyword_state -> 'c Tok.p -> keyword_state
val terminal : keyword_state -> string -> string Tok.p
When string is not an ident, returns a keyword.
val terminal_number : string -> NumTok.Unsigned.t Tok.p
Precondition: the input is a number (c.f. NumTok.t
)
after loc
Will advance a lexing location as the lexer does; this can be used to implement parsing resumption from a given position:
let loc = Procq.Parsable.loc pa |> after in
let str = Gramlib.Stream.of_string text in
-(* Stream.count being correct is critical for Coq's lexer *)
+(* Stream.count being correct is critical for Rocq's lexer *)
Gramlib.Stream.njunk loc.ep str;
let pa = Procq.Parsable.make ~loc str in
-(* ready to resume parsing *)
The lexer of Coq:
module Lexer : Gramlib.Plexing.S with type keyword_state = keyword_state and type te = Tok.t and type 'c pattern = 'c Tok.p
module Error : sig ... end
LexerDiff ensures that, ignoring white space, the concatenated tokens equal the input string. Specifically:
- for strings, return the enclosing quotes as tokens and treat the quoted value as if it was unquoted, possibly becoming multiple tokens.
- for comments, return the "(\*" (\ to be kind to syntax highlighters) as a token and treat the contents of the comment as if it was not in a comment, possibly becoming multiple tokens.
- return any unrecognized Ascii or UTF-8 character as a string.
module LexerDiff : Gramlib.Plexing.S with type keyword_state = keyword_state and type te = Tok.t and type 'c pattern = 'c Tok.p
\ No newline at end of file
+(* ready to resume parsing *)
The lexer of Rocq:
module Lexer : Gramlib.Plexing.S with type keyword_state = keyword_state and type te = Tok.t and type 'c pattern = 'c Tok.p
module Error : sig ... end
LexerDiff ensures that, ignoring white space, the concatenated tokens equal the input string. Specifically:
- for strings, return the enclosing quotes as tokens and treat the quoted value as if it was unquoted, possibly becoming multiple tokens.
- for comments, return the "(\*" (\ to be kind to syntax highlighters) as a token and treat the contents of the comment as if it was not in a comment, possibly becoming multiple tokens.
- return any unrecognized Ascii or UTF-8 character as a string.
module LexerDiff : Gramlib.Plexing.S with type keyword_state = keyword_state and type te = Tok.t and type 'c pattern = 'c Tok.p
\ No newline at end of file
diff --git a/master/api/rocq-runtime/CString/index.html b/master/api/rocq-runtime/CString/index.html
index 3bed7563ef..f464ecac9e 100644
--- a/master/api/rocq-runtime/CString/index.html
+++ b/master/api/rocq-runtime/CString/index.html
@@ -1,2 +1,2 @@
-CString (rocq-runtime.CString) Module CString
module type ExtS = sig ... end
include ExtS
We include the standard library
Equality on strings
Remove the eventual first surrounding simple quotes of a string.
Quote a string according to Coq conventions (i.e. doubling double quotes and surrounding by double quotes)
Unquote a quoted string according to Coq conventions (i.e. removing surrounding double quotes and undoubling double quotes); returns None
if not a quoted string
replace HTML reserved characters with escape sequences, e.g. `&` -> "&"
As index_from
, but takes a string instead of a char as pattern argument
As contains
, but takes a string instead of a char as pattern argument
conjugate_verb_to_be
returns "is" when n=1
and "are" otherwise
is_sub p s off
tests whether s
contains p
at offset off
.
Generic operations
*
module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t
Association lists with string
as keys
\ No newline at end of file
+CString (rocq-runtime.CString) Module CString
module type ExtS = sig ... end
include ExtS
We include the standard library
Equality on strings
Remove the eventual first surrounding simple quotes of a string.
Quote a string according to Rocq conventions (i.e. doubling double quotes and surrounding by double quotes)
Unquote a quoted string according to Rocq conventions (i.e. removing surrounding double quotes and undoubling double quotes); returns None
if not a quoted string
replace HTML reserved characters with escape sequences, e.g. `&` -> "&"
As index_from
, but takes a string instead of a char as pattern argument
As contains
, but takes a string instead of a char as pattern argument
conjugate_verb_to_be
returns "is" when n=1
and "are" otherwise
is_sub p s off
tests whether s
contains p
at offset off
.
Generic operations
*
module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t
Association lists with string
as keys
\ No newline at end of file
diff --git a/master/api/rocq-runtime/CString/module-type-ExtS/index.html b/master/api/rocq-runtime/CString/module-type-ExtS/index.html
index 9316d25302..8d06239059 100644
--- a/master/api/rocq-runtime/CString/module-type-ExtS/index.html
+++ b/master/api/rocq-runtime/CString/module-type-ExtS/index.html
@@ -1,2 +1,2 @@
-ExtS (rocq-runtime.CString.ExtS) Module type CString.ExtS
We include the standard library
Equality on strings
Remove the eventual first surrounding simple quotes of a string.
Quote a string according to Coq conventions (i.e. doubling double quotes and surrounding by double quotes)
Unquote a quoted string according to Coq conventions (i.e. removing surrounding double quotes and undoubling double quotes); returns None
if not a quoted string
replace HTML reserved characters with escape sequences, e.g. `&` -> "&"
As index_from
, but takes a string instead of a char as pattern argument
As contains
, but takes a string instead of a char as pattern argument
conjugate_verb_to_be
returns "is" when n=1
and "are" otherwise
is_sub p s off
tests whether s
contains p
at offset off
.
Generic operations
*
module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t
Association lists with string
as keys
\ No newline at end of file
+ExtS (rocq-runtime.CString.ExtS) Module type CString.ExtS
We include the standard library
Equality on strings
Remove the eventual first surrounding simple quotes of a string.
Quote a string according to Rocq conventions (i.e. doubling double quotes and surrounding by double quotes)
Unquote a quoted string according to Rocq conventions (i.e. removing surrounding double quotes and undoubling double quotes); returns None
if not a quoted string
replace HTML reserved characters with escape sequences, e.g. `&` -> "&"
As index_from
, but takes a string instead of a char as pattern argument
As contains
, but takes a string instead of a char as pattern argument
conjugate_verb_to_be
returns "is" when n=1
and "are" otherwise
is_sub p s off
tests whether s
contains p
at offset off
.
Generic operations
*
module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t
Association lists with string
as keys
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Constr/index.html b/master/api/rocq-runtime/Constr/index.html
index 45193da789..27e5b5b6cf 100644
--- a/master/api/rocq-runtime/Constr/index.html
+++ b/master/api/rocq-runtime/Constr/index.html
@@ -1,5 +1,5 @@
-Constr (rocq-runtime.Constr) Module Constr
This file defines the most important datatype of Coq, namely kernel terms, as well as a handful of generic manipulation functions.
type pconstant = Names.Constant.t UVars.puniverses
Simply type aliases
type pinductive = Names.inductive UVars.puniverses
type pconstructor = Names.constructor UVars.puniverses
type case_style =
| LetStyle
| IfStyle
| LetPatternStyle
| MatchStyle
| RegularStyle
(*infer printing form from number of constructor
*)
Case annotation
type case_info = {
ci_ind : Names.inductive;
ci_npar : int;
ci_cstr_ndecls : int array;
ci_cstr_nargs : int array;
ci_pp_info : case_printing;
}
The type of constructions
type constr = t
types
is the same as constr
but is intended to be used for documentation to indicate that such or such function specifically works with types (i.e. terms of type a sort). (Rem:plurial form since type
is a reserved ML keyword)
type types = constr
Functions for dealing with constr terms.
The following functions are intended to simplify and to uniform the manipulation of terms. Some of these functions may be overlapped with previous ones.
Term constructors.
val mkRel : int -> constr
Constructs a de Bruijn index (DB indices begin at 1)
val mkVar : Names.Id.t -> constr
Constructs a Variable
val mkArray : (UVars.Instance.t * constr array * constr * types) -> constr
Constructs an array
val mkMeta : metavariable -> constr
Constructs an patvar named "?n"
val mkEvar : existential -> constr
val mkSProp : types
val mkProp : types
val mkSet : types
val mkType : Univ.Universe.t -> types
This defines the strategy to use for verifiying a Cast
Constructs the term t1::t2
, i.e. the term t1 casted with the type t2 (that means t2 is declared as the type of t1).
type 'a binder_annot = ('a, Sorts.relevance) Context.pbinder_annot
val mkProd : (Names.Name.t binder_annot * types * types) -> types
Constructs the product (x:t1)t2
val mkLambda : (Names.Name.t binder_annot * types * constr) -> constr
Constructs the abstraction [x:t1]t2
val mkLetIn : (Names.Name.t binder_annot * constr * types * constr) -> constr
Constructs the product let x = t1 : t2 in t3
mkApp (f, [|t1; ...; tN|]
constructs the application (f t1 ... tn) .
val map_puniverses : ('a -> 'b) -> 'a UVars.puniverses -> 'b UVars.puniverses
val mkProj : (Names.Projection.t * Sorts.relevance * constr) -> constr
Constructs a projection application
Inductive types
val mkIndU : pinductive -> constr
Constructs the ith (co)inductive type of the block named kn
val mkConstructU : pconstructor -> constr
Constructs the jth constructor of the ith (co)inductive type of the block named kn.
val mkConstructUi : (pinductive * int) -> constr
val mkRef : Names.GlobRef.t UVars.puniverses -> constr
Make a constant, inductive, constructor or variable.
module UnsafeMonomorphic : sig ... end
Constructs a destructor of inductive type.
mkCase ci params p c ac
stand for match c
as x
in I args
return p
with ac
presented as describe in ci
.
p
structure is args x |- "return clause"
ac
ith element is ith constructor case presented as construct_args |- case_term
type ('constr, 'r) pcase_branch = (Names.Name.t, 'r) Context.pbinder_annot array * 'constr
Names bound by matching the constructor for this branch.
type ('types, 'r) pcase_return = ((Names.Name.t, 'r) Context.pbinder_annot array * 'types) * 'r
Names of the indices + name of self
type ('constr, 'types, 'univs, 'r) pcase = case_info * 'univs * 'constr array * ('types, 'r) pcase_return * 'constr pcase_invert * 'constr * ('constr, 'r) pcase_branch array
type case_invert = constr pcase_invert
type case_return = (types, Sorts.relevance) pcase_return
type case_branch = (constr, Sorts.relevance) pcase_branch
type case = (constr, types, UVars.Instance.t, Sorts.relevance) pcase
type ('constr, 'types, 'r) prec_declaration = (Names.Name.t, 'r) Context.pbinder_annot array * 'types array * 'constr array
If recindxs = [|i1,...in|]
funnames = [|f1,.....fn|]
typarray = [|t1,...tn|]
bodies = [|b1,.....bn|]
then mkFix ((recindxs,i), funnames, typarray, bodies)
constructs the $
i $
th function of the block (counting from 0)
Fixpoint f1 [ctx1] = b1
+Constr (rocq-runtime.Constr) Module Constr
This file defines the most important datatype of Rocq, namely kernel terms, as well as a handful of generic manipulation functions.
type pconstant = Names.Constant.t UVars.puniverses
Simply type aliases
type pinductive = Names.inductive UVars.puniverses
type pconstructor = Names.constructor UVars.puniverses
type case_style =
| LetStyle
| IfStyle
| LetPatternStyle
| MatchStyle
| RegularStyle
(*infer printing form from number of constructor
*)
Case annotation
type case_info = {
ci_ind : Names.inductive;
ci_npar : int;
ci_cstr_ndecls : int array;
ci_cstr_nargs : int array;
ci_pp_info : case_printing;
}
The type of constructions
type constr = t
types
is the same as constr
but is intended to be used for documentation to indicate that such or such function specifically works with types (i.e. terms of type a sort). (Rem:plurial form since type
is a reserved ML keyword)
type types = constr
Functions for dealing with constr terms.
The following functions are intended to simplify and to uniform the manipulation of terms. Some of these functions may be overlapped with previous ones.
Term constructors.
val mkRel : int -> constr
Constructs a de Bruijn index (DB indices begin at 1)
val mkVar : Names.Id.t -> constr
Constructs a Variable
val mkArray : (UVars.Instance.t * constr array * constr * types) -> constr
Constructs an array
val mkMeta : metavariable -> constr
Constructs an patvar named "?n"
val mkEvar : existential -> constr
val mkSProp : types
val mkProp : types
val mkSet : types
val mkType : Univ.Universe.t -> types
This defines the strategy to use for verifiying a Cast
Constructs the term t1::t2
, i.e. the term t1 casted with the type t2 (that means t2 is declared as the type of t1).
type 'a binder_annot = ('a, Sorts.relevance) Context.pbinder_annot
val mkProd : (Names.Name.t binder_annot * types * types) -> types
Constructs the product (x:t1)t2
val mkLambda : (Names.Name.t binder_annot * types * constr) -> constr
Constructs the abstraction [x:t1]t2
val mkLetIn : (Names.Name.t binder_annot * constr * types * constr) -> constr
Constructs the product let x = t1 : t2 in t3
mkApp (f, [|t1; ...; tN|]
constructs the application (f t1 ... tn) .
val map_puniverses : ('a -> 'b) -> 'a UVars.puniverses -> 'b UVars.puniverses
val mkProj : (Names.Projection.t * Sorts.relevance * constr) -> constr
Constructs a projection application
Inductive types
val mkIndU : pinductive -> constr
Constructs the ith (co)inductive type of the block named kn
val mkConstructU : pconstructor -> constr
Constructs the jth constructor of the ith (co)inductive type of the block named kn.
val mkConstructUi : (pinductive * int) -> constr
val mkRef : Names.GlobRef.t UVars.puniverses -> constr
Make a constant, inductive, constructor or variable.
module UnsafeMonomorphic : sig ... end
Constructs a destructor of inductive type.
mkCase ci params p c ac
stand for match c
as x
in I args
return p
with ac
presented as describe in ci
.
p
structure is args x |- "return clause"
ac
ith element is ith constructor case presented as construct_args |- case_term
type ('constr, 'r) pcase_branch = (Names.Name.t, 'r) Context.pbinder_annot array * 'constr
Names bound by matching the constructor for this branch.
type ('types, 'r) pcase_return = ((Names.Name.t, 'r) Context.pbinder_annot array * 'types) * 'r
Names of the indices + name of self
type ('constr, 'types, 'univs, 'r) pcase = case_info * 'univs * 'constr array * ('types, 'r) pcase_return * 'constr pcase_invert * 'constr * ('constr, 'r) pcase_branch array
type case_invert = constr pcase_invert
type case_return = (types, Sorts.relevance) pcase_return
type case_branch = (constr, Sorts.relevance) pcase_branch
type case = (constr, types, UVars.Instance.t, Sorts.relevance) pcase
type ('constr, 'types, 'r) prec_declaration = (Names.Name.t, 'r) Context.pbinder_annot array * 'types array * 'constr array
If recindxs = [|i1,...in|]
funnames = [|f1,.....fn|]
typarray = [|t1,...tn|]
bodies = [|b1,.....bn|]
then mkFix ((recindxs,i), funnames, typarray, bodies)
constructs the $
i $
th function of the block (counting from 0)
Fixpoint f1 [ctx1] = b1
with f2 [ctx2] = b2
...
with fn [ctxn] = bn.
where the length of the $
j $
th context is $
ij $
.
type ('constr, 'types, 'r) pfixpoint = (int array * int) * ('constr, 'types, 'r) prec_declaration
The array of int
's tells for each component of the array of mutual fixpoints the number of lambdas to skip before finding the recursive argument (e.g., value is 2 in "fix f (x:A) (y:=t) (z:B) (v:=u) (w:I) struct w
"), telling to skip x and z and that w is the recursive argument); The second component int
tells which component of the block is returned
type ('constr, 'types, 'r) pcofixpoint = int * ('constr, 'types, 'r) prec_declaration
The component int
tells which component of the block of cofixpoint is returned
type rec_declaration = (constr, types, Sorts.relevance) prec_declaration
type fixpoint = (constr, types, Sorts.relevance) pfixpoint
type cofixpoint = (constr, types, Sorts.relevance) pcofixpoint
If funnames = [|f1,.....fn|]
typarray = [|t1,...tn|]
bodies = [b1,.....bn]
then mkCoFix (i, (funnames, typarray, bodies))
constructs the ith function of the block
CoFixpoint f1 = b1
diff --git a/master/api/rocq-runtime/Control/index.html b/master/api/rocq-runtime/Control/index.html
index 10a8e06704..2482a18062 100644
--- a/master/api/rocq-runtime/Control/index.html
+++ b/master/api/rocq-runtime/Control/index.html
@@ -1,2 +1,2 @@
-Control (rocq-runtime.Control) Module Control
Global control of Coq.
Coq interruption: set the following boolean reference to interrupt Coq (it eventually raises Break
, simulating a Ctrl-C)
Use this function as a potential yield function. If interrupt
has been set, il will raise Sys.Break
.
timeout n f x
tries to compute Some (f x)
, and if it fails to do so before n
seconds, returns None
instead.
Set a particular timeout function; warning, this is an internal API and it is scheduled to go away.
val set_timeout : timeout -> unit
protect_sigalrm f x
computes f x
, but if SIGALRM is received during that computation, the signal handler is executed only once the computation is terminated. Otherwise said, it makes the execution of f
atomic w.r.t. handling of SIGALRM.
This is useful for example to prevent the implementation of `Timeout` to interrupt I/O routines, generating ill-formed output.
\ No newline at end of file
+Control (rocq-runtime.Control) Module Control
Global control of Rocq.
Rocq interruption: set the following boolean reference to interrupt Rocq (it eventually raises Break
, simulating a Ctrl-C)
Use this function as a potential yield function. If interrupt
has been set, il will raise Sys.Break
.
timeout n f x
tries to compute Some (f x)
, and if it fails to do so before n
seconds, returns None
instead.
Set a particular timeout function; warning, this is an internal API and it is scheduled to go away.
val set_timeout : timeout -> unit
protect_sigalrm f x
computes f x
, but if SIGALRM is received during that computation, the signal handler is executed only once the computation is terminated. Otherwise said, it makes the execution of f
atomic w.r.t. handling of SIGALRM.
This is useful for example to prevent the implementation of `Timeout` to interrupt I/O routines, generating ill-formed output.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Coqloadpath/index.html b/master/api/rocq-runtime/Coqloadpath/index.html
index 3936f0c3f3..2d4a362932 100644
--- a/master/api/rocq-runtime/Coqloadpath/index.html
+++ b/master/api/rocq-runtime/Coqloadpath/index.html
@@ -1,2 +1,2 @@
-Coqloadpath (rocq-runtime.Coqloadpath) Module Coqloadpath
val init_load_path : coqenv:Boot.Env.t -> CUnix.physical_path list * Loadpath.vo_path list
Standard LoadPath for Coq user libraries; in particular it includes (in-order) Coq's standard library, Coq's user-contrib
folder, and directories specified in ROCQPATH
and XDG_DIRS
\ No newline at end of file
+Coqloadpath (rocq-runtime.Coqloadpath) Module Coqloadpath
val init_load_path : coqenv:Boot.Env.t -> CUnix.physical_path list * Loadpath.vo_path list
Standard LoadPath for Rocq user libraries; in particular it includes (in-order) Rocq's standard library, Rocq's user-contrib
folder, and directories specified in ROCQPATH
and XDG_DIRS
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Coqloop/index.html b/master/api/rocq-runtime/Coqloop/index.html
index e51951e702..cfef9daddc 100644
--- a/master/api/rocq-runtime/Coqloop/index.html
+++ b/master/api/rocq-runtime/Coqloop/index.html
@@ -1,2 +1,2 @@
-Coqloop (rocq-runtime.Coqloop) Module Coqloop
The Coq toplevel loop.
A buffer for the character read from a channel. We store the command * entered to be able to report errors without pretty-printing.
The input buffer of stdin.
val top_buffer : input_buffer
val coqloop_feed : Feedback.feedback -> unit
Toplevel feedback printer.
val ml_toplevel_state : Vernac.State.t option Stdlib.ref
State tracked while in the OCaml toplevel
Whether the "include" file was already run at least once
val loop : state:Vernac.State.t -> Vernac.State.t
The main loop
val run : opts:Coqargs.t -> state:Vernac.State.t -> unit
Main entry point of Coq: read and execute vernac commands.
\ No newline at end of file
+Coqloop (rocq-runtime.Coqloop) Module Coqloop
The Rocq toplevel loop.
A buffer for the character read from a channel. We store the command * entered to be able to report errors without pretty-printing.
The input buffer of stdin.
val top_buffer : input_buffer
val coqloop_feed : Feedback.feedback -> unit
Toplevel feedback printer.
val ml_toplevel_state : Vernac.State.t option Stdlib.ref
State tracked while in the OCaml toplevel
Whether the "include" file was already run at least once
val loop : state:Vernac.State.t -> Vernac.State.t
The main loop
val run : opts:Coqargs.t -> state:Vernac.State.t -> unit
Main entry point of Rocq: read and execute vernac commands.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Coqtop/index.html b/master/api/rocq-runtime/Coqtop/index.html
index 28dad46d4e..99430c19b5 100644
--- a/master/api/rocq-runtime/Coqtop/index.html
+++ b/master/api/rocq-runtime/Coqtop/index.html
@@ -1,2 +1,2 @@
-Coqtop (rocq-runtime.Coqtop) Module Coqtop
Definition of custom toplevels. init_extra
is used to do custom initialization run
launches a custom toplevel.
type ('a, 'b) custom_toplevel = {
parse_extra : Coqargs.t -> string list -> 'a * string list;
usage : Boot.Usage.specific_usage;
init_extra : 'a -> Coqargs.injection_command list -> opts:Coqargs.t -> 'b;
initial_args : Coqargs.t;
run : 'a -> opts:Coqargs.t -> 'b -> unit;
}
val start_coq : ('a * Stm.AsyncOpts.stm_opt, 'b) custom_toplevel -> string list -> unit
The generic Coq main module. start custom
will parse the command line, print the banner, initialize the load path, load the input state, load the files given on the command line, load the resource file, produce the output state if any, and finally will launch custom.run
.
The string list
argument is typically List.tl (Array.to_list Sys.argv)
.
Prepare state for interactive loop
val init_toploop : Coqargs.t -> Stm.AsyncOpts.stm_opt -> Coqargs.injection_command list -> Vernac.State.t
The specific characterization of the coqtop_toplevel
val coqtop_toplevel : (toplevel_options * Stm.AsyncOpts.stm_opt, Vernac.State.t) custom_toplevel
val ltac_debug_answer : DebugHook.Answer.t -> unit
val ltac_debug_parse : unit -> DebugHook.Action.t
\ No newline at end of file
+Coqtop (rocq-runtime.Coqtop) Module Coqtop
Definition of custom toplevels. init_extra
is used to do custom initialization run
launches a custom toplevel.
type ('a, 'b) custom_toplevel = {
parse_extra : Coqargs.t -> string list -> 'a * string list;
usage : Boot.Usage.specific_usage;
init_extra : 'a -> Coqargs.injection_command list -> opts:Coqargs.t -> 'b;
initial_args : Coqargs.t;
run : 'a -> opts:Coqargs.t -> 'b -> unit;
}
val start_coq : ('a * Stm.AsyncOpts.stm_opt, 'b) custom_toplevel -> string list -> unit
The generic Rocq main module. start custom
will parse the command line, print the banner, initialize the load path, load the input state, load the files given on the command line, load the resource file, produce the output state if any, and finally will launch custom.run
.
The string list
argument is typically List.tl (Array.to_list Sys.argv)
.
Prepare state for interactive loop
val init_toploop : Coqargs.t -> Stm.AsyncOpts.stm_opt -> Coqargs.injection_command list -> Vernac.State.t
The specific characterization of the coqtop_toplevel
val coqtop_toplevel : (toplevel_options * Stm.AsyncOpts.stm_opt, Vernac.State.t) custom_toplevel
val ltac_debug_answer : DebugHook.Answer.t -> unit
val ltac_debug_parse : unit -> DebugHook.Action.t
\ No newline at end of file
diff --git a/master/api/rocq-runtime/DebugHook/Action/index.html b/master/api/rocq-runtime/DebugHook/Action/index.html
index 96f7404b69..98425fca18 100644
--- a/master/api/rocq-runtime/DebugHook/Action/index.html
+++ b/master/api/rocq-runtime/DebugHook/Action/index.html
@@ -1,2 +1,2 @@
-Action (rocq-runtime.DebugHook.Action) Module DebugHook.Action
The debugger receives requests by calling read_cmd to get Actions. Each Action may return one or more responses as Answers by calling submit_answer. Many of them return a single Answer or no Answer, but a single step may generate any number of Outputs.
Debugger initialization has the following steps: -> Coq sends Answer.Init <- IDE sends zero or more initialization requests such as Action.UpdBpts <- IDE sends Action.Configd
Stopping in the debugger generates Answer.Prompt and Answer.Goal messages, at which point the IDE will typically call GetStack and GetVars. When the IDE sends with StepIn..Continue, the debugger will execute more code. At that point, Coq won't try to read more messages from the IDE until the debugger stops again or exits.
val parse : string -> (t, string) Stdlib.result
\ No newline at end of file
+Action (rocq-runtime.DebugHook.Action) Module DebugHook.Action
The debugger receives requests by calling read_cmd to get Actions. Each Action may return one or more responses as Answers by calling submit_answer. Many of them return a single Answer or no Answer, but a single step may generate any number of Outputs.
Debugger initialization has the following steps: -> Rocq sends Answer.Init <- IDE sends zero or more initialization requests such as Action.UpdBpts <- IDE sends Action.Configd
Stopping in the debugger generates Answer.Prompt and Answer.Goal messages, at which point the IDE will typically call GetStack and GetVars. When the IDE sends with StepIn..Continue, the debugger will execute more code. At that point, Rocq won't try to read more messages from the IDE until the debugger stops again or exits.
val parse : string -> (t, string) Stdlib.result
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Declare/index.html b/master/api/rocq-runtime/Declare/index.html
index c8674ca860..5f0a721550 100644
--- a/master/api/rocq-runtime/Declare/index.html
+++ b/master/api/rocq-runtime/Declare/index.html
@@ -6,5 +6,5 @@
impargs:Impargs.manual_implicits -> uctx:UState.t -> proof_entry -> Names.GlobRef.t
XXX: This is an internal, low-level API and could become scheduled for removal from the public API, use higher-level declare APIs instead
type variable_declaration =
| SectionLocalDef of {
clearbody : bool;
entry : proof_entry;
}
| SectionLocalAssum of {
typ : Constr.types;
impl : Glob_term.binding_kind;
univs : UState.named_universes_entry;
}
Declaration of section variables and local definitions
val declare_variable : name:Names.variable -> kind:Decls.logical_kind -> typing_flags:Declarations.typing_flags option -> variable_declaration -> unit
Declaration of local constructions (Variable/Hypothesis/Local)
type constant_entry =
| DefinitionEntry of proof_entry
| ParameterEntry of parameter_entry
| PrimitiveEntry of primitive_entry
| SymbolEntry of symbol_entry
Declaration of global constructions i.e. Definition/Theorem/Axiom/Parameter/...
XXX: This is an internal, low-level API and could become scheduled for removal from the public API, use higher-level declare APIs instead
val prepare_parameter : poly:bool -> udecl:UState.universe_decl -> types:EConstr.types -> Evd.evar_map -> Evd.evar_map * parameter_entry
val declare_constant : ?loc:Loc.t -> ?local:Locality.import_status -> name:Names.Id.t -> kind:Decls.logical_kind -> ?typing_flags:Declarations.typing_flags ->
?user_warns:Globnames.extended_global_reference UserWarn.with_qf -> constant_entry -> Names.Constant.t
declare_constant id cd
declares a global declaration (constant/parameter) with name id
in the current section; it returns the full path of the declaration
XXX: This is an internal, low-level API and could become scheduled for removal from the public API, use higher-level declare APIs instead
val declare_definition_full : info:Info.t -> cinfo:EConstr.t option CInfo.t -> opaque:bool -> body:EConstr.t ->
?using:Vernacexpr.section_subset_expr -> Evd.evar_map -> Names.GlobRef.t * Univ.ContextSet.t
Like declare_definition
but also returns the universes and universe constraints added to the global environment
Declaration messages, for internal use
val definition_message : Names.Id.t -> unit
XXX: Scheduled for removal from public API, do not use
val assumption_message : Names.Id.t -> unit
val fixpoint_message : int array option -> Names.Id.t list -> unit
val check_exists : Names.Id.t -> unit
val build_by_tactic : Environ.env -> uctx:UState.t -> poly:bool -> typ:EConstr.types ->
-unit Proofview.tactic -> Constr.constr * Constr.types option * UState.named_universes_entry * bool * UState.t
Semantics of this function is a bit dubious, use with care
Program mode API
Coq's Program mode support. This mode extends declarations of constants and fixpoints with Program Definition
and Program
+unit Proofview.tactic -> Constr.constr * Constr.types option * UState.named_universes_entry * bool * UState.t
Semantics of this function is a bit dubious, use with care
Program mode API
Rocq's Program mode support. This mode extends declarations of constants and fixpoints with Program Definition
and Program
Fixpoint
to support incremental construction of terms using delayed proofs, called "obligations"
The mode also provides facilities for managing and auto-solving sets of obligations.
The basic code flow of programs/obligations is as follows:
add_definition
/ add_mutual_definitions
are called from the respective Program
vernacular command interpretation; at this point the only extra work we do is to prepare the new definition d
using RetrieveObl
, which consists in turning unsolved evars into obligations. d
is not sent to the kernel yet, as it is not complete and cannot be typchecked, but saved in a special data-structure. Auto-solving of obligations is tried at this stage (see below)
next_obligation
will retrieve the next obligation (RetrieveObl
sorts them by topological order) and will try to solve it. When all obligations are solved, the original constant d
is grounded and sent to the kernel for addition to the global environment. Auto-solving of obligations is also triggered on obligation completion.
Solving of obligations: Solved obligations are stored as regular global declarations in the global environment, usually with name constant_obligation_number
where constant
is the original constant
and number
is the corresponding (internal) number.
Solving an obligation can trigger a bit of a complex cascaded callback path; closing an obligation can indeed allow all other obligations to be closed, which in turn may trigged the declaration of the original constant. Care must be taken, as this can modify Global.env
in arbitrarily ways. Current code takes some care to refresh the env
in the proper boundaries, but the invariants remain delicate.
Saving of obligations: as open obligations use the regular proof mode, a `Qed` will call `Lemmas.save_lemma` first. For this reason obligations code is split in two: this file, Obligations
, taking care of the top-level vernac commands, and Declare
, which is called by `Lemmas` to close an obligation proof and eventually to declare the top-level Program
ed constant.
module Obls : sig ... end
val is_local_constant : Names.Constant.t -> bool
For internal support, do not use
module Internal : sig ... end
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Egramrocq/index.html b/master/api/rocq-runtime/Egramrocq/index.html
index 695e35e07d..4e36903728 100644
--- a/master/api/rocq-runtime/Egramrocq/index.html
+++ b/master/api/rocq-runtime/Egramrocq/index.html
@@ -1,2 +1,2 @@
-Egramrocq (rocq-runtime.Egramrocq) Module Egramrocq
Mapping of grammar productions to camlp5 actions
This is the part specific to Coq-level Notation and Tactic Notation. For the ML-level tactic and vernac extensions, see Egramml.
Adding notations
val extend_constr_grammar : Notation_gram.one_notation_grammar -> unit
Add a term notation rule to the parsing system.
\ No newline at end of file
+Egramrocq (rocq-runtime.Egramrocq) Module Egramrocq
Mapping of grammar productions to camlp5 actions
This is the part specific to Rocq-level Notation and Tactic Notation. For the ML-level tactic and vernac extensions, see Egramml.
Adding notations
val extend_constr_grammar : Notation_gram.one_notation_grammar -> unit
Add a term notation rule to the parsing system.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Envars/index.html b/master/api/rocq-runtime/Envars/index.html
index 4e89b0a48d..035fd5669b 100644
--- a/master/api/rocq-runtime/Envars/index.html
+++ b/master/api/rocq-runtime/Envars/index.html
@@ -1,2 +1,2 @@
-Envars (rocq-runtime.Envars) Module Envars
This file provides a high-level interface to the environment variables needed by Coq to run (such as coqlib). The values of these variables may come from different sources (shell environment variables, command line options, options set at the time Coq was build).
getenv_rocq name
returns the value of "ROCQ$name" if it exists, otherwise the value of "COQ$name" if it exists and warns that it is deprecated, otherwise None
.
expand_path_macros warn s
substitutes environment variables in a string by their values. This function also takes care of substituting path of the form '~X' by an absolute path. Use warn
as a message displayer.
home warn
returns the root of the user directory, depending on the OS. This information is usually stored in the $HOME environment variable on POSIX shells. If no such variable exists, then other common names are tried (HOMEDRIVE, HOMEPATH, USERPROFILE). If all of them fail, warn
is called.
coqroot
is the path to coqbin
. The following value only makes sense when executables are running from source tree (e.g. during build or in local mode).
coqpath
is the standard path to coq. Notice that coqpath is stored in reverse order, since that is the order it gets added to the search path.
Coq tries to honor the XDG Base Directory Specification to access the user's configuration files.
see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
\ No newline at end of file
+Envars (rocq-runtime.Envars) Module Envars
This file provides a high-level interface to the environment variables needed by Rocq to run (such as coqlib). The values of these variables may come from different sources (shell environment variables, command line options, options set at the time Rocq was build).
getenv_rocq name
returns the value of "ROCQ$name" if it exists, otherwise the value of "COQ$name" if it exists and warns that it is deprecated, otherwise None
.
expand_path_macros warn s
substitutes environment variables in a string by their values. This function also takes care of substituting path of the form '~X' by an absolute path. Use warn
as a message displayer.
home warn
returns the root of the user directory, depending on the OS. This information is usually stored in the $HOME environment variable on POSIX shells. If no such variable exists, then other common names are tried (HOMEDRIVE, HOMEPATH, USERPROFILE). If all of them fail, warn
is called.
coqroot
is the path to coqbin
. The following value only makes sense when executables are running from source tree (e.g. during build or in local mode).
coqpath
is the standard path to coq. Notice that coqpath is stored in reverse order, since that is the order it gets added to the search path.
Rocq tries to honor the XDG Base Directory Specification to access the user's configuration files.
see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Evd/index.html b/master/api/rocq-runtime/Evd/index.html
index 4450106119..c27b775f38 100644
--- a/master/api/rocq-runtime/Evd/index.html
+++ b/master/api/rocq-runtime/Evd/index.html
@@ -1,3 +1,3 @@
-Evd (rocq-runtime.Evd) Module Evd
This file defines the pervasive unification state used everywhere in Coq tactic engine. It is very low-level and most of the functions exported here are irrelevant to the standard API user. Consider using Evarutil
or Proofview
instead.
A unification state (of type evar_map
) is primarily a finite mapping from existential variables to records containing the type of the evar (evar_concl
), the context under which it was introduced (evar_hyps
) and its definition (evar_body
). evar_extra
is used to add any other kind of information.
It also contains conversion constraints, debugging information and information about meta variables.
type etypes = econstr
Existential variables and unification states
Evar filters
module Filter : sig ... end
module Abstraction : sig ... end
Evar infos
Projections from evar infos
val evar_context : 'a evar_info -> (econstr, etypes, erelevance) Context.Named.pt
Context of the evar.
val evar_hyps : 'a evar_info -> Environ.named_context_val
Context of the evar.
List of possible solutions when known that it is a finite list
val evar_source : 'a evar_info -> Evar_kinds.t Loc.located
Boolean mask over evar_hyps
. Should have the same length. When filtered out, the corresponding variable is not allowed to occur in the solution
val evar_abstract_arguments : undefined evar_info -> Abstraction.t
Boolean information over evar_hyps
, telling if an hypothesis instance can be imitated or should stay abstract in HO unification problems and inversion (see second_order_matching_with_args
for its use).
val evar_relevance : 'a evar_info -> erelevance
Relevance of the conclusion of the evar.
Derived projections
val evar_filtered_context : 'a evar_info -> (econstr, etypes, erelevance) Context.Named.pt
val evar_filtered_hyps : 'a evar_info -> Environ.named_context_val
val evar_env : Environ.env -> 'a evar_info -> Environ.env
val evar_filtered_env : Environ.env -> 'a evar_info -> Environ.env
Unification state
*
Type of unification state. Essentially a bunch of state-passing data needed to handle incremental term construction.
val empty : evar_map
The empty evar map.
val from_env : ?binders:Names.lident list -> Environ.env -> evar_map
The empty evar map with given universe context, taking its initial universes from env, possibly with initial universe binders. This is the main entry point at the beginning of the process of interpreting a declaration (e.g. before entering the interpretation of a Theorem statement).
The empty evar map with given universe context. This is the main entry point when resuming from a already interpreted declaration (e.g. after having interpreted a Theorem statement and preparing to open a goal).
val is_empty : evar_map -> bool
Whether an evarmap is empty.
val has_undefined : evar_map -> bool
has_undefined sigma
is true
if and only if there are uninstantiated evars in sigma
.
val has_given_up : evar_map -> bool
has_given_up sigma
is true
if and only if there are given up evars in sigma
.
val has_shelved : evar_map -> bool
has_shelved sigma
is true
if and only if there are shelved evars in sigma
.
val new_pure_evar : ?src:Evar_kinds.t Loc.located -> ?filter:Filter.t -> ?relevance:erelevance -> ?abstract_arguments:Abstraction.t ->
+Evd (rocq-runtime.Evd) Module Evd
This file defines the pervasive unification state used everywhere in Rocq tactic engine. It is very low-level and most of the functions exported here are irrelevant to the standard API user. Consider using Evarutil
or Proofview
instead.
A unification state (of type evar_map
) is primarily a finite mapping from existential variables to records containing the type of the evar (evar_concl
), the context under which it was introduced (evar_hyps
) and its definition (evar_body
). evar_extra
is used to add any other kind of information.
It also contains conversion constraints, debugging information and information about meta variables.
type etypes = econstr
Existential variables and unification states
Evar filters
module Filter : sig ... end
module Abstraction : sig ... end
Evar infos
Projections from evar infos
val evar_context : 'a evar_info -> (econstr, etypes, erelevance) Context.Named.pt
Context of the evar.
val evar_hyps : 'a evar_info -> Environ.named_context_val
Context of the evar.
List of possible solutions when known that it is a finite list
val evar_source : 'a evar_info -> Evar_kinds.t Loc.located
Boolean mask over evar_hyps
. Should have the same length. When filtered out, the corresponding variable is not allowed to occur in the solution
val evar_abstract_arguments : undefined evar_info -> Abstraction.t
Boolean information over evar_hyps
, telling if an hypothesis instance can be imitated or should stay abstract in HO unification problems and inversion (see second_order_matching_with_args
for its use).
val evar_relevance : 'a evar_info -> erelevance
Relevance of the conclusion of the evar.
Derived projections
val evar_filtered_context : 'a evar_info -> (econstr, etypes, erelevance) Context.Named.pt
val evar_filtered_hyps : 'a evar_info -> Environ.named_context_val
val evar_env : Environ.env -> 'a evar_info -> Environ.env
val evar_filtered_env : Environ.env -> 'a evar_info -> Environ.env
Unification state
*
Type of unification state. Essentially a bunch of state-passing data needed to handle incremental term construction.
val empty : evar_map
The empty evar map.
val from_env : ?binders:Names.lident list -> Environ.env -> evar_map
The empty evar map with given universe context, taking its initial universes from env, possibly with initial universe binders. This is the main entry point at the beginning of the process of interpreting a declaration (e.g. before entering the interpretation of a Theorem statement).
The empty evar map with given universe context. This is the main entry point when resuming from a already interpreted declaration (e.g. after having interpreted a Theorem statement and preparing to open a goal).
val is_empty : evar_map -> bool
Whether an evarmap is empty.
val has_undefined : evar_map -> bool
has_undefined sigma
is true
if and only if there are uninstantiated evars in sigma
.
val has_given_up : evar_map -> bool
has_given_up sigma
is true
if and only if there are given up evars in sigma
.
val has_shelved : evar_map -> bool
has_shelved sigma
is true
if and only if there are shelved evars in sigma
.
val new_pure_evar : ?src:Evar_kinds.t Loc.located -> ?filter:Filter.t -> ?relevance:erelevance -> ?abstract_arguments:Abstraction.t ->
?candidates:econstr list -> ?name:Names.Id.t -> ?typeclass_candidate:bool -> Environ.named_context_val -> evar_map -> etypes -> evar_map * Evar.t
Low-level interface to create an evar.
add sigma ev info
adds ev
with evar info info
in sigma. Precondition: ev must not preexist in sigma
.
val find : evar_map -> Evar.t -> any_evar_info
Recover the data associated to an evar.
Same as find
but restricted to undefined evars. For efficiency reasons.
Remove the body of an evar. Only there for backward compat, do not use.
val fold : (Evar.t -> any_evar_info -> 'a -> 'a) -> evar_map -> 'a -> 'a
Apply a function to all evars and their associated info in an evarmap.
Same as fold
, but restricted to undefined evars. For efficiency reasons.
Apply the given function to all evars in the map. Beware: this function expects the argument function to preserve the kind of evar_body
, i.e. it must send Evar_empty
to Evar_empty
and Evar_defined c
to some Evar_defined c'
.
val raw_map_undefined : (Evar.t -> undefined evar_info -> undefined evar_info) -> evar_map -> evar_map
Same as raw_map
, but restricted to undefined evars. For efficiency reasons.
Set the body of an evar to the given constr. It is expected that:
- The evar is already present in the evarmap.
- The evar is not defined in the evarmap yet.
- All the evars present in the constr should be present in the evar map.
Same as define ev body evd
, except the body must be an existential variable ev'
. This additionally makes ev'
inherit the obligation
and typeclass
flags of ev
.
Map the function on all terms in the evar map.
val add_constraints : evar_map -> Univ.Constraints.t -> evar_map
Add universe constraints in an evar map.
val add_quconstraints : evar_map -> Sorts.QUConstraints.t -> evar_map
val undefined_map : evar_map -> undefined evar_info Evar.Map.t
Access the undefined evar mapping directly.
val defined_map : evar_map -> defined evar_info Evar.Map.t
Access the defined evar mapping directly.
Drop the defined evars in the second evar map which did not exist in the first.
val is_maybe_typeclass_hook : (evar_map -> Constr.constr -> bool) Hook.t
Instantiating partial terms
val existential_value : evar_map -> econstr Constr.pexistential -> econstr
existential_value sigma ev
raises NotInstantiatedEvar
if ev
has no body and Not_found
if it does not exist in sigma
val existential_type_opt : evar_map -> econstr Constr.pexistential -> etypes option
val existential_type : evar_map -> econstr Constr.pexistential -> etypes
val existential_opt_value : evar_map -> econstr Constr.pexistential -> econstr option
Same as existential_value
but returns an option instead of raising an exception.
val existential_opt_value0 : evar_map -> Constr.existential -> Constr.constr option
val evar_handler : evar_map -> CClosure.evar_handler
val existential_expand_value0 : evar_map -> Constr.existential -> Constr.constr CClosure.evar_expansion
val expand_existential : evar_map -> econstr Constr.pexistential -> econstr list
Returns the full evar instance with implicit default variables turned into explicit Var
nodes.
val expand_existential0 : evar_map -> Constr.constr Constr.pexistential -> Constr.constr list
Misc
val restrict : Evar.t -> Filter.t -> ?candidates:econstr list -> ?src:Evar_kinds.t Loc.located -> evar_map -> evar_map * Evar.t
Restrict an undefined evar into a new evar by filtering context and possibly limiting the instances to a set of candidates (candidates are filtered according to the filter)
val update_source : evar_map -> Evar.t -> Evar_kinds.t Loc.located -> evar_map
To update the source a posteriori, e.g. when an evar type of another evar has to refer to this other evar, with a mutual dependency
val get_aliased_evars : evar_map -> Evar.t Evar.Map.t
The map of aliased evars
Tell if an evar has been aliased to another evar, and if yes, which
If any, the evar with highest id with a non-empty list of candidates.
Mark the given set of evars as available for resolution. (The previous marked set is replaced, not added to.)
Precondition: they should indeed refer to undefined typeclass evars.
val get_typeclass_evars : evar_map -> Evar.Set.t
The set of undefined typeclass evars
Is the evar declared resolvable for typeclass resolution
val get_obligation_evars : evar_map -> Evar.Set.t
The set of obligation evars
val get_impossible_case_evars : evar_map -> Evar.Set.t
Set of undefined evars with ImpossibleCase evar source.
Change the type of an undefined evar to a new type assumed to be a subtype of its current type; subtyping must be ensured by caller
val evar_ident : Evar.t -> evar_map -> Names.Id.t option
val rename : Evar.t -> Names.Id.t -> evar_map -> evar_map
val evar_key : Names.Id.t -> evar_map -> Evar.t
val evar_names : evar_map -> Nameops.Fresh.t
val dependent_evar_ident : Evar.t -> evar_map -> Names.Id.t
Side-effects
type side_effects = {
seff_private : Safe_typing.private_constants;
seff_roles : side_effect_role Names.Cmap.t;
}
val empty_side_effects : side_effects
val concat_side_effects : side_effects -> side_effects -> side_effects
val emit_side_effects : side_effects -> evar_map -> evar_map
Push a side-effect into the evar map.
val eval_side_effects : evar_map -> side_effects
Return the effects contained in the evar map.
Future goals
Adds an existential variable to the list of future goals. For internal uses only.
module FutureGoals : sig ... end
val pop_future_goals : evar_map -> FutureGoals.t * evar_map
val given_up : evar_map -> Evar.Set.t
Sort variables
Evar maps also keep track of the universe constraints defined at a given point. This section defines the relevant manipulation functions.
val add_universe_constraints : evar_map -> UnivProblem.Set.t -> evar_map
Add the given universe unification constraints to the evar map.
Extra data
Evar maps can contain arbitrary data, allowing to use an extensible state. As evar maps are theoretically used in a strict state-passing style, such additional data should be passed along transparently. Some old and bug-prone code tends to drop them nonetheless, so you should keep cautious.
The state monad with state an evar map
type conv_pb = Conversion.conv_pb
Unification constraints
type evar_constraint = conv_pb * Environ.env * econstr * econstr
val add_conv_pb : ?tail:bool -> evar_constraint -> evar_map -> evar_map
The following two functions are for internal use only, see Evarutil.add_unification_pb
for a safe interface.
val conv_pbs : evar_map -> evar_constraint list
val extract_conv_pbs : evar_map -> (evar_constraint -> bool) -> evar_map * evar_constraint list
val extract_changed_conv_pbs : evar_map -> evar_map * evar_constraint list
val extract_changed_conv_pbs_from : evar_map -> Evar.Set.t option -> evar_map * evar_constraint list
val extract_all_conv_pbs : evar_map -> evar_map * evar_constraint list
val loc_of_conv_pb : evar_map -> evar_constraint -> Loc.t option
The following functions return the set of undefined evars contained in the object.
val evars_of_named_context : evar_map -> (econstr, etypes, erelevance) Context.Named.pt -> Evar.Set.t
FIXME: Nothing to do here
Rigid or flexible universe variables.
UnivRigid
variables are user-provided or come from an explicit Type
in the source, we do not minimize them or unify them eagerly.
UnivFlexible alg
variables are fresh universe variables of polymorphic constants or generated during refinement, sometimes in algebraic position (i.e. not appearing in the term at the moment of creation). They are the candidates for minimization (if alg, to an algebraic universe) and unified eagerly in the first-order unification heurstic.
type rigid = UState.rigid =
| UnivRigid
| UnivFlexible of bool
(*Is substitution by an algebraic ok?
*)
val univ_rigid : rigid
val univ_flexible : rigid
val univ_flexible_alg : rigid
type 'a in_ustate = 'a * UState.t
val restrict_universe_context : ?lbound:UGraph.Bound.t -> evar_map -> Univ.Level.Set.t -> evar_map
val universe_of_name : evar_map -> Names.Id.t -> Univ.Level.t
Raises Not_found if not a name for a universe in this map.
val quality_of_name : evar_map -> Names.Id.t -> Sorts.QVar.t
val is_relevance_irrelevant : evar_map -> erelevance -> bool
Whether the relevance is irrelevant modulo qstate
val universe_binders : evar_map -> UnivNames.universe_binders
val new_univ_level_variable : ?loc:Loc.t -> ?name:Names.Id.t -> rigid -> evar_map -> evar_map * Univ.Level.t
val new_quality_variable : ?loc:Loc.t -> ?name:Names.Id.t -> evar_map -> evar_map * Sorts.QVar.t
val add_forgotten_univ : evar_map -> Univ.Level.t -> evar_map
val universe_rigidity : evar_map -> Univ.Level.t -> rigid
val make_nonalgebraic_variable : evar_map -> Univ.Level.t -> evar_map
See UState.make_nonalgebraic_variable
.
val is_flexible_level : evar_map -> Univ.Level.t -> bool
val normalize_universe_instance : evar_map -> UVars.Instance.t -> UVars.Instance.t
val set_leq_sort : Environ.env -> evar_map -> esorts -> esorts -> evar_map
val set_eq_sort : Environ.env -> evar_map -> esorts -> esorts -> evar_map
val set_eq_level : evar_map -> Univ.Level.t -> Univ.Level.t -> evar_map
val set_leq_level : evar_map -> Univ.Level.t -> Univ.Level.t -> evar_map
val set_eq_instances : ?flex:bool -> evar_map -> UVars.Instance.t -> UVars.Instance.t -> evar_map
val check_constraints : evar_map -> Univ.Constraints.t -> bool
val check_qconstraints : evar_map -> Sorts.QConstraints.t -> bool
val check_quconstraints : evar_map -> Sorts.QUConstraints.t -> bool
val universe_context_set : evar_map -> Univ.ContextSet.t
val sort_context_set : evar_map -> UnivGen.sort_context_set
val universe_subst : evar_map -> UnivFlex.t
val to_universe_context : evar_map -> UVars.UContext.t
to_universe_context evm
extracts the local universes and constraints of evm
and orders the universes the same as Univ.ContextSet.to_context
.
val univ_entry : poly:bool -> evar_map -> UState.named_universes_entry
val check_univ_decl : poly:bool -> evar_map -> UState.universe_decl -> UState.named_universes_entry
val check_univ_decl_early : poly:bool -> with_obls:bool -> evar_map -> UState.universe_decl -> Constr.t list -> unit
An early check of compatibility of the universe declaration before starting to build a declaration interactively
val merge_context_set : ?loc:Loc.t -> ?sideff:bool -> rigid -> evar_map -> Univ.ContextSet.t -> evar_map
val merge_sort_context_set : ?loc:Loc.t -> ?sideff:bool -> rigid -> evar_map -> UnivGen.sort_context_set -> evar_map
val merge_sort_variables : ?loc:Loc.t -> ?sideff:bool -> evar_map -> Sorts.QVar.Set.t -> evar_map
val with_context_set : ?loc:Loc.t -> rigid -> evar_map -> 'a Univ.in_universe_context_set -> evar_map * 'a
val with_sort_context_set : ?loc:Loc.t -> rigid -> evar_map -> 'a UnivGen.in_sort_context_set -> evar_map * 'a
val minimize_universes : ?lbound:UGraph.Bound.t -> evar_map -> evar_map
Universe minimization
Polymorphic universes
val fresh_constant_instance : ?loc:Loc.t -> ?rigid:rigid -> Environ.env -> evar_map -> Names.Constant.t -> evar_map * Constr.pconstant
val fresh_inductive_instance : ?loc:Loc.t -> ?rigid:rigid -> Environ.env -> evar_map -> Names.inductive -> evar_map * Constr.pinductive
val fresh_constructor_instance : ?loc:Loc.t -> ?rigid:rigid -> Environ.env -> evar_map -> Names.constructor -> evar_map * Constr.pconstructor
val fresh_array_instance : ?loc:Loc.t -> ?rigid:rigid -> Environ.env -> evar_map -> evar_map * UVars.Instance.t
val fresh_global : ?loc:Loc.t -> ?rigid:rigid -> ?names:UVars.Instance.t -> Environ.env -> evar_map -> Names.GlobRef.t -> evar_map * econstr
Partially constructed constrs.
Summary names
val evar_counter_summary_tag : int Summary.Dyn.tag
Create an evar_map
with empty meta map:
module MiniEConstr : sig ... end
Use this module only to bootstrap EConstr
module Expand : sig ... end
Only used as EConstr internals
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Feedback/index.html b/master/api/rocq-runtime/Feedback/index.html
index 7f4bfb4eaa..d237bc2710 100644
--- a/master/api/rocq-runtime/Feedback/index.html
+++ b/master/api/rocq-runtime/Feedback/index.html
@@ -1,3 +1,3 @@
-Feedback (rocq-runtime.Feedback) Module Feedback
val default_route : route_id
type feedback_content =
| Processed
| Incomplete
| Complete
| ProcessingIn of string
| InProgress of int
| WorkerStatus of string * string
| AddedAxiom
| GlobRef of Loc.t * string * string * string * string
| GlobDef of Loc.t * string * string * string
| FileDependency of string option * string
| FileLoaded of string * string
| Custom of Loc.t option * string * Xml_datatype.xml
| Message of level * Loc.t option * Quickfix.t list * Pp.t
Feedback sent, even asynchronously, to the user interface
val add_feeder : (feedback -> unit) -> int
add_feeder f
adds a feeder listiner f
, returning its id
val feedback : ?did:doc_id -> ?id:Stateid.t -> ?route:route_id -> feedback_content -> unit
feedback ?did ?sid ?route fb
produces feedback fb
, with route
and did, sid
set appropiatedly, if absent, it will use the defaults set by set_id_for_feedback
set_id_for_feedback route id
Set the defaults for feedback
output functions
Message that displays information, usually in verbose mode, such as Foobar
- is defined
Message that should be displayed, such as Print Foo
or Show Bar
.
val msg_warning : ?loc:Loc.t -> ?quickfix:Quickfix.t list -> Pp.t -> unit
Message indicating that something went wrong, but without serious consequences. A list of quick fixes, in the VSCode sense, can be provided
val console_feedback_listener : Stdlib.Format.formatter -> feedback -> unit
Helper for tools willing to print to the feedback system
\ No newline at end of file
+Feedback (rocq-runtime.Feedback) Module Feedback
val default_route : route_id
type feedback_content =
| Processed
| Incomplete
| Complete
| ProcessingIn of string
| InProgress of int
| WorkerStatus of string * string
| AddedAxiom
| GlobRef of Loc.t * string * string * string * string
| GlobDef of Loc.t * string * string * string
| FileDependency of string option * string
| FileLoaded of string * string
| Custom of Loc.t option * string * Xml_datatype.xml
| Message of level * Loc.t option * Quickfix.t list * Pp.t
Feedback sent, even asynchronously, to the user interface
val add_feeder : (feedback -> unit) -> int
add_feeder f
adds a feeder listiner f
, returning its id
val feedback : ?did:doc_id -> ?id:Stateid.t -> ?route:route_id -> feedback_content -> unit
feedback ?did ?sid ?route fb
produces feedback fb
, with route
and did, sid
set appropiatedly, if absent, it will use the defaults set by set_id_for_feedback
set_id_for_feedback route id
Set the defaults for feedback
output functions
Message that displays information, usually in verbose mode, such as Foobar
+ is defined
Message that should be displayed, such as Print Foo
or Show Bar
.
val msg_warning : ?loc:Loc.t -> ?quickfix:Quickfix.t list -> Pp.t -> unit
Message indicating that something went wrong, but without serious consequences. A list of quick fixes, in the VSCode sense, can be provided
val console_feedback_listener : Stdlib.Format.formatter -> feedback -> unit
Helper for tools willing to print to the feedback system
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Flags/index.html b/master/api/rocq-runtime/Flags/index.html
index d29d79937d..0adeb82d8f 100644
--- a/master/api/rocq-runtime/Flags/index.html
+++ b/master/api/rocq-runtime/Flags/index.html
@@ -1,2 +1,2 @@
-Flags (rocq-runtime.Flags) Module Flags
Global options of the system.
WARNING: don't add new entries to this file!
This file is own its way to deprecation in favor of a purely functional state, but meanwhile it will contain options that are truly global to the system such as debug
If you are thinking about adding a global flag, well, just don't. First of all, options make testins exponentially more expensive, due to the growth of flag combinations. So please make some effort in order for your idea to work in a configuration-free manner.
If you absolutely must pass an option to your new system, then do so as a functional argument so flags are exposed to unit testing. Then, register such parameters with the proper state-handling mechanism of the top-level subsystem of Coq.
Command-line flags
Flag to indicate that .vos files should be loaded for dependencies instead of .vo files. Used by -vos and -vok options.
with_modified_ref r nf f x
Temporarily modify a reference in the call to f x
. Be very careful with these functions, it is very easy to fall in the typical problem with effects:
with_modified_ref r nf f x y != with_modified_ref r nf (f x) y
Temporarily activate an option (to activate option o
on f x y z
, use with_option o (f x y) z
)
As with_option
, but on several flags.
Temporarily extends the reference to a list
val output_directory : CUnix.physical_path option Stdlib.ref
Default output directory
\ No newline at end of file
+Flags (rocq-runtime.Flags) Module Flags
Global options of the system.
WARNING: don't add new entries to this file!
This file is own its way to deprecation in favor of a purely functional state, but meanwhile it will contain options that are truly global to the system such as debug
If you are thinking about adding a global flag, well, just don't. First of all, options make testins exponentially more expensive, due to the growth of flag combinations. So please make some effort in order for your idea to work in a configuration-free manner.
If you absolutely must pass an option to your new system, then do so as a functional argument so flags are exposed to unit testing. Then, register such parameters with the proper state-handling mechanism of the top-level subsystem of Rocq.
Command-line flags
Flag to indicate that .vos files should be loaded for dependencies instead of .vo files. Used by -vos and -vok options.
with_modified_ref r nf f x
Temporarily modify a reference in the call to f x
. Be very careful with these functions, it is very easy to fall in the typical problem with effects:
with_modified_ref r nf f x y != with_modified_ref r nf (f x) y
Temporarily activate an option (to activate option o
on f x y z
, use with_option o (f x y) z
)
As with_option
, but on several flags.
Temporarily extends the reference to a list
val output_directory : CUnix.physical_path option Stdlib.ref
Default output directory
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Float64/index.html b/master/api/rocq-runtime/Float64/index.html
index f2292a4947..630b637b41 100644
--- a/master/api/rocq-runtime/Float64/index.html
+++ b/master/api/rocq-runtime/Float64/index.html
@@ -1,2 +1,2 @@
-Float64 (rocq-runtime.Float64) Module Float64
t
is currently implemented by OCaml's float
type.
Beware: NaNs have a sign and a payload, while they should be indistinguishable from Coq's perspective.
val is_nan : t -> bool
Test functions for special values to avoid calling classify
val is_infinity : t -> bool
val is_neg_infinity : t -> bool
val of_string : string -> t
val to_hex_string : t -> string
Print a float exactly as an hexadecimal value (exact decimal * printing would be possible but sometimes requires more than 700 * digits).
val to_string : t -> string
Print a float as a decimal value. The printing is not exact (the * real value printed is not always the given floating-point value), * however printing is precise enough that forall float f
, * of_string (to_decimal_string f) = f
.
val compile : t -> string
val of_float : float -> t
val to_float : t -> float
All NaNs are normalized to Stdlib.nan
.
val sign : t -> bool
Return true
for "-", false
for "+".
val compare : t -> t -> float_comparison
The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments
val classify : t -> float_class
Return true if two floats are equal. * All NaN values are considered equal.
val hash : t -> int
Total order relation over float values. Behaves like Pervasives.compare
.
\ No newline at end of file
+Float64 (rocq-runtime.Float64) Module Float64
t
is currently implemented by OCaml's float
type.
Beware: NaNs have a sign and a payload, while they should be indistinguishable from Rocq's perspective.
val is_nan : t -> bool
Test functions for special values to avoid calling classify
val is_infinity : t -> bool
val is_neg_infinity : t -> bool
val of_string : string -> t
val to_hex_string : t -> string
Print a float exactly as an hexadecimal value (exact decimal * printing would be possible but sometimes requires more than 700 * digits).
val to_string : t -> string
Print a float as a decimal value. The printing is not exact (the * real value printed is not always the given floating-point value), * however printing is precise enough that forall float f
, * of_string (to_decimal_string f) = f
.
val compile : t -> string
val of_float : float -> t
val to_float : t -> float
All NaNs are normalized to Stdlib.nan
.
val sign : t -> bool
Return true
for "-", false
for "+".
val compare : t -> t -> float_comparison
The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments
val classify : t -> float_class
Return true if two floats are equal. * All NaN values are considered equal.
val hash : t -> int
Total order relation over float values. Behaves like Pervasives.compare
.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Float64_common/index.html b/master/api/rocq-runtime/Float64_common/index.html
index 5764e2bc72..2c7b39e349 100644
--- a/master/api/rocq-runtime/Float64_common/index.html
+++ b/master/api/rocq-runtime/Float64_common/index.html
@@ -1,2 +1,2 @@
-Float64_common (rocq-runtime.Float64_common) Module Float64_common
t
is currently implemented by OCaml's float
type.
Beware: NaNs have a sign and a payload, while they should be indistinguishable from Coq's perspective.
val is_nan : t -> bool
Test functions for special values to avoid calling classify
val is_infinity : t -> bool
val is_neg_infinity : t -> bool
val of_string : string -> t
val to_hex_string : t -> string
Print a float exactly as an hexadecimal value (exact decimal * printing would be possible but sometimes requires more than 700 * digits).
val to_string : t -> string
Print a float as a decimal value. The printing is not exact (the * real value printed is not always the given floating-point value), * however printing is precise enough that forall float f
, * of_string (to_decimal_string f) = f
.
val compile : t -> string
val of_float : float -> t
val to_float : t -> float
All NaNs are normalized to Stdlib.nan
.
val sign : t -> bool
Return true
for "-", false
for "+".
val compare : t -> t -> float_comparison
The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments
val classify : t -> float_class
Return true if two floats are equal. * All NaN values are considered equal.
val hash : t -> int
Total order relation over float values. Behaves like Pervasives.compare
.
\ No newline at end of file
+Float64_common (rocq-runtime.Float64_common) Module Float64_common
t
is currently implemented by OCaml's float
type.
Beware: NaNs have a sign and a payload, while they should be indistinguishable from Rocq's perspective.
val is_nan : t -> bool
Test functions for special values to avoid calling classify
val is_infinity : t -> bool
val is_neg_infinity : t -> bool
val of_string : string -> t
val to_hex_string : t -> string
Print a float exactly as an hexadecimal value (exact decimal * printing would be possible but sometimes requires more than 700 * digits).
val to_string : t -> string
Print a float as a decimal value. The printing is not exact (the * real value printed is not always the given floating-point value), * however printing is precise enough that forall float f
, * of_string (to_decimal_string f) = f
.
val compile : t -> string
val of_float : float -> t
val to_float : t -> float
All NaNs are normalized to Stdlib.nan
.
val sign : t -> bool
Return true
for "-", false
for "+".
val compare : t -> t -> float_comparison
The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments
val classify : t -> float_class
Return true if two floats are equal. * All NaN values are considered equal.
val hash : t -> int
Total order relation over float values. Behaves like Pervasives.compare
.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Genarg/index.html b/master/api/rocq-runtime/Genarg/index.html
index 2d56ec4998..e87dafa7e7 100644
--- a/master/api/rocq-runtime/Genarg/index.html
+++ b/master/api/rocq-runtime/Genarg/index.html
@@ -1,2 +1,2 @@
-Genarg (rocq-runtime.Genarg) Module Genarg
Generic arguments used by the extension mechanisms of several Coq ASTs.
Generic arguments must be registered according to their usage:
(raw level printers are always useful for clearer -time
output, for beautify, and some other debug prints)
- extensible constr syntax beyond notations (eg
ltac:()
, ltac2:()
and ltac2 $x
). Such genargs appear in glob_term GGenarg and constrexpr CGenarg. They must be registered with Genintern.register_intern0
and GlobEnv.register_constr_interp0
.
The glob level may be kept through notations and other operations like Ltac definitions (eg Ltac foo := exact ltac2:(foo)
) in which case Gensubst.register_subst0
and a glob level printer are useful.
Other useful registrations are
Genintern.register_intern_pat
and Patternops.register_interp_pat
to be used in tactic patterns.Genintern.register_ntn_subst0
to be used in notations (eg Notation "foo" := ltac2:(foo)
).
NB: only the base ExtraArg
is allowed here.
- tactic arguments to commands defined without depending on ltac_plugin (VernacProof, HintsExtern, Hint Rewrite, etc).
Must be registered with Genintern.register_intern0
and Genintern.register_interp0
.
The glob level can be kept (currently with Hint Extern and Hint Rewrite) so Gensubst.register_subst0
is also needed.
Currently AFAICT this is just Tacarg.wit_ltac
.
NB: only the base ExtraArg
is allowed here.
- vernac arguments, used by vernac extend. Usually declared in mlg using VERNAC ARGUMENT EXTEND then used in VERNAC EXTEND.
With VERNAC ARGUMENT EXTEND the raw level printer is registered by including PRINTED BY.
Must be registered with Procq.register_grammar
(handled by VERNAC ARGUMENT EXTEND when declared that way) as vernac extend only gets the genarg as argument so must get the grammar from the registration.
Unless combined with some other use, the glob and top levels will be empty (as in vernac_genarg_type
).
- Ltac tactic_extend arguments. Usually declared in mlg using ARGUMENT EXTEND then used in TACTIC EXTEND.
Must be registered with Genintern.register_intern0
, Gensubst.register_subst0
and Genintern.register_interp0
.
Must be registered with Procq.register_grammar
as tactic extend only gets the genarg as argument so must get the grammar from the registration.
They must be associated with a Geninterp.Val.tag
using Geninterp.register_val0
(which creates a fresh tag if passed None
). Note: although Genintern.register_interp0
registers a producer of arbitrary Geninterp.Val.t
, tactic_extend requires them to be of the tag registered by Geninterp.register_val0
to work properly.
They should also have all printer levels registered with Genprint.register_print0
.
All registrations are handled by the arguments to ARGUMENT EXTEND when declared that way.
All of them can also be used as vernac_extend arguments since vernac_extend uses a subset of the registrations needed for tactic_extend.
- some hack in Tacentries.ml_val_tactic_extend and its variant in Tac2core_ltac1 for Ltac1.lambda.
The route of a generic argument, from parsing to evaluation. In the following diagram, "object" can be ltac_expr, constr, tactic_value, etc.
\begin{verbatim}
parsing in_raw out_raw char stream ---> raw_object ---> raw_object generic_argument -------+ encapsulation decaps| | V raw_object | globalization | V glob_object | encaps | in_glob | V glob_object generic_argument | out in out_glob | object <--- object generic_argument <--- object <--- glob_object <---+ | decaps encaps interp decaps | V effective use \end{verbatim}
To distinguish between the uninterpreted, globalized and interpreted worlds, we annotate the type generic_argument
by a phantom argument.
Generic types
module ArgT : sig ... end
type (_, _, _) genarg_type =
| ExtraArg : ('a, 'b, 'c) ArgT.tag -> ('a, 'b, 'c) genarg_type
| ListArg : ('a, 'b, 'c) genarg_type -> ('a list, 'b list, 'c list) genarg_type
| OptArg : ('a, 'b, 'c) genarg_type -> ('a option, 'b option, 'c option) genarg_type
| PairArg : ('a1, 'b1, 'c1) genarg_type * ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'a2, 'b1 * 'b2, 'c1 * 'c2) genarg_type
Generic types. The first parameter is the OCaml lowest level, the second one is the globalized level, and third one the internalized level.
type 'a uniform_genarg_type = ('a, 'a, 'a) genarg_type
Alias for concision when the three types agree.
type 'a vernac_genarg_type = ('a, Util.Empty.t, Util.Empty.t) genarg_type
Produced by VERNAC ARGUMENT EXTEND
val make0 : string -> ('raw, 'glob, 'top) genarg_type
Create a new generic type of argument: force to associate unique ML types at each of the three levels.
val create_arg : string -> ('raw, 'glob, 'top) genarg_type
Alias for make0
.
Specialized types
All of rlevel
, glevel
and tlevel
must be non convertible to ensure the injectivity of the GADT type inference.
type (_, _) abstract_argument_type =
| Rawwit : ('a, 'b, 'c) genarg_type -> ('a, rlevel) abstract_argument_type
| Glbwit : ('a, 'b, 'c) genarg_type -> ('b, glevel) abstract_argument_type
| Topwit : ('a, 'b, 'c) genarg_type -> ('c, tlevel) abstract_argument_type
Generic types at a fixed level. The first parameter embeds the OCaml type and the second one the level.
type 'a raw_abstract_argument_type = ('a, rlevel) abstract_argument_type
Specialized type at raw level.
type 'a glob_abstract_argument_type = ('a, glevel) abstract_argument_type
Specialized type at globalized level.
type 'a typed_abstract_argument_type = ('a, tlevel) abstract_argument_type
Specialized type at internalized level.
Projections
val rawwit : ('a, 'b, 'c) genarg_type -> ('a, rlevel) abstract_argument_type
Projection on the raw type constructor.
val glbwit : ('a, 'b, 'c) genarg_type -> ('b, glevel) abstract_argument_type
Projection on the globalized type constructor.
val topwit : ('a, 'b, 'c) genarg_type -> ('c, tlevel) abstract_argument_type
Projection on the internalized type constructor.
Generic arguments
type 'l generic_argument =
| GenArg : ('a, 'l) abstract_argument_type * 'a -> 'l generic_argument
(*A inhabitant of 'level generic_argument
is a inhabitant of some type at level 'level
, together with the representation of this type.
*)
type raw_generic_argument = rlevel generic_argument
type glob_generic_argument = glevel generic_argument
type typed_generic_argument = tlevel generic_argument
Constructors
val in_gen : ('a, 'co) abstract_argument_type -> 'a -> 'co generic_argument
in_gen t x
embeds an argument of type t
into a generic argument.
val out_gen : ('a, 'co) abstract_argument_type -> 'co generic_argument -> 'a
out_gen t x
recovers an argument of type t
from a generic argument. It fails if x
has not the right dynamic type.
val has_type : 'co generic_argument -> ('a, 'co) abstract_argument_type -> bool
has_type v t
tells whether v
has type t
. If true, it ensures that out_gen t v
will not raise a dynamic type exception.
Type reification
Equalities
val argument_type_eq : argument_type -> argument_type -> bool
val genarg_type_eq : ('a1, 'b1, 'c1) genarg_type -> ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'b1 * 'c1, 'a2 * 'b2 * 'c2) CSig.eq option
val abstract_argument_type_eq : ('a, 'l) abstract_argument_type -> ('b, 'l) abstract_argument_type -> ('a, 'b) CSig.eq option
val pr_argument_type : argument_type -> Pp.t
Print a human-readable representation for a given type.
val genarg_tag : 'a generic_argument -> argument_type
val unquote : ('a, 'co) abstract_argument_type -> argument_type
Registering genarg-manipulating functions
This is boilerplate code used here and there in the code of Coq.
val get_arg_tag : ('a, 'b, 'c) genarg_type -> ('a, 'b, 'c) ArgT.tag
Works only on base objects (ExtraArg), otherwise fails badly.
module type GenObj = sig ... end
Warning: although the following APIs use genarg_type
the values must always be ExtraArg some_tag
.
Compatibility layer
The functions below are aliases for generic_type constructors.
val wit_list : ('a, 'b, 'c) genarg_type -> ('a list, 'b list, 'c list) genarg_type
val wit_opt : ('a, 'b, 'c) genarg_type -> ('a option, 'b option, 'c option) genarg_type
val wit_pair : ('a1, 'b1, 'c1) genarg_type -> ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'a2, 'b1 * 'b2, 'c1 * 'c2) genarg_type
\ No newline at end of file
+Genarg (rocq-runtime.Genarg) Module Genarg
Generic arguments used by the extension mechanisms of several Rocq ASTs.
Generic arguments must be registered according to their usage:
(raw level printers are always useful for clearer -time
output, for beautify, and some other debug prints)
- extensible constr syntax beyond notations (eg
ltac:()
, ltac2:()
and ltac2 $x
). Such genargs appear in glob_term GGenarg and constrexpr CGenarg. They must be registered with Genintern.register_intern0
and GlobEnv.register_constr_interp0
.
The glob level may be kept through notations and other operations like Ltac definitions (eg Ltac foo := exact ltac2:(foo)
) in which case Gensubst.register_subst0
and a glob level printer are useful.
Other useful registrations are
Genintern.register_intern_pat
and Patternops.register_interp_pat
to be used in tactic patterns.Genintern.register_ntn_subst0
to be used in notations (eg Notation "foo" := ltac2:(foo)
).
NB: only the base ExtraArg
is allowed here.
- tactic arguments to commands defined without depending on ltac_plugin (VernacProof, HintsExtern, Hint Rewrite, etc).
Must be registered with Genintern.register_intern0
and Genintern.register_interp0
.
The glob level can be kept (currently with Hint Extern and Hint Rewrite) so Gensubst.register_subst0
is also needed.
Currently AFAICT this is just Tacarg.wit_ltac
.
NB: only the base ExtraArg
is allowed here.
- vernac arguments, used by vernac extend. Usually declared in mlg using VERNAC ARGUMENT EXTEND then used in VERNAC EXTEND.
With VERNAC ARGUMENT EXTEND the raw level printer is registered by including PRINTED BY.
Must be registered with Procq.register_grammar
(handled by VERNAC ARGUMENT EXTEND when declared that way) as vernac extend only gets the genarg as argument so must get the grammar from the registration.
Unless combined with some other use, the glob and top levels will be empty (as in vernac_genarg_type
).
- Ltac tactic_extend arguments. Usually declared in mlg using ARGUMENT EXTEND then used in TACTIC EXTEND.
Must be registered with Genintern.register_intern0
, Gensubst.register_subst0
and Genintern.register_interp0
.
Must be registered with Procq.register_grammar
as tactic extend only gets the genarg as argument so must get the grammar from the registration.
They must be associated with a Geninterp.Val.tag
using Geninterp.register_val0
(which creates a fresh tag if passed None
). Note: although Genintern.register_interp0
registers a producer of arbitrary Geninterp.Val.t
, tactic_extend requires them to be of the tag registered by Geninterp.register_val0
to work properly.
They should also have all printer levels registered with Genprint.register_print0
.
All registrations are handled by the arguments to ARGUMENT EXTEND when declared that way.
All of them can also be used as vernac_extend arguments since vernac_extend uses a subset of the registrations needed for tactic_extend.
- some hack in Tacentries.ml_val_tactic_extend and its variant in Tac2core_ltac1 for Ltac1.lambda.
The route of a generic argument, from parsing to evaluation. In the following diagram, "object" can be ltac_expr, constr, tactic_value, etc.
\begin{verbatim}
parsing in_raw out_raw char stream ---> raw_object ---> raw_object generic_argument -------+ encapsulation decaps| | V raw_object | globalization | V glob_object | encaps | in_glob | V glob_object generic_argument | out in out_glob | object <--- object generic_argument <--- object <--- glob_object <---+ | decaps encaps interp decaps | V effective use \end{verbatim}
To distinguish between the uninterpreted, globalized and interpreted worlds, we annotate the type generic_argument
by a phantom argument.
Generic types
module ArgT : sig ... end
type (_, _, _) genarg_type =
| ExtraArg : ('a, 'b, 'c) ArgT.tag -> ('a, 'b, 'c) genarg_type
| ListArg : ('a, 'b, 'c) genarg_type -> ('a list, 'b list, 'c list) genarg_type
| OptArg : ('a, 'b, 'c) genarg_type -> ('a option, 'b option, 'c option) genarg_type
| PairArg : ('a1, 'b1, 'c1) genarg_type * ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'a2, 'b1 * 'b2, 'c1 * 'c2) genarg_type
Generic types. The first parameter is the OCaml lowest level, the second one is the globalized level, and third one the internalized level.
type 'a uniform_genarg_type = ('a, 'a, 'a) genarg_type
Alias for concision when the three types agree.
type 'a vernac_genarg_type = ('a, Util.Empty.t, Util.Empty.t) genarg_type
Produced by VERNAC ARGUMENT EXTEND
val make0 : string -> ('raw, 'glob, 'top) genarg_type
Create a new generic type of argument: force to associate unique ML types at each of the three levels.
val create_arg : string -> ('raw, 'glob, 'top) genarg_type
Alias for make0
.
Specialized types
All of rlevel
, glevel
and tlevel
must be non convertible to ensure the injectivity of the GADT type inference.
type (_, _) abstract_argument_type =
| Rawwit : ('a, 'b, 'c) genarg_type -> ('a, rlevel) abstract_argument_type
| Glbwit : ('a, 'b, 'c) genarg_type -> ('b, glevel) abstract_argument_type
| Topwit : ('a, 'b, 'c) genarg_type -> ('c, tlevel) abstract_argument_type
Generic types at a fixed level. The first parameter embeds the OCaml type and the second one the level.
type 'a raw_abstract_argument_type = ('a, rlevel) abstract_argument_type
Specialized type at raw level.
type 'a glob_abstract_argument_type = ('a, glevel) abstract_argument_type
Specialized type at globalized level.
type 'a typed_abstract_argument_type = ('a, tlevel) abstract_argument_type
Specialized type at internalized level.
Projections
val rawwit : ('a, 'b, 'c) genarg_type -> ('a, rlevel) abstract_argument_type
Projection on the raw type constructor.
val glbwit : ('a, 'b, 'c) genarg_type -> ('b, glevel) abstract_argument_type
Projection on the globalized type constructor.
val topwit : ('a, 'b, 'c) genarg_type -> ('c, tlevel) abstract_argument_type
Projection on the internalized type constructor.
Generic arguments
type 'l generic_argument =
| GenArg : ('a, 'l) abstract_argument_type * 'a -> 'l generic_argument
(*A inhabitant of 'level generic_argument
is a inhabitant of some type at level 'level
, together with the representation of this type.
*)
type raw_generic_argument = rlevel generic_argument
type glob_generic_argument = glevel generic_argument
type typed_generic_argument = tlevel generic_argument
Constructors
val in_gen : ('a, 'co) abstract_argument_type -> 'a -> 'co generic_argument
in_gen t x
embeds an argument of type t
into a generic argument.
val out_gen : ('a, 'co) abstract_argument_type -> 'co generic_argument -> 'a
out_gen t x
recovers an argument of type t
from a generic argument. It fails if x
has not the right dynamic type.
val has_type : 'co generic_argument -> ('a, 'co) abstract_argument_type -> bool
has_type v t
tells whether v
has type t
. If true, it ensures that out_gen t v
will not raise a dynamic type exception.
Type reification
Equalities
val argument_type_eq : argument_type -> argument_type -> bool
val genarg_type_eq : ('a1, 'b1, 'c1) genarg_type -> ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'b1 * 'c1, 'a2 * 'b2 * 'c2) CSig.eq option
val abstract_argument_type_eq : ('a, 'l) abstract_argument_type -> ('b, 'l) abstract_argument_type -> ('a, 'b) CSig.eq option
val pr_argument_type : argument_type -> Pp.t
Print a human-readable representation for a given type.
val genarg_tag : 'a generic_argument -> argument_type
val unquote : ('a, 'co) abstract_argument_type -> argument_type
Registering genarg-manipulating functions
This is boilerplate code used here and there in the code of Rocq.
val get_arg_tag : ('a, 'b, 'c) genarg_type -> ('a, 'b, 'c) ArgT.tag
Works only on base objects (ExtraArg), otherwise fails badly.
module type GenObj = sig ... end
Warning: although the following APIs use genarg_type
the values must always be ExtraArg some_tag
.
Compatibility layer
The functions below are aliases for generic_type constructors.
val wit_list : ('a, 'b, 'c) genarg_type -> ('a list, 'b list, 'c list) genarg_type
val wit_opt : ('a, 'b, 'c) genarg_type -> ('a option, 'b option, 'c option) genarg_type
val wit_pair : ('a1, 'b1, 'c1) genarg_type -> ('a2, 'b2, 'c2) genarg_type -> ('a1 * 'a2, 'b1 * 'b2, 'c1 * 'c2) genarg_type
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Global/index.html b/master/api/rocq-runtime/Global/index.html
index 4b76a9f1dc..34130d2516 100644
--- a/master/api/rocq-runtime/Global/index.html
+++ b/master/api/rocq-runtime/Global/index.html
@@ -1,2 +1,2 @@
-Global (rocq-runtime.Global) Module Global
This module defines the global environment of Coq. The functions below are exactly the same as the ones in Safe_typing
, operating on that global environment. add_*
functions perform name verification, i.e. check that the name given as argument match those provided by Safe_typing
.
val safe_env : unit -> Safe_typing.safe_environment
val env : unit -> Environ.env
val universes : unit -> UGraph.t
val named_context_val : unit -> Environ.named_context_val
val named_context : unit -> Constr.named_context
Enriching the global environment
val set_typing_flags : Declarations.typing_flags -> unit
val typing_flags : unit -> Declarations.typing_flags
Variables, Local definitions, constants, inductive types
val push_named_assum : (Names.Id.t * Constr.types) -> unit
val push_named_def : (Names.Id.t * Entries.section_def_entry) -> unit
val push_section_context : UVars.UContext.t -> unit
val export_private_constants : Safe_typing.private_constants -> Safe_typing.exported_private_constant list
val add_constant : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.constant_entry -> Names.Constant.t
val fill_opaque : Safe_typing.opaque_certificate -> unit
val add_private_constant : Names.Id.t -> Univ.ContextSet.t -> Safe_typing.side_effect_declaration -> Names.Constant.t * Safe_typing.private_constants
val add_rewrite_rules : Names.Id.t -> Declarations.rewrite_rules_body -> unit
val add_mind : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.mutual_inductive_entry -> Names.MutInd.t * IndTyping.NotPrimRecordReason.t option
val add_constraints : Univ.Constraints.t -> unit
Extra universe constraints
val push_context_set : Univ.ContextSet.t -> unit
Non-interactive modules and module types
val add_module : Names.Id.t -> Entries.module_entry -> Declarations.inline -> Names.ModPath.t * Mod_subst.delta_resolver
val add_modtype : Names.Id.t -> Entries.module_type_entry -> Declarations.inline -> Names.ModPath.t
val add_include : Entries.module_struct_entry -> bool -> Declarations.inline -> Mod_subst.delta_resolver
Sections
val close_section : Summary.Interp.frozen -> unit
Close the section and reset the global state to the one at the time when the section what opened.
Interactive modules and module types
val start_module : Names.Id.t -> Names.ModPath.t
val start_modtype : Names.Id.t -> Names.ModPath.t
val end_module : Summary.Interp.frozen -> Names.Id.t -> (Entries.module_struct_entry * Declarations.inline) option -> Names.ModPath.t * Names.MBId.t list * Mod_subst.delta_resolver
val end_modtype : Summary.Interp.frozen -> Names.Id.t -> Names.ModPath.t * Names.MBId.t list
val add_module_parameter : Names.MBId.t -> Entries.module_struct_entry -> Declarations.inline -> Mod_subst.delta_resolver
Queries in the global environment
val lookup_named : Names.variable -> Constr.named_declaration
val lookup_constant : Names.Constant.t -> Declarations.constant_body
val lookup_inductive : Names.inductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_body
val lookup_pinductive : Constr.pinductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_body
val lookup_mind : Names.MutInd.t -> Declarations.mutual_inductive_body
val lookup_module : Names.ModPath.t -> Declarations.module_body
val lookup_modtype : Names.ModPath.t -> Declarations.module_type_body
val exists_objlabel : Names.Label.t -> bool
val constant_of_delta_kn : Names.KerName.t -> Names.Constant.t
val mind_of_delta_kn : Names.KerName.t -> Names.MutInd.t
type indirect_accessor = {
access_proof : Opaqueproof.opaque -> Opaqueproof.opaque_proofterm option;
}
val force_proof : indirect_accessor -> Opaqueproof.opaque -> Opaqueproof.opaque_proofterm
val body_of_constant : indirect_accessor -> Names.Constant.t -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option
Returns the body of the constant if it has any, and the polymorphic context it lives in. For monomorphic constant, the latter is empty, and for polymorphic constants, the term contains De Bruijn universe variables that need to be instantiated.
val body_of_constant_body : indirect_accessor -> Declarations.constant_body -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option
Same as body_of_constant
but on constant_body
.
Compiled libraries
val start_library : Names.DirPath.t -> Names.ModPath.t
val export : output_native_objects:bool -> Names.DirPath.t -> Names.ModPath.t * Safe_typing.compiled_library * Vmlibrary.compiled_library * Nativelib.native_library
val import : Safe_typing.compiled_library -> Vmlibrary.on_disk -> Safe_typing.vodigest -> Names.ModPath.t
Misc
Function to get an environment from the constants part of the global * environment and a given context.
val env_of_context : Environ.named_context_val -> Environ.env
val is_polymorphic : Names.GlobRef.t -> bool
val is_template_polymorphic : Names.GlobRef.t -> bool
val is_type_in_type : Names.GlobRef.t -> bool
Retroknowledge
val register_inline : Names.Constant.t -> unit
val register_inductive : Names.inductive -> 'a CPrimitives.prim_ind -> unit
Oracle
val set_strategy : Conv_oracle.evaluable -> Conv_oracle.level -> unit
Conversion settings
val current_modpath : unit -> Names.ModPath.t
val current_dirpath : unit -> Names.DirPath.t
val with_global : (Environ.env -> Names.DirPath.t -> 'a Univ.in_universe_context_set) -> 'a
val global_env_summary_tag : Safe_typing.safe_environment Summary.Dyn.tag
\ No newline at end of file
+Global (rocq-runtime.Global) Module Global
This module defines the global environment of Rocq. The functions below are exactly the same as the ones in Safe_typing
, operating on that global environment. add_*
functions perform name verification, i.e. check that the name given as argument match those provided by Safe_typing
.
val safe_env : unit -> Safe_typing.safe_environment
val env : unit -> Environ.env
val universes : unit -> UGraph.t
val named_context_val : unit -> Environ.named_context_val
val named_context : unit -> Constr.named_context
Enriching the global environment
val set_typing_flags : Declarations.typing_flags -> unit
val typing_flags : unit -> Declarations.typing_flags
Variables, Local definitions, constants, inductive types
val push_named_assum : (Names.Id.t * Constr.types) -> unit
val push_named_def : (Names.Id.t * Entries.section_def_entry) -> unit
val push_section_context : UVars.UContext.t -> unit
val export_private_constants : Safe_typing.private_constants -> Safe_typing.exported_private_constant list
val add_constant : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.constant_entry -> Names.Constant.t
val fill_opaque : Safe_typing.opaque_certificate -> unit
val add_private_constant : Names.Id.t -> Univ.ContextSet.t -> Safe_typing.side_effect_declaration -> Names.Constant.t * Safe_typing.private_constants
val add_rewrite_rules : Names.Id.t -> Declarations.rewrite_rules_body -> unit
val add_mind : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.mutual_inductive_entry -> Names.MutInd.t * IndTyping.NotPrimRecordReason.t option
val add_constraints : Univ.Constraints.t -> unit
Extra universe constraints
val push_context_set : Univ.ContextSet.t -> unit
Non-interactive modules and module types
val add_module : Names.Id.t -> Entries.module_entry -> Declarations.inline -> Names.ModPath.t * Mod_subst.delta_resolver
val add_modtype : Names.Id.t -> Entries.module_type_entry -> Declarations.inline -> Names.ModPath.t
val add_include : Entries.module_struct_entry -> bool -> Declarations.inline -> Mod_subst.delta_resolver
Sections
val close_section : Summary.Interp.frozen -> unit
Close the section and reset the global state to the one at the time when the section what opened.
Interactive modules and module types
val start_module : Names.Id.t -> Names.ModPath.t
val start_modtype : Names.Id.t -> Names.ModPath.t
val end_module : Summary.Interp.frozen -> Names.Id.t -> (Entries.module_struct_entry * Declarations.inline) option -> Names.ModPath.t * Names.MBId.t list * Mod_subst.delta_resolver
val end_modtype : Summary.Interp.frozen -> Names.Id.t -> Names.ModPath.t * Names.MBId.t list
val add_module_parameter : Names.MBId.t -> Entries.module_struct_entry -> Declarations.inline -> Mod_subst.delta_resolver
Queries in the global environment
val lookup_named : Names.variable -> Constr.named_declaration
val lookup_constant : Names.Constant.t -> Declarations.constant_body
val lookup_inductive : Names.inductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_body
val lookup_pinductive : Constr.pinductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_body
val lookup_mind : Names.MutInd.t -> Declarations.mutual_inductive_body
val lookup_module : Names.ModPath.t -> Declarations.module_body
val lookup_modtype : Names.ModPath.t -> Declarations.module_type_body
val exists_objlabel : Names.Label.t -> bool
val constant_of_delta_kn : Names.KerName.t -> Names.Constant.t
val mind_of_delta_kn : Names.KerName.t -> Names.MutInd.t
type indirect_accessor = {
access_proof : Opaqueproof.opaque -> Opaqueproof.opaque_proofterm option;
}
val force_proof : indirect_accessor -> Opaqueproof.opaque -> Opaqueproof.opaque_proofterm
val body_of_constant : indirect_accessor -> Names.Constant.t -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option
Returns the body of the constant if it has any, and the polymorphic context it lives in. For monomorphic constant, the latter is empty, and for polymorphic constants, the term contains De Bruijn universe variables that need to be instantiated.
val body_of_constant_body : indirect_accessor -> Declarations.constant_body -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option
Same as body_of_constant
but on constant_body
.
Compiled libraries
val start_library : Names.DirPath.t -> Names.ModPath.t
val export : output_native_objects:bool -> Names.DirPath.t -> Names.ModPath.t * Safe_typing.compiled_library * Vmlibrary.compiled_library * Nativelib.native_library
val import : Safe_typing.compiled_library -> Vmlibrary.on_disk -> Safe_typing.vodigest -> Names.ModPath.t
Misc
Function to get an environment from the constants part of the global * environment and a given context.
val env_of_context : Environ.named_context_val -> Environ.env
val is_polymorphic : Names.GlobRef.t -> bool
val is_template_polymorphic : Names.GlobRef.t -> bool
val is_type_in_type : Names.GlobRef.t -> bool
Retroknowledge
val register_inline : Names.Constant.t -> unit
val register_inductive : Names.inductive -> 'a CPrimitives.prim_ind -> unit
Oracle
val set_strategy : Conv_oracle.evaluable -> Conv_oracle.level -> unit
Conversion settings
val current_modpath : unit -> Names.ModPath.t
val current_dirpath : unit -> Names.DirPath.t
val with_global : (Environ.env -> Names.DirPath.t -> 'a Univ.in_universe_context_set) -> 'a
val global_env_summary_tag : Safe_typing.safe_environment Summary.Dyn.tag
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Ind_tables/index.html b/master/api/rocq-runtime/Ind_tables/index.html
index 5e21a69430..50fa321ef4 100644
--- a/master/api/rocq-runtime/Ind_tables/index.html
+++ b/master/api/rocq-runtime/Ind_tables/index.html
@@ -1,5 +1,5 @@
-Ind_tables (rocq-runtime.Ind_tables) Module Ind_tables
This module provides support for registering inductive scheme builders, declaring schemes and generating schemes on demand
A scheme is either a "mutual scheme_kind" or an "individual scheme_kind"
type scheme_dependency =
| SchemeMutualDep of Names.MutInd.t * mutual scheme_kind
| SchemeIndividualDep of Names.inductive * individual scheme_kind
type mutual_scheme_object_function = Environ.env -> handle -> Names.MutInd.t -> Constr.constr array Evd.in_ustate
type individual_scheme_object_function = Environ.env -> handle -> Names.inductive -> Constr.constr Evd.in_ustate
Main functions to register a scheme builder. Note these functions are not safe to be used by plugins as their effects won't be undone on backtracking.
In declare_X_scheme_object key ?suff ?deps f
, key
is the name of the scheme kind. It must be unique across the Coq process's lifetime. It is used to generate scheme_kind
in a marshal-stable way and as the scheme name in Register Scheme.
suff
defaults to key
, generated schemes which aren't given an explicit name will be named "ind_suff" where "ind" is the inductive's name.
val declare_mutual_scheme_object : string -> ?suff:string -> ?deps:(Environ.env -> Names.MutInd.t -> scheme_dependency list) ->
+Ind_tables (rocq-runtime.Ind_tables) Module Ind_tables
This module provides support for registering inductive scheme builders, declaring schemes and generating schemes on demand
A scheme is either a "mutual scheme_kind" or an "individual scheme_kind"
type scheme_dependency =
| SchemeMutualDep of Names.MutInd.t * mutual scheme_kind
| SchemeIndividualDep of Names.inductive * individual scheme_kind
type mutual_scheme_object_function = Environ.env -> handle -> Names.MutInd.t -> Constr.constr array Evd.in_ustate
type individual_scheme_object_function = Environ.env -> handle -> Names.inductive -> Constr.constr Evd.in_ustate
Main functions to register a scheme builder. Note these functions are not safe to be used by plugins as their effects won't be undone on backtracking.
In declare_X_scheme_object key ?suff ?deps f
, key
is the name of the scheme kind. It must be unique across the Rocq process's lifetime. It is used to generate scheme_kind
in a marshal-stable way and as the scheme name in Register Scheme.
suff
defaults to key
, generated schemes which aren't given an explicit name will be named "ind_suff" where "ind" is the inductive's name.
val declare_mutual_scheme_object : string -> ?suff:string -> ?deps:(Environ.env -> Names.MutInd.t -> scheme_dependency list) ->
mutual_scheme_object_function -> mutual scheme_kind
val declare_individual_scheme_object : string -> ?suff:string ->
?deps:(Environ.env -> Names.inductive -> scheme_dependency list) -> individual_scheme_object_function -> individual scheme_kind
val scheme_kind_name : _ scheme_kind -> string
Name of a scheme_kind
. Can be used to register with DeclareScheme.
Force generation of a (mutually) scheme with possibly user-level names
val define_individual_scheme : ?loc:Loc.t -> individual scheme_kind -> Names.Id.t option -> Names.inductive -> unit
module Locmap : sig ... end
val define_mutual_scheme : ?locmap:Locmap.t -> mutual scheme_kind -> (int * Names.Id.t) list -> Names.MutInd.t -> unit
val find_scheme : 'a scheme_kind -> Names.inductive -> Names.Constant.t Proofview.tactic
Main function to retrieve a scheme in the cache or to generate it
val lookup_scheme : 'a scheme_kind -> Names.inductive -> Names.Constant.t option
Like find_scheme
but does not generate a constant on the fly
val local_lookup_scheme : handle -> 'a scheme_kind -> Names.inductive -> Names.Constant.t option
To be used by scheme-generating functions when looking for a subscheme.
val pr_scheme_kind : 'a scheme_kind -> Pp.t
val declare_definition_scheme : (internal:bool -> univs:UState.named_universes_entry -> role:Evd.side_effect_role -> name:Names.Id.t -> ?loc:Loc.t ->
Constr.t -> Names.Constant.t * Evd.side_effects) Stdlib.ref
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Loadpath/Error/index.html b/master/api/rocq-runtime/Loadpath/Error/index.html
index 7ccea2dabe..65e677df40 100644
--- a/master/api/rocq-runtime/Loadpath/Error/index.html
+++ b/master/api/rocq-runtime/Loadpath/Error/index.html
@@ -1,2 +1,2 @@
-Error (rocq-runtime.Loadpath.Error) Module Loadpath.Error
Locate a library in the load path
val raise : Names.DirPath.t -> t -> 'a
Raise regular Coq errors with default informative message; usually document managers that have more information about the workspace than coqc will override this with a better mechanism / message.
\ No newline at end of file
+Error (rocq-runtime.Loadpath.Error) Module Loadpath.Error
Locate a library in the load path
val raise : Names.DirPath.t -> t -> 'a
Raise regular Rocq errors with default informative message; usually document managers that have more information about the workspace than rocq compile will override this with a better mechanism / message.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Loadpath/index.html b/master/api/rocq-runtime/Loadpath/index.html
index 838352dec5..4bf6bdc052 100644
--- a/master/api/rocq-runtime/Loadpath/index.html
+++ b/master/api/rocq-runtime/Loadpath/index.html
@@ -1,2 +1,2 @@
-Loadpath (rocq-runtime.Loadpath) Module Loadpath
* Load paths.
A load path is a physical path in the file system; to each load path is associated a Coq DirPath.t
(the "logical" path of the physical path).
val logical : t -> Names.DirPath.t
Get the logical path (Coq module hierarchy) of a loadpath.
val physical : t -> CUnix.physical_path
Get the physical path of a loadpath
val get_load_paths : unit -> t list
Get the current loadpath association.
val remove_load_path : CUnix.physical_path -> unit
Remove the current logical path binding associated to a given physical path, if any.
val find_load_path : CUnix.physical_path -> t
Get the binding associated with a physical path. Raises Not_found
if there is none.
val find_with_logical_path : Names.DirPath.t -> t list
get the list of load paths that correspond to a given logical path
val find_extra_dep_with_logical_path : ?loc:Loc.t -> from:Names.DirPath.t -> file:string -> unit -> CUnix.physical_path
finds a file rooted in from.
Locate a file among the registered paths. Do not use this function, as it does not respect the visibility of paths.
module Error : sig ... end
val locate_qualified_library : ?root:Names.DirPath.t -> Libnames.qualid -> (Names.DirPath.t * CUnix.physical_path, Error.t) Stdlib.Result.t
val locate_absolute_library : Names.DirPath.t -> (CUnix.physical_path, Error.t) Stdlib.Result.t
Locates a library by implicit name.
Extending the Load Path
type vo_path = {
unix_path : string;
(*Filesystem path containing vo/ml files
*) coq_path : Names.DirPath.t;
(*Coq prefix for the path
*) implicit : bool;
(*implicit = true
avoids having to qualify with coq_path
true for -R, false for -Q in command line
*) recursive : bool;
(*recursive
will determine whether we explore sub-directories
*)
}
Adds a path to the Coq and ML paths
val add_vo_path : vo_path -> unit
\ No newline at end of file
+Loadpath (rocq-runtime.Loadpath) Module Loadpath
* Load paths.
A load path is a physical path in the file system; to each load path is associated a Rocq DirPath.t
(the "logical" path of the physical path).
val logical : t -> Names.DirPath.t
Get the logical path (Rocq module hierarchy) of a loadpath.
val physical : t -> CUnix.physical_path
Get the physical path of a loadpath
val get_load_paths : unit -> t list
Get the current loadpath association.
val remove_load_path : CUnix.physical_path -> unit
Remove the current logical path binding associated to a given physical path, if any.
val find_load_path : CUnix.physical_path -> t
Get the binding associated with a physical path. Raises Not_found
if there is none.
val find_with_logical_path : Names.DirPath.t -> t list
get the list of load paths that correspond to a given logical path
val find_extra_dep_with_logical_path : ?loc:Loc.t -> from:Names.DirPath.t -> file:string -> unit -> CUnix.physical_path
finds a file rooted in from.
Locate a file among the registered paths. Do not use this function, as it does not respect the visibility of paths.
module Error : sig ... end
val locate_qualified_library : ?root:Names.DirPath.t -> Libnames.qualid -> (Names.DirPath.t * CUnix.physical_path, Error.t) Stdlib.Result.t
val locate_absolute_library : Names.DirPath.t -> (CUnix.physical_path, Error.t) Stdlib.Result.t
Locates a library by implicit name.
Extending the Load Path
type vo_path = {
unix_path : string;
(*Filesystem path containing vo/ml files
*) coq_path : Names.DirPath.t;
(*Rocq prefix for the path
*) implicit : bool;
(*implicit = true
avoids having to qualify with coq_path
true for -R, false for -Q in command line
*) recursive : bool;
(*recursive
will determine whether we explore sub-directories
*)
}
Adds a path to the Rocq and ML paths
val add_vo_path : vo_path -> unit
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Logic_monad/index.html b/master/api/rocq-runtime/Logic_monad/index.html
index e8beaa9488..76a56e579e 100644
--- a/master/api/rocq-runtime/Logic_monad/index.html
+++ b/master/api/rocq-runtime/Logic_monad/index.html
@@ -1,2 +1,2 @@
-Logic_monad (rocq-runtime.Logic_monad) Module Logic_monad
This file implements the low-level monadic operations used by the tactic monad. The monad is divided into two layers: a non-logical layer which consists in operations which will not (or cannot) be backtracked in case of failure (input/output or persistent state) and a logical layer which handles backtracking, proof manipulation, and any other effect which needs to backtrack.
Exceptions
To help distinguish between exceptions raised by the IO monad from the one used natively by Coq, the former are wrapped in Exception
. It is only used internally so that catch
blocks of the IO monad would only catch exceptions raised by the raise
function of the IO monad, and not for instance, by system interrupts. Also used in Proofview
to avoid capturing exception from the IO monad (Proofview
catches errors in its compatibility layer, and when lifting goal-level expressions).
This exception is used by the tactics to signal failure by lack of successes, rather than some other exceptions (like system interrupts).
Non-logical layer
module NonLogical : sig ... end
The non-logical monad is a simple unit -> 'a
(i/o) monad. The operations are simple wrappers around corresponding usual operations and require little documentation.
Logical layer
The logical monad is a backtracking monad on top of which is layered a state monad (which is used to implement all of read/write, read only, and write only effects). The state monad being layered on top of the backtracking monad makes it so that the state is backtracked on failure.
Backtracking differs from regular exception in that, writing (+) for exception catching and (>>=) for bind, we require the following extra distributivity laws:
x+(y+z) = (x+y)+z
zero+x = x
x+zero = x
(x+y)>>=k = (x>>=k)+(y>>=k)
A view type for the logical monad, which is a form of list, hence we can decompose it with as a list.
type ('a, 'b, 'e) list_view = ('a, 'e -> 'b, 'e) list_view_
module BackState : sig ... end
module type Param = sig ... end
The monad is parametrised in the types of state, environment and writer.
\ No newline at end of file
+Logic_monad (rocq-runtime.Logic_monad) Module Logic_monad
This file implements the low-level monadic operations used by the tactic monad. The monad is divided into two layers: a non-logical layer which consists in operations which will not (or cannot) be backtracked in case of failure (input/output or persistent state) and a logical layer which handles backtracking, proof manipulation, and any other effect which needs to backtrack.
Exceptions
To help distinguish between exceptions raised by the IO monad from the one used natively by Rocq, the former are wrapped in Exception
. It is only used internally so that catch
blocks of the IO monad would only catch exceptions raised by the raise
function of the IO monad, and not for instance, by system interrupts. Also used in Proofview
to avoid capturing exception from the IO monad (Proofview
catches errors in its compatibility layer, and when lifting goal-level expressions).
This exception is used by the tactics to signal failure by lack of successes, rather than some other exceptions (like system interrupts).
Non-logical layer
module NonLogical : sig ... end
The non-logical monad is a simple unit -> 'a
(i/o) monad. The operations are simple wrappers around corresponding usual operations and require little documentation.
Logical layer
The logical monad is a backtracking monad on top of which is layered a state monad (which is used to implement all of read/write, read only, and write only effects). The state monad being layered on top of the backtracking monad makes it so that the state is backtracked on failure.
Backtracking differs from regular exception in that, writing (+) for exception catching and (>>=) for bind, we require the following extra distributivity laws:
x+(y+z) = (x+y)+z
zero+x = x
x+zero = x
(x+y)>>=k = (x>>=k)+(y>>=k)
A view type for the logical monad, which is a form of list, hence we can decompose it with as a list.
type ('a, 'b, 'e) list_view = ('a, 'e -> 'b, 'e) list_view_
module BackState : sig ... end
module type Param = sig ... end
The monad is parametrised in the types of state, environment and writer.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Names/Id/index.html b/master/api/rocq-runtime/Names/Id/index.html
index 90cb044ff3..e1e7a9e52c 100644
--- a/master/api/rocq-runtime/Names/Id/index.html
+++ b/master/api/rocq-runtime/Names/Id/index.html
@@ -1,2 +1,2 @@
-Id (rocq-runtime.Names.Id) Module Names.Id
Representation and operations on identifiers.
val hash : t -> int
Hash over identifiers.
val of_bytes : bytes -> t
val of_string : string -> t
Converts a string into an identifier.
val of_string_soft : string -> t
Same as of_string
except that any string made of supported UTF-8 characters is accepted.
val to_string : t -> string
Converts a identifier into an string.
module Set : Util.Set.ExtS with type elt = t
Finite sets of identifiers.
module Pred : Predicate.S with type elt = t
Predicates over identifiers.
module List : Util.List.MonoS with type elt = t
Operations over lists of identifiers.
\ No newline at end of file
+Id (rocq-runtime.Names.Id) Module Names.Id
Representation and operations on identifiers.
val hash : t -> int
Hash over identifiers.
val of_bytes : bytes -> t
val of_string : string -> t
Converts a string into an identifier.
val of_string_soft : string -> t
Same as of_string
except that any string made of supported UTF-8 characters is accepted.
val to_string : t -> string
Converts a identifier into an string.
module Set : Util.Set.ExtS with type elt = t
Finite sets of identifiers.
module Pred : Predicate.S with type elt = t
Predicates over identifiers.
module List : Util.List.MonoS with type elt = t
Operations over lists of identifiers.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Names/index.html b/master/api/rocq-runtime/Names/index.html
index 745a4de67a..5e74d3543f 100644
--- a/master/api/rocq-runtime/Names/index.html
+++ b/master/api/rocq-runtime/Names/index.html
@@ -1,2 +1,2 @@
-Names (rocq-runtime.Names) Module Names
This file defines a lot of different notions of names used pervasively in the kernel as well as in other places. The essential datatypes exported by this API are:
- Id.t is the type of identifiers, that is morally a subset of strings which only contains Unicode characters of the Letter kind (and a few more).
- Name.t is an ad-hoc variant of Id.t option allowing to handle optionally named objects.
- DirPath.t represents generic paths as sequences of identifiers.
- Label.t is an equivalent of Id.t made distinct for semantical purposes.
- ModPath.t are module paths.
- KerName.t are absolute names of objects in Coq.
Identifiers
module Id : sig ... end
Representation and operations on identifiers.
module Name : sig ... end
Representation and operations on identifiers that are allowed to be anonymous (i.e. "_" in concrete syntax).
Type aliases
type variable = Id.t
type module_ident = Id.t
module ModIdset : Util.Set.ExtS with type elt = module_ident
module ModIdmap : Util.Map.ExtS with type key = module_ident and module Set := ModIdset
Directory paths = section names paths
module DirPath : sig ... end
module DPset : Util.Set.ExtS with type elt = DirPath.t
Names of structure elements
module Label : sig ... end
Unique names for bound modules
module MBId : sig ... end
module MBIset : Util.Set.ExtS with type elt = MBId.t
The module part of the kernel name
module ModPath : sig ... end
module MPset : Util.Set.ExtS with type elt = ModPath.t
The absolute names of objects seen by kernel
module KerName : sig ... end
module KNset : CSig.USetS with type elt = KerName.t
module KNpred : Predicate.S with type elt = KerName.t
Signature for quotiented names
module type EqType = sig ... end
module type QNameS = sig ... end
Constant Names
module Constant : sig ... end
module Cpred : Predicate.S with type elt = Constant.t
The *_env
modules consider an order on user part of names the others consider an order on canonical part of names
module Cset : CSig.USetS with type elt = Constant.t
module Cset_env : CSig.USetS with type elt = Constant.t
module Cmap : Util.Map.UExtS with type key = Constant.t and module Set := Cset
A map whose keys are constants (values of the Constant.t
type). Keys are ordered wrt. "canonical form" of the constant.
module Cmap_env : Util.Map.UExtS with type key = Constant.t and module Set := Cset_env
A map whose keys are constants (values of the Constant.t
type). Keys are ordered wrt. "user form" of the constant.
Inductive names
module MutInd : sig ... end
module Mindset : CSig.USetS with type elt = MutInd.t
module Mindmap_env : CMap.UExtS with type key = MutInd.t
module Ind : sig ... end
type inductive = Ind.t
module Construct : sig ... end
type constructor = Construct.t
module Constrset : CSet.ExtS with type elt = constructor
module Indset_env : CSet.ExtS with type elt = inductive
module Constrset_env : CSet.ExtS with type elt = constructor
module Indmap_env : CMap.ExtS with type key = inductive and module Set := Indset_env
module Constrmap_env : CMap.ExtS with type key = constructor and module Set := Constrset_env
val ith_constructor_of_inductive : inductive -> int -> constructor
val inductive_of_constructor : constructor -> inductive
val index_of_constructor : constructor -> int
Hash-consing
val hcons_con : Constant.t -> Constant.t
val hcons_construct : constructor -> constructor
index in the rel_context
part of environment starting by the end, inverse of de Bruijn indice
val hash_table_key : ('a -> int) -> 'a tableKey -> int
val eq_constant_key : Constant.t -> Constant.t -> bool
equalities on constant and inductive names (for the checker)
Module paths
module Projection : sig ... end
module PRset : CSig.USetS with type elt = Projection.Repr.t
module PRmap : Util.Map.UExtS with type key = Projection.Repr.t and module Set := PRset
module PRpred : Predicate.S with type elt = Projection.Repr.t
Predicate on projection representation (ignoring unfolding state)
Global reference is a kernel side type for all references together
module GlobRef : sig ... end
Located identifiers and objects with syntax.
type lstring = string CAst.t
\ No newline at end of file
+Names (rocq-runtime.Names) Module Names
This file defines a lot of different notions of names used pervasively in the kernel as well as in other places. The essential datatypes exported by this API are:
- Id.t is the type of identifiers, that is morally a subset of strings which only contains Unicode characters of the Letter kind (and a few more).
- Name.t is an ad-hoc variant of Id.t option allowing to handle optionally named objects.
- DirPath.t represents generic paths as sequences of identifiers.
- Label.t is an equivalent of Id.t made distinct for semantical purposes.
- ModPath.t are module paths.
- KerName.t are absolute names of objects in Rocq.
Identifiers
module Id : sig ... end
Representation and operations on identifiers.
module Name : sig ... end
Representation and operations on identifiers that are allowed to be anonymous (i.e. "_" in concrete syntax).
Type aliases
type variable = Id.t
type module_ident = Id.t
module ModIdset : Util.Set.ExtS with type elt = module_ident
module ModIdmap : Util.Map.ExtS with type key = module_ident and module Set := ModIdset
Directory paths = section names paths
module DirPath : sig ... end
module DPset : Util.Set.ExtS with type elt = DirPath.t
Names of structure elements
module Label : sig ... end
Unique names for bound modules
module MBId : sig ... end
module MBIset : Util.Set.ExtS with type elt = MBId.t
The module part of the kernel name
module ModPath : sig ... end
module MPset : Util.Set.ExtS with type elt = ModPath.t
The absolute names of objects seen by kernel
module KerName : sig ... end
module KNset : CSig.USetS with type elt = KerName.t
module KNpred : Predicate.S with type elt = KerName.t
Signature for quotiented names
module type EqType = sig ... end
module type QNameS = sig ... end
Constant Names
module Constant : sig ... end
module Cpred : Predicate.S with type elt = Constant.t
The *_env
modules consider an order on user part of names the others consider an order on canonical part of names
module Cset : CSig.USetS with type elt = Constant.t
module Cset_env : CSig.USetS with type elt = Constant.t
module Cmap : Util.Map.UExtS with type key = Constant.t and module Set := Cset
A map whose keys are constants (values of the Constant.t
type). Keys are ordered wrt. "canonical form" of the constant.
module Cmap_env : Util.Map.UExtS with type key = Constant.t and module Set := Cset_env
A map whose keys are constants (values of the Constant.t
type). Keys are ordered wrt. "user form" of the constant.
Inductive names
module MutInd : sig ... end
module Mindset : CSig.USetS with type elt = MutInd.t
module Mindmap_env : CMap.UExtS with type key = MutInd.t
module Ind : sig ... end
type inductive = Ind.t
module Construct : sig ... end
type constructor = Construct.t
module Constrset : CSet.ExtS with type elt = constructor
module Indset_env : CSet.ExtS with type elt = inductive
module Constrset_env : CSet.ExtS with type elt = constructor
module Indmap_env : CMap.ExtS with type key = inductive and module Set := Indset_env
module Constrmap_env : CMap.ExtS with type key = constructor and module Set := Constrset_env
val ith_constructor_of_inductive : inductive -> int -> constructor
val inductive_of_constructor : constructor -> inductive
val index_of_constructor : constructor -> int
Hash-consing
val hcons_con : Constant.t -> Constant.t
val hcons_construct : constructor -> constructor
index in the rel_context
part of environment starting by the end, inverse of de Bruijn indice
val hash_table_key : ('a -> int) -> 'a tableKey -> int
val eq_constant_key : Constant.t -> Constant.t -> bool
equalities on constant and inductive names (for the checker)
Module paths
module Projection : sig ... end
module PRset : CSig.USetS with type elt = Projection.Repr.t
module PRmap : Util.Map.UExtS with type key = Projection.Repr.t and module Set := PRset
module PRpred : Predicate.S with type elt = Projection.Repr.t
Predicate on projection representation (ignoring unfolding state)
Global reference is a kernel side type for all references together
module GlobRef : sig ... end
Located identifiers and objects with syntax.
type lstring = string CAst.t
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Names/module-type-QNameS/index.html b/master/api/rocq-runtime/Names/module-type-QNameS/index.html
index ed13cc1d28..fde9a462f6 100644
--- a/master/api/rocq-runtime/Names/module-type-QNameS/index.html
+++ b/master/api/rocq-runtime/Names/module-type-QNameS/index.html
@@ -1,2 +1,2 @@
-QNameS (rocq-runtime.Names.QNameS) Module type Names.QNameS
A type of reference that implements an implicit quotient by containing two different names. The first one is the user name, i.e. what the user sees when printing. The second one is the canonical name, which is the actual absolute name of the reference.
This mechanism is fundamentally tied to the module system of Coq. Functor application and module inclusion are the typical ways to introduce names where the canonical and user components differ. In particular, the two components should be undistinguishable from the point of view of typing, i.e. from a "kernel" ground. This aliasing only makes sense inside an environment, but at this point this notion is not even defined so, this dual name trick is fragile. One has to ensure many invariants when creating such names, but the kernel is quite lenient when it comes to checking that these invariants hold. (Read: there are soundness bugs lurking in the module system.)
One could enforce the invariants by splitting the names and storing that information in the environment instead, but unfortunately, this wreaks havoc in the upper layers. The latter are infamously not stable by syntactic equality, in particular they might observe the difference between canonical and user names if not packed together.
For this reason, it is discouraged to use the canonical-accessing API in the upper layers, notably the CanOrd
module below. Instead, one should use their quotiented versions defined in the Environ
module. Eventually all uses to CanOrd
outside of the kernel should be removed.
CAVEAT: name sets and maps are still exposing a canonical-accessing API surreptitiously.
Equality functions over the canonical name. Their use should be restricted to the kernel.
module SyntacticOrd : EqType with type t = t
Equality functions using both names, for low-level uses.
\ No newline at end of file
+QNameS (rocq-runtime.Names.QNameS) Module type Names.QNameS
A type of reference that implements an implicit quotient by containing two different names. The first one is the user name, i.e. what the user sees when printing. The second one is the canonical name, which is the actual absolute name of the reference.
This mechanism is fundamentally tied to the module system of Rocq. Functor application and module inclusion are the typical ways to introduce names where the canonical and user components differ. In particular, the two components should be undistinguishable from the point of view of typing, i.e. from a "kernel" ground. This aliasing only makes sense inside an environment, but at this point this notion is not even defined so, this dual name trick is fragile. One has to ensure many invariants when creating such names, but the kernel is quite lenient when it comes to checking that these invariants hold. (Read: there are soundness bugs lurking in the module system.)
One could enforce the invariants by splitting the names and storing that information in the environment instead, but unfortunately, this wreaks havoc in the upper layers. The latter are infamously not stable by syntactic equality, in particular they might observe the difference between canonical and user names if not packed together.
For this reason, it is discouraged to use the canonical-accessing API in the upper layers, notably the CanOrd
module below. Instead, one should use their quotiented versions defined in the Environ
module. Eventually all uses to CanOrd
outside of the kernel should be removed.
CAVEAT: name sets and maps are still exposing a canonical-accessing API surreptitiously.
Equality functions over the canonical name. Their use should be restricted to the kernel.
module SyntacticOrd : EqType with type t = t
Equality functions using both names, for low-level uses.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Nametab/index.html b/master/api/rocq-runtime/Nametab/index.html
index fe350a3dce..96a1061ddf 100644
--- a/master/api/rocq-runtime/Nametab/index.html
+++ b/master/api/rocq-runtime/Nametab/index.html
@@ -1,2 +1,2 @@
-Nametab (rocq-runtime.Nametab) Module Nametab
This module contains the tables for globalization.
These globalization tables associate internal object references to qualified names (qualid). There are three classes of names:
- 1a) internal kernel names:
kernel_name
, constant
, inductive
, module_path
, DirPath.t
- 1b) other internal names:
global_reference
, abbreviation
, extended_global_reference
, global_dir_reference
, ...
- 2) full, non ambiguous user names:
full_path
- 3) non necessarily full, possibly ambiguous user names:
reference
and qualid
Most functions in this module fall into one of the following categories:
push : visibility -> full_user_name -> object_reference -> unit
Registers the object_reference
to be referred to by the full_user_name
(and its suffixes according to visibility
). full_user_name
can either be a full_path
or a DirPath.t
.
exists : full_user_name -> bool
Is the full_user_name
already attributed as an absolute user name of some object?
locate : qualid -> object_reference
Finds the object referred to by qualid
or raises Not_found
full_name : qualid -> full_user_name
Finds the full user name referred to by qualid
or raises Not_found
shortest_qualid_of : object_reference -> user_name
The user_name
can be for example the shortest non ambiguous qualid
or the full_user_name
or Id.t
. Such a function can also have a local context argument.
Object prefix morally contains the "prefix" naming of an object to be stored by library
, where obj_dir
is the "absolute" path and obj_mp
is the current "module" prefix.
Thus, for an object living inside Module A. Section B.
the prefix would be:
{ obj_dir = "A.B"; obj_mp = "A"; }
Note that obj_dir
is a "path" that is to say, as opposed to obj_mp
which is a single module name.
val eq_op : object_prefix -> object_prefix -> bool
module GlobDirRef : sig ... end
to this type are mapped DirPath.t
's in the nametab
exception GlobalizationError of Libnames.qualid
val error_global_not_found : info:Exninfo.info -> Libnames.qualid -> 'a
Raises a globalization error
Register visibility of things
The visibility can be registered either
- for all suffixes not shorter then a given int -- when the object is loaded inside a module -- or
- for a precise suffix, when the module containing (the module containing ...) the object is opened (imported)
val map_visibility : (int -> int) -> visibility -> visibility
val push : ?user_warns:Globnames.extended_global_reference UserWarn.with_qf -> visibility -> Libnames.full_path -> Names.GlobRef.t -> unit
val push_modtype : visibility -> Libnames.full_path -> Names.ModPath.t -> unit
val push_module : visibility -> Names.DirPath.t -> Names.ModPath.t -> unit
val push_dir : visibility -> Names.DirPath.t -> GlobDirRef.t -> unit
val push_abbreviation : ?user_warns:Globnames.extended_global_reference UserWarn.with_qf -> visibility -> Libnames.full_path -> Globnames.abbreviation -> unit
val push_universe : visibility -> Libnames.full_path -> Univ.UGlobal.t -> unit
Deprecation and user warn info
val is_warned_xref : Globnames.extended_global_reference -> Globnames.extended_global_reference UserWarn.with_qf option
val warn_user_warn_xref : ?loc:Loc.t -> Globnames.extended_global_reference UserWarn.with_qf -> Globnames.extended_global_reference -> unit
The following functions perform globalization of qualified names
These functions globalize a (partially) qualified name or fail with Not_found
val locate : Libnames.qualid -> Names.GlobRef.t
val locate_extended : Libnames.qualid -> Globnames.extended_global_reference
val locate_constant : Libnames.qualid -> Names.Constant.t
val locate_abbreviation : Libnames.qualid -> Globnames.abbreviation
val locate_modtype : Libnames.qualid -> Names.ModPath.t
val locate_dir : Libnames.qualid -> GlobDirRef.t
val locate_module : Libnames.qualid -> Names.ModPath.t
val locate_section : Libnames.qualid -> Names.DirPath.t
val locate_universe : Libnames.qualid -> Univ.UGlobal.t
val locate_extended_nowarn : Libnames.qualid -> Globnames.extended_global_reference
Remove the binding to an abbreviation
val remove_abbreviation : Libnames.full_path -> Globnames.abbreviation -> unit
These functions globalize user-level references into global references, like locate
and co, but raise a nice error message in case of failure
val global : Libnames.qualid -> Names.GlobRef.t
val global_inductive : Libnames.qualid -> Names.inductive
These functions locate all global references with a given suffix; if qualid
is valid as such, it comes first in the list
val locate_all : Libnames.qualid -> Names.GlobRef.t list
val locate_extended_all : Libnames.qualid -> Globnames.extended_global_reference list
val locate_extended_all_dir : Libnames.qualid -> GlobDirRef.t list
val locate_extended_all_modtype : Libnames.qualid -> Names.ModPath.t list
val locate_extended_all_module : Libnames.qualid -> Names.ModPath.t list
val completion_canditates : Libnames.qualid -> Globnames.extended_global_reference list
Experimental completion support, API is _unstable_
completion_canditates qualid
will return the list of global references that have qualid
as a prefix. UI usually will want to compose this with shortest_qualid_of_global
Mapping a full path to a global reference
val global_of_path : Libnames.full_path -> Names.GlobRef.t
val extended_global_of_path : Libnames.full_path -> Globnames.extended_global_reference
These functions tell if the given absolute name is already taken
val exists_cci : Libnames.full_path -> bool
val exists_modtype : Libnames.full_path -> bool
val exists_module : Names.DirPath.t -> bool
val exists_dir : Names.DirPath.t -> bool
val exists_universe : Libnames.full_path -> bool
These functions declare (resp. return) the source location of the object if known
val set_cci_src_loc : Globnames.extended_global_reference -> Loc.t -> unit
val cci_src_loc : Globnames.extended_global_reference -> Loc.t option
These functions locate qualids into full user names
val full_name_modtype : Libnames.qualid -> Libnames.full_path
val full_name_module : Libnames.qualid -> Names.DirPath.t
Reverse lookup
Finding user names corresponding to the given internal name
Returns the full path bound to a global reference or syntactic definition, and the (full) dirpath associated to a module path
val path_of_abbreviation : Globnames.abbreviation -> Libnames.full_path
val path_of_global : Names.GlobRef.t -> Libnames.full_path
val dirpath_of_module : Names.ModPath.t -> Names.DirPath.t
val path_of_modtype : Names.ModPath.t -> Libnames.full_path
val path_of_universe : Univ.UGlobal.t -> Libnames.full_path
A universe_id might not be registered with a corresponding user name.
Returns in particular the dirpath or the basename of the full path associated to global reference
val dirpath_of_global : Names.GlobRef.t -> Names.DirPath.t
val basename_of_global : Names.GlobRef.t -> Names.Id.t
val pr_global_env : Names.Id.Set.t -> Names.GlobRef.t -> Pp.t
Printing of global references using names as short as possible.
The shortest_qualid
functions given an object with user_name
Coq.A.B.x, try to find the shortest among x, B.x, A.B.x and Coq.A.B.x that denotes the same object.
val shortest_qualid_of_global : ?loc:Loc.t -> Names.Id.Set.t -> Names.GlobRef.t -> Libnames.qualid
val shortest_qualid_of_abbreviation : ?loc:Loc.t -> Names.Id.Set.t -> Globnames.abbreviation -> Libnames.qualid
val shortest_qualid_of_modtype : ?loc:Loc.t -> Names.ModPath.t -> Libnames.qualid
val shortest_qualid_of_module : ?loc:Loc.t -> Names.ModPath.t -> Libnames.qualid
val shortest_qualid_of_universe : ?loc:Loc.t -> 'u Names.Id.Map.t -> Univ.UGlobal.t -> Libnames.qualid
In general we have a UnivNames.universe_binders
around rather than a Id.Set.t
val pr_depr_xref : Globnames.extended_global_reference -> Pp.t
Generic name handling
NOT FOR PUBLIC USE YET. Plugin writers, please do not rely on this API.
module type UserName = sig ... end
module type EqualityType = sig ... end
module type NAMETREE = sig ... end
module Modules : sig ... end
\ No newline at end of file
+Nametab (rocq-runtime.Nametab) Module Nametab
This module contains the tables for globalization.
These globalization tables associate internal object references to qualified names (qualid). There are three classes of names:
- 1a) internal kernel names:
kernel_name
, constant
, inductive
, module_path
, DirPath.t
- 1b) other internal names:
global_reference
, abbreviation
, extended_global_reference
, global_dir_reference
, ...
- 2) full, non ambiguous user names:
full_path
- 3) non necessarily full, possibly ambiguous user names:
reference
and qualid
Most functions in this module fall into one of the following categories:
push : visibility -> full_user_name -> object_reference -> unit
Registers the object_reference
to be referred to by the full_user_name
(and its suffixes according to visibility
). full_user_name
can either be a full_path
or a DirPath.t
.
exists : full_user_name -> bool
Is the full_user_name
already attributed as an absolute user name of some object?
locate : qualid -> object_reference
Finds the object referred to by qualid
or raises Not_found
full_name : qualid -> full_user_name
Finds the full user name referred to by qualid
or raises Not_found
shortest_qualid_of : object_reference -> user_name
The user_name
can be for example the shortest non ambiguous qualid
or the full_user_name
or Id.t
. Such a function can also have a local context argument.
Object prefix morally contains the "prefix" naming of an object to be stored by library
, where obj_dir
is the "absolute" path and obj_mp
is the current "module" prefix.
Thus, for an object living inside Module A. Section B.
the prefix would be:
{ obj_dir = "A.B"; obj_mp = "A"; }
Note that obj_dir
is a "path" that is to say, as opposed to obj_mp
which is a single module name.
val eq_op : object_prefix -> object_prefix -> bool
module GlobDirRef : sig ... end
to this type are mapped DirPath.t
's in the nametab
exception GlobalizationError of Libnames.qualid
val error_global_not_found : info:Exninfo.info -> Libnames.qualid -> 'a
Raises a globalization error
Register visibility of things
The visibility can be registered either
- for all suffixes not shorter then a given int -- when the object is loaded inside a module -- or
- for a precise suffix, when the module containing (the module containing ...) the object is opened (imported)
val map_visibility : (int -> int) -> visibility -> visibility
val push : ?user_warns:Globnames.extended_global_reference UserWarn.with_qf -> visibility -> Libnames.full_path -> Names.GlobRef.t -> unit
val push_modtype : visibility -> Libnames.full_path -> Names.ModPath.t -> unit
val push_module : visibility -> Names.DirPath.t -> Names.ModPath.t -> unit
val push_dir : visibility -> Names.DirPath.t -> GlobDirRef.t -> unit
val push_abbreviation : ?user_warns:Globnames.extended_global_reference UserWarn.with_qf -> visibility -> Libnames.full_path -> Globnames.abbreviation -> unit
val push_universe : visibility -> Libnames.full_path -> Univ.UGlobal.t -> unit
Deprecation and user warn info
val is_warned_xref : Globnames.extended_global_reference -> Globnames.extended_global_reference UserWarn.with_qf option
val warn_user_warn_xref : ?loc:Loc.t -> Globnames.extended_global_reference UserWarn.with_qf -> Globnames.extended_global_reference -> unit
The following functions perform globalization of qualified names
These functions globalize a (partially) qualified name or fail with Not_found
val locate : Libnames.qualid -> Names.GlobRef.t
val locate_extended : Libnames.qualid -> Globnames.extended_global_reference
val locate_constant : Libnames.qualid -> Names.Constant.t
val locate_abbreviation : Libnames.qualid -> Globnames.abbreviation
val locate_modtype : Libnames.qualid -> Names.ModPath.t
val locate_dir : Libnames.qualid -> GlobDirRef.t
val locate_module : Libnames.qualid -> Names.ModPath.t
val locate_section : Libnames.qualid -> Names.DirPath.t
val locate_universe : Libnames.qualid -> Univ.UGlobal.t
val locate_extended_nowarn : Libnames.qualid -> Globnames.extended_global_reference
Remove the binding to an abbreviation
val remove_abbreviation : Libnames.full_path -> Globnames.abbreviation -> unit
These functions globalize user-level references into global references, like locate
and co, but raise a nice error message in case of failure
val global : Libnames.qualid -> Names.GlobRef.t
val global_inductive : Libnames.qualid -> Names.inductive
These functions locate all global references with a given suffix; if qualid
is valid as such, it comes first in the list
val locate_all : Libnames.qualid -> Names.GlobRef.t list
val locate_extended_all : Libnames.qualid -> Globnames.extended_global_reference list
val locate_extended_all_dir : Libnames.qualid -> GlobDirRef.t list
val locate_extended_all_modtype : Libnames.qualid -> Names.ModPath.t list
val locate_extended_all_module : Libnames.qualid -> Names.ModPath.t list
val completion_canditates : Libnames.qualid -> Globnames.extended_global_reference list
Experimental completion support, API is _unstable_
completion_canditates qualid
will return the list of global references that have qualid
as a prefix. UI usually will want to compose this with shortest_qualid_of_global
Mapping a full path to a global reference
val global_of_path : Libnames.full_path -> Names.GlobRef.t
val extended_global_of_path : Libnames.full_path -> Globnames.extended_global_reference
These functions tell if the given absolute name is already taken
val exists_cci : Libnames.full_path -> bool
val exists_modtype : Libnames.full_path -> bool
val exists_module : Names.DirPath.t -> bool
val exists_dir : Names.DirPath.t -> bool
val exists_universe : Libnames.full_path -> bool
These functions declare (resp. return) the source location of the object if known
val set_cci_src_loc : Globnames.extended_global_reference -> Loc.t -> unit
val cci_src_loc : Globnames.extended_global_reference -> Loc.t option
These functions locate qualids into full user names
val full_name_modtype : Libnames.qualid -> Libnames.full_path
val full_name_module : Libnames.qualid -> Names.DirPath.t
Reverse lookup
Finding user names corresponding to the given internal name
Returns the full path bound to a global reference or syntactic definition, and the (full) dirpath associated to a module path
val path_of_abbreviation : Globnames.abbreviation -> Libnames.full_path
val path_of_global : Names.GlobRef.t -> Libnames.full_path
val dirpath_of_module : Names.ModPath.t -> Names.DirPath.t
val path_of_modtype : Names.ModPath.t -> Libnames.full_path
val path_of_universe : Univ.UGlobal.t -> Libnames.full_path
A universe_id might not be registered with a corresponding user name.
Returns in particular the dirpath or the basename of the full path associated to global reference
val dirpath_of_global : Names.GlobRef.t -> Names.DirPath.t
val basename_of_global : Names.GlobRef.t -> Names.Id.t
val pr_global_env : Names.Id.Set.t -> Names.GlobRef.t -> Pp.t
Printing of global references using names as short as possible.
The shortest_qualid
functions given an object with user_name
Mylib.A.B.x, try to find the shortest among x, B.x, A.B.x and Mylib.A.B.x that denotes the same object.
val shortest_qualid_of_global : ?loc:Loc.t -> Names.Id.Set.t -> Names.GlobRef.t -> Libnames.qualid
val shortest_qualid_of_abbreviation : ?loc:Loc.t -> Names.Id.Set.t -> Globnames.abbreviation -> Libnames.qualid
val shortest_qualid_of_modtype : ?loc:Loc.t -> Names.ModPath.t -> Libnames.qualid
val shortest_qualid_of_module : ?loc:Loc.t -> Names.ModPath.t -> Libnames.qualid
val shortest_qualid_of_universe : ?loc:Loc.t -> 'u Names.Id.Map.t -> Univ.UGlobal.t -> Libnames.qualid
In general we have a UnivNames.universe_binders
around rather than a Id.Set.t
val pr_depr_xref : Globnames.extended_global_reference -> Pp.t
Generic name handling
NOT FOR PUBLIC USE YET. Plugin writers, please do not rely on this API.
module type UserName = sig ... end
module type EqualityType = sig ... end
module type NAMETREE = sig ... end
module Modules : sig ... end
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Nativelib/index.html b/master/api/rocq-runtime/Nativelib/index.html
index 89793a4a44..3d6cd4b175 100644
--- a/master/api/rocq-runtime/Nativelib/index.html
+++ b/master/api/rocq-runtime/Nativelib/index.html
@@ -1,2 +1,2 @@
-Nativelib (rocq-runtime.Nativelib) Module Nativelib
This file provides facilities to access OCaml compiler and dynamic linker, used by the native compiler.
val output_dir : CUnix.physical_path Stdlib.ref
val include_dirs : CUnix.physical_path list Stdlib.ref
val compile : string -> Nativecode.global list -> profile:bool -> string
compile file code ~profile
will compile native code
to file
, and return the name of the object file; this name depends on whether are in byte mode or not; file is expected to be .ml file
type native_library = Nativecode.global list * Nativevalues.symbols
val compile_library : native_library -> string -> unit
compile_library (code, _) file
is similar to compile file code
but will perform some extra tweaks to handle code
as a Coq lib.
val execute_library : prefix:string -> string -> Nativecode.code_location_updates -> Nativevalues.t * Nativevalues.t
execute_library file upds
dynamically loads library file
, updates the library locations upds
, and returns the values stored in rt1
and rt2
val enable_library : string -> Names.DirPath.t -> unit
enable_library
marks the given library for dynamic loading the next time link_libraries
is called.
val rt1 : Nativevalues.t Stdlib.ref
val rt2 : Nativevalues.t Stdlib.ref
\ No newline at end of file
+Nativelib (rocq-runtime.Nativelib) Module Nativelib
This file provides facilities to access OCaml compiler and dynamic linker, used by the native compiler.
val output_dir : CUnix.physical_path Stdlib.ref
val include_dirs : CUnix.physical_path list Stdlib.ref
val compile : string -> Nativecode.global list -> profile:bool -> string
compile file code ~profile
will compile native code
to file
, and return the name of the object file; this name depends on whether are in byte mode or not; file is expected to be .ml file
type native_library = Nativecode.global list * Nativevalues.symbols
val compile_library : native_library -> string -> unit
compile_library (code, _) file
is similar to compile file code
but will perform some extra tweaks to handle code
as a Rocq lib.
val execute_library : prefix:string -> string -> Nativecode.code_location_updates -> Nativevalues.t * Nativevalues.t
execute_library file upds
dynamically loads library file
, updates the library locations upds
, and returns the values stored in rt1
and rt2
val enable_library : string -> Names.DirPath.t -> unit
enable_library
marks the given library for dynamic loading the next time link_libraries
is called.
val rt1 : Nativevalues.t Stdlib.ref
val rt2 : Nativevalues.t Stdlib.ref
\ No newline at end of file
diff --git a/master/api/rocq-runtime/NumTok/Signed/index.html b/master/api/rocq-runtime/NumTok/Signed/index.html
index 6ffe4049b8..34cb1dcf13 100644
--- a/master/api/rocq-runtime/NumTok/Signed/index.html
+++ b/master/api/rocq-runtime/NumTok/Signed/index.html
@@ -1,2 +1,2 @@
-Signed (rocq-runtime.NumTok.Signed) Module NumTok.Signed
type t = sign * Unsigned.t
val is_zero : t -> bool
val of_nat : UnsignedNat.t -> t
val of_int : SignedNat.t -> t
val to_int : t -> SignedNat.t option
val is_int : t -> bool
val sprint : t -> string
val parse_string : string -> t option
Parse the string as a signed Coq number, if possible
val of_int_string : string -> t
Convert from a string in the syntax of OCaml's int/int64
val of_string : string -> t
Convert from a string in the syntax of OCaml's string_of_float
val to_string : t -> string
Returns a string in the syntax of OCaml's float_of_string
val to_bigint : t -> Z.t option
Convert from and to bigint when the denotation of a bigint
val of_int_frac_and_exponent : SignedNat.t -> UnsignedNat.t option -> SignedNat.t option -> t
val to_int_frac_and_exponent : t -> SignedNat.t * UnsignedNat.t option * SignedNat.t option
n, p and q such that the number is n.p*10^q or n.p*2^q pre/postcondition: classify n = classify p, classify q = CDec
val is_bigger_int_than : t -> UnsignedNat.t -> bool
Test if an integer whose absolute value is bounded
\ No newline at end of file
+Signed (rocq-runtime.NumTok.Signed) Module NumTok.Signed
type t = sign * Unsigned.t
val is_zero : t -> bool
val of_nat : UnsignedNat.t -> t
val of_int : SignedNat.t -> t
val to_int : t -> SignedNat.t option
val is_int : t -> bool
val sprint : t -> string
val parse_string : string -> t option
Parse the string as a signed Rocq number, if possible
val of_int_string : string -> t
Convert from a string in the syntax of OCaml's int/int64
val of_string : string -> t
Convert from a string in the syntax of OCaml's string_of_float
val to_string : t -> string
Returns a string in the syntax of OCaml's float_of_string
val to_bigint : t -> Z.t option
Convert from and to bigint when the denotation of a bigint
val of_int_frac_and_exponent : SignedNat.t -> UnsignedNat.t option -> SignedNat.t option -> t
val to_int_frac_and_exponent : t -> SignedNat.t * UnsignedNat.t option * SignedNat.t option
n, p and q such that the number is n.p*10^q or n.p*2^q pre/postcondition: classify n = classify p, classify q = CDec
val is_bigger_int_than : t -> UnsignedNat.t -> bool
Test if an integer whose absolute value is bounded
\ No newline at end of file
diff --git a/master/api/rocq-runtime/NumTok/Unsigned/index.html b/master/api/rocq-runtime/NumTok/Unsigned/index.html
index aeabaed56c..1af0a11330 100644
--- a/master/api/rocq-runtime/NumTok/Unsigned/index.html
+++ b/master/api/rocq-runtime/NumTok/Unsigned/index.html
@@ -1,2 +1,2 @@
-Unsigned (rocq-runtime.NumTok.Unsigned) Module NumTok.Unsigned
val is_nat : t -> bool
val to_nat : t -> string option
val sprint : t -> string
val parse : (unit, char) Gramlib.Stream.t -> t
Parse a positive Coq number. Precondition: the first char on the stream is already known to be a digit ([0-9]). Precondition: at least two extra chars after the number to parse.
The recognized syntax is:
- integer part: [0-9][0-9_]*
- fractional part: empty or .[0-9_]+
- exponent part: empty or [eE][+-]?[0-9][0-9_]* or
- integer part: 0[xX][0-9a-fA-F][0-9a-fA-F_]*
- fractional part: empty or .[0-9a-fA-F_]+
- exponent part: empty or [pP][+-]?[0-9][0-9_]*
val parse_string : string -> t option
Parse the string as a non negative Coq number, if possible
\ No newline at end of file
+Unsigned (rocq-runtime.NumTok.Unsigned) Module NumTok.Unsigned
val is_nat : t -> bool
val to_nat : t -> string option
val sprint : t -> string
val parse : (unit, char) Gramlib.Stream.t -> t
Parse a positive Rocq number. Precondition: the first char on the stream is already known to be a digit ([0-9]). Precondition: at least two extra chars after the number to parse.
The recognized syntax is:
- integer part: [0-9][0-9_]*
- fractional part: empty or .[0-9_]+
- exponent part: empty or [eE][+-]?[0-9][0-9_]* or
- integer part: 0[xX][0-9a-fA-F][0-9a-fA-F_]*
- fractional part: empty or .[0-9a-fA-F_]+
- exponent part: empty or [pP][+-]?[0-9][0-9_]*
val parse_string : string -> t option
Parse the string as a non negative Rocq number, if possible
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Patternops/index.html b/master/api/rocq-runtime/Patternops/index.html
index 10919fb1be..d6658f7e7d 100644
--- a/master/api/rocq-runtime/Patternops/index.html
+++ b/master/api/rocq-runtime/Patternops/index.html
@@ -1,2 +1,2 @@
-Patternops (rocq-runtime.Patternops) Module Patternops
Functions on patterns
val constr_pattern_eq : Environ.env -> Pattern.constr_pattern -> Pattern.constr_pattern -> bool
val subst_pattern : Environ.env -> Evd.evar_map -> Mod_subst.substitution -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
val noccurn_pattern : int -> _ Pattern.constr_pattern_r -> bool
head_pattern_bound t
extracts the head variable/constant of the type t
or raises BoundPattern
(even if a sort); it raises an anomaly if t
is an abstraction
val head_pattern_bound : Pattern.constr_pattern -> Names.GlobRef.t
head_of_constr_reference c
assumes r
denotes a reference and returns its label; raises an anomaly otherwise
val head_of_constr_reference : Evd.evar_map -> EConstr.constr -> Names.GlobRef.t
pattern_of_constr c
translates a term c
with metavariables into a pattern; currently, no destructor (Cases, Fix, Cofix) and no existential variable are allowed in c
val pattern_of_constr : Environ.env -> Evd.evar_map -> EConstr.constr -> Pattern.constr_pattern
val legacy_bad_pattern_of_constr : Environ.env -> Evd.evar_map -> EConstr.constr -> Pattern.constr_pattern
Do not use, for internal Coq use only.
pattern_of_glob_constr l c
translates a term c
with metavariables into a pattern; variables bound in l
are replaced by the pattern to which they are bound
val pattern_of_glob_constr : Environ.env -> Glob_term.glob_constr -> Names.Id.Set.t * Pattern.constr_pattern
val uninstantiated_pattern_of_glob_constr : Environ.env -> Glob_term.glob_constr -> Names.Id.Set.t * [ `uninstantiated ] Pattern.constr_pattern_r
val map_pattern_with_binders : (Names.Name.t -> 'a -> 'a) -> ('a -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r) -> 'a -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
val lift_pattern : int -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
Interp genargs
type 'a pat_interp_fun = Environ.env -> Evd.evar_map -> Ltac_pretype.ltac_var_map -> 'a -> Pattern.constr_pattern
val interp_pattern : [ `uninstantiated ] Pattern.constr_pattern_r pat_interp_fun
val register_interp_pat : (_, 'g, _) Genarg.genarg_type -> 'g pat_interp_fun -> unit
\ No newline at end of file
+Patternops (rocq-runtime.Patternops) Module Patternops
Functions on patterns
val constr_pattern_eq : Environ.env -> Pattern.constr_pattern -> Pattern.constr_pattern -> bool
val subst_pattern : Environ.env -> Evd.evar_map -> Mod_subst.substitution -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
val noccurn_pattern : int -> _ Pattern.constr_pattern_r -> bool
head_pattern_bound t
extracts the head variable/constant of the type t
or raises BoundPattern
(even if a sort); it raises an anomaly if t
is an abstraction
val head_pattern_bound : Pattern.constr_pattern -> Names.GlobRef.t
head_of_constr_reference c
assumes r
denotes a reference and returns its label; raises an anomaly otherwise
val head_of_constr_reference : Evd.evar_map -> EConstr.constr -> Names.GlobRef.t
pattern_of_constr c
translates a term c
with metavariables into a pattern; currently, no destructor (Cases, Fix, Cofix) and no existential variable are allowed in c
val pattern_of_constr : Environ.env -> Evd.evar_map -> EConstr.constr -> Pattern.constr_pattern
val legacy_bad_pattern_of_constr : Environ.env -> Evd.evar_map -> EConstr.constr -> Pattern.constr_pattern
Do not use, for internal Rocq use only.
pattern_of_glob_constr l c
translates a term c
with metavariables into a pattern; variables bound in l
are replaced by the pattern to which they are bound
val pattern_of_glob_constr : Environ.env -> Glob_term.glob_constr -> Names.Id.Set.t * Pattern.constr_pattern
val uninstantiated_pattern_of_glob_constr : Environ.env -> Glob_term.glob_constr -> Names.Id.Set.t * [ `uninstantiated ] Pattern.constr_pattern_r
val map_pattern_with_binders : (Names.Name.t -> 'a -> 'a) -> ('a -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r) -> 'a -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
val lift_pattern : int -> 'i Pattern.constr_pattern_r -> 'i Pattern.constr_pattern_r
Interp genargs
type 'a pat_interp_fun = Environ.env -> Evd.evar_map -> Ltac_pretype.ltac_var_map -> 'a -> Pattern.constr_pattern
val interp_pattern : [ `uninstantiated ] Pattern.constr_pattern_r pat_interp_fun
val register_interp_pat : (_, 'g, _) Genarg.genarg_type -> 'g pat_interp_fun -> unit
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Pcoq/index.html b/master/api/rocq-runtime/Pcoq/index.html
index 7b2186de35..d21720f319 100644
--- a/master/api/rocq-runtime/Pcoq/index.html
+++ b/master/api/rocq-runtime/Pcoq/index.html
@@ -1,9 +1,9 @@
Pcoq (rocq-runtime.Pcoq) Module Pcoq
Deprecated alias for Procq
include module type of struct include Procq end
include Gramlib.Grammar.S with type keyword_state := CLexer.keyword_state and type te := Tok.t and type 'a pattern := 'a Tok.p and type 'a with_gstate
-:= 'a and type 'a with_kwstate := 'a and type 'a with_estate := 'a and type 'a mod_estate := 'a
Type combinators to factor the module type between explicit state passing in Grammar and global state in Procq
module Parsable = Procq.Parsable
module Entry = Procq.Entry
module Symbol = Procq.Symbol
module Rule = Procq.Rule
module Rules = Procq.Rules
module Production = Procq.Production
type 'a single_extend_statement = string option * Gramlib.Gramext.g_assoc option * 'a Production.t list
type 'a extend_statement = 'a Procq.extend_statement =
| Reuse of string option * 'a Production.t list
(*Extend an existing level by its optional given name. If None, picks the topmost level.
*) | Fresh of Gramlib.Gramext.position * 'a single_extend_statement list
(*Create a level at the given position.
*)
val generalize_symbol : ('a, 'tr, 'c) Symbol.t -> ('b, Gramlib.Grammar.norec, 'c) Symbol.t option
val level_of_nonterm : ('a, Gramlib.Grammar.norec, 'c) Symbol.t -> string option
module Lookahead = Procq.Lookahead
val terminal : string -> string Tok.p
When string is not an ident, returns a keyword.
The parser of Coq is built from three kinds of rule declarations:
- dynamic rules declared at the evaluation of Coq files (using e.g. Notation, Infix, or Tactic Notation)
- static rules explicitly defined in files g_*.mlg
- static rules macro-generated by ARGUMENT EXTEND, TACTIC EXTEND and VERNAC EXTEND (see e.g. file extratactics.mlg)
Note that parsing a Coq document is in essence stateful: the parser needs to recognize commands that start proofs and use a different parsing entry point for them.
We thus provide two different interfaces: the "raw" parsing interface, in the style of camlp5, which provides more flexibility, and a more specialize "parse_vernac" one, which will indeed adjust the state as needed.
Dynamic extension of rules
For constr notations, dynamic addition of new rules is done in several steps:
- "x + y" (user gives a notation string of type Topconstr.notation) | (together with a constr entry level, e.g. 50, and indications of) | (subentries, e.g. x in constr next level and y constr same level) | | splitting into tokens by Metasyntax.split_notation_string V
String "x"; String "+"; String "y"
: symbol_token list | | interpreted as a mixed parsing/printing production | by Metasyntax.analyse_notation_tokens V NonTerminal "x"; Terminal "+"; NonTerminal "y"
: symbol list | | translated to a parsing production by Metasyntax.make_production V GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Left,LeftA)),
+:= 'a and type 'a with_kwstate := 'a and type 'a with_estate := 'a and type 'a mod_estate := 'a
Type combinators to factor the module type between explicit state passing in Grammar and global state in Procq
module Parsable = Procq.Parsable
module Entry = Procq.Entry
module Symbol = Procq.Symbol
module Rule = Procq.Rule
module Rules = Procq.Rules
module Production = Procq.Production
type 'a single_extend_statement = string option * Gramlib.Gramext.g_assoc option * 'a Production.t list
type 'a extend_statement = 'a Procq.extend_statement =
| Reuse of string option * 'a Production.t list
(*Extend an existing level by its optional given name. If None, picks the topmost level.
*) | Fresh of Gramlib.Gramext.position * 'a single_extend_statement list
(*Create a level at the given position.
*)
val generalize_symbol : ('a, 'tr, 'c) Symbol.t -> ('b, Gramlib.Grammar.norec, 'c) Symbol.t option
val level_of_nonterm : ('a, Gramlib.Grammar.norec, 'c) Symbol.t -> string option
module Lookahead = Procq.Lookahead
val terminal : string -> string Tok.p
When string is not an ident, returns a keyword.
The parser of Rocq is built from three kinds of rule declarations:
- dynamic rules declared at the evaluation of Rocq files (using e.g. Notation, Infix, or Tactic Notation)
- static rules explicitly defined in files g_*.mlg
- static rules macro-generated by ARGUMENT EXTEND, TACTIC EXTEND and VERNAC EXTEND (see e.g. file extratactics.mlg)
Note that parsing a Rocq document is in essence stateful: the parser needs to recognize commands that start proofs and use a different parsing entry point for them.
We thus provide two different interfaces: the "raw" parsing interface, in the style of camlp5, which provides more flexibility, and a more specialize "parse_vernac" one, which will indeed adjust the state as needed.
Dynamic extension of rules
For constr notations, dynamic addition of new rules is done in several steps:
- "x + y" (user gives a notation string of type Topconstr.notation) | (together with a constr entry level, e.g. 50, and indications of) | (subentries, e.g. x in constr next level and y constr same level) | | splitting into tokens by Metasyntax.split_notation_string V
String "x"; String "+"; String "y"
: symbol_token list | | interpreted as a mixed parsing/printing production | by Metasyntax.analyse_notation_tokens V NonTerminal "x"; Terminal "+"; NonTerminal "y"
: symbol list | | translated to a parsing production by Metasyntax.make_production V GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Left,LeftA)),
Some "x");
GramConstrTerminal ("","+");
GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Right,LeftA)),
Some "y")
: grammar_constr_prod_item list | | Egrammar.make_constr_prod_item V Gramext.g_symbol list which is sent to camlp5
For user level tactic notations, dynamic addition of new rules is also done in several steps:
- "f" constr(x) (user gives a Tactic Notation command) | | parsing V
TacTerm "f"; TacNonTerm ("constr", Some "x")
: grammar_tactic_prod_item_expr list | | Metasyntax.interp_prod_item V GramTerminal "f";
GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x")
: grammar_prod_item list | | Egrammar.make_prod_item V Gramext.g_symbol list
For TACTIC/VERNAC/ARGUMENT EXTEND, addition of new rules is done as follows:
- "f" constr(x) (developer gives an EXTEND rule) | | macro-generation in tacextend.mlg/vernacextend.mlg/argextend.mlg V
GramTerminal "f";
- GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x")
| | Egrammar.make_prod_item V Gramext.g_symbol list
Parse a string
val create_generic_entry2 : string -> ('a, Genarg.rlevel) Genarg.abstract_argument_type -> 'a Entry.t
val register_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t -> unit
val genarg_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t
module Prim = Procq.Prim
module Constr = Procq.Constr
module Module = Procq.Module
Type-safe grammar extension
val epsilon_value : ('a -> 'self) -> ('self, _, 'a) Symbol.t -> 'self option
Extending the parser without synchronization
val grammar_extend : 'a Entry.t -> 'a extend_statement -> unit
Extend the grammar of Coq, without synchronizing it with the backtracking mechanism. This means that grammar extensions defined this way will survive an undo.
Extending the parser with summary-synchronized commands
module GramState = Procq.GramState
Auxiliary state of the grammar. Any added data must be marshallable.
Extension with parsing rules
type 'a grammar_command = 'a Procq.grammar_command
Type of synchronized parsing extensions. The 'a
type should be marshallable.
type gram_reinit = Gramlib.Gramext.g_assoc * Gramlib.Gramext.position
Type of reinitialization data
type extend_rule = Procq.extend_rule =
| ExtendRule : 'a Entry.t * 'a extend_statement -> extend_rule
| ExtendRuleReinit : 'a Entry.t * gram_reinit * 'a extend_statement -> extend_rule
type 'a grammar_extension = 'a Procq.grammar_extension = {
gext_fun : 'a -> GramState.t -> extend_rule list * GramState.t;
gext_eq : 'a -> 'a -> bool;
}
Grammar extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of grammar extensions that will be applied in the same order and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_grammar_command : string -> 'a grammar_extension -> 'a grammar_command
Create a new grammar-modifying command with the given name. The extension function is called to generate the rules for a given data.
val extend_grammar_command : 'a grammar_command -> 'a -> unit
Extend the grammar of Coq with the given data.
Extension with parsing entries
type ('a, 'b) entry_command = ('a, 'b) Procq.entry_command
Type of synchronized entry creation. The 'a
type should be marshallable.
type ('a, 'b) entry_extension = ('a, 'b) Procq.entry_extension = {
eext_fun : 'a -> GramState.t -> string list * GramState.t;
eext_eq : 'a -> 'a -> bool;
}
Entry extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of entry extensions that will be created and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_entry_command : string -> ('a, 'b) entry_extension -> ('a, 'b) entry_command
Create a new entry-creating command with the given name. The extension function is called to generate the new entries for a given data.
val extend_entry_command : ('a, 'b) entry_command -> 'a -> 'b Entry.t list
Create new synchronized entries using the provided data.
val find_custom_entry : ('a, 'b) entry_command -> string -> 'b Entry.t
Find an entry generated by the synchronized system in the current state.
Protection w.r.t. backtrack
type frozen_t = Procq.frozen_t
val parser_summary_tag : frozen_t Summary.Dyn.tag
Registering grammars by name
val register_grammars_by_name : string -> Entry.any_t list -> unit
val find_grammars_by_name : string -> Entry.any_t list
val freeze : unit -> frozen_t
Parsing state handling
val unfreeze : frozen_t -> unit
val get_keyword_state : unit -> CLexer.keyword_state
val set_keyword_state : CLexer.keyword_state -> unit
\ No newline at end of file
+ GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x") | | Egrammar.make_prod_item V Gramext.g_symbol listParse a string
val create_generic_entry2 : string -> ('a, Genarg.rlevel) Genarg.abstract_argument_type -> 'a Entry.t
val register_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t -> unit
val genarg_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t
module Prim = Procq.Prim
module Constr = Procq.Constr
module Module = Procq.Module
Type-safe grammar extension
val epsilon_value : ('a -> 'self) -> ('self, _, 'a) Symbol.t -> 'self option
Extending the parser without synchronization
val grammar_extend : 'a Entry.t -> 'a extend_statement -> unit
Extend the grammar of Rocq, without synchronizing it with the backtracking mechanism. This means that grammar extensions defined this way will survive an undo.
Extending the parser with summary-synchronized commands
module GramState = Procq.GramState
Auxiliary state of the grammar. Any added data must be marshallable.
Extension with parsing rules
type 'a grammar_command = 'a Procq.grammar_command
Type of synchronized parsing extensions. The 'a
type should be marshallable.
type gram_reinit = Gramlib.Gramext.g_assoc * Gramlib.Gramext.position
Type of reinitialization data
type extend_rule = Procq.extend_rule =
| ExtendRule : 'a Entry.t * 'a extend_statement -> extend_rule
| ExtendRuleReinit : 'a Entry.t * gram_reinit * 'a extend_statement -> extend_rule
type 'a grammar_extension = 'a Procq.grammar_extension = {
gext_fun : 'a -> GramState.t -> extend_rule list * GramState.t;
gext_eq : 'a -> 'a -> bool;
}
Grammar extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of grammar extensions that will be applied in the same order and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_grammar_command : string -> 'a grammar_extension -> 'a grammar_command
Create a new grammar-modifying command with the given name. The extension function is called to generate the rules for a given data.
val extend_grammar_command : 'a grammar_command -> 'a -> unit
Extend the grammar of Rocq with the given data.
Extension with parsing entries
type ('a, 'b) entry_command = ('a, 'b) Procq.entry_command
Type of synchronized entry creation. The 'a
type should be marshallable.
type ('a, 'b) entry_extension = ('a, 'b) Procq.entry_extension = {
eext_fun : 'a -> GramState.t -> string list * GramState.t;
eext_eq : 'a -> 'a -> bool;
}
Entry extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of entry extensions that will be created and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_entry_command : string -> ('a, 'b) entry_extension -> ('a, 'b) entry_command
Create a new entry-creating command with the given name. The extension function is called to generate the new entries for a given data.
val extend_entry_command : ('a, 'b) entry_command -> 'a -> 'b Entry.t list
Create new synchronized entries using the provided data.
val find_custom_entry : ('a, 'b) entry_command -> string -> 'b Entry.t
Find an entry generated by the synchronized system in the current state.
Protection w.r.t. backtrack
type frozen_t = Procq.frozen_t
val parser_summary_tag : frozen_t Summary.Dyn.tag
Registering grammars by name
val register_grammars_by_name : string -> Entry.any_t list -> unit
val find_grammars_by_name : string -> Entry.any_t list
val freeze : unit -> frozen_t
Parsing state handling
val unfreeze : frozen_t -> unit
val get_keyword_state : unit -> CLexer.keyword_state
val set_keyword_state : CLexer.keyword_state -> unit
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Pp/index.html b/master/api/rocq-runtime/Pp/index.html
index f276ae1414..3a17364ad4 100644
--- a/master/api/rocq-runtime/Pp/index.html
+++ b/master/api/rocq-runtime/Pp/index.html
@@ -1,2 +1,2 @@
-Pp (rocq-runtime.Pp) Module Pp
Coq document type.
Pretty printing guidelines
Pp.t
is the main pretty printing document type in the Coq system. Documents are composed laying out boxes, and users can add arbitrary tag metadata that backends are free to interpret.
The datatype has a public view to allow serialization or advanced uses, however regular users are _strongly_ warned against its use, they should instead rely on the available functions below.
Box order and number is indeed an important factor. Try to create a proper amount of boxes. The ++
operator provides "efficient" concatenation, but using the list constructors is usually preferred.
That is to say, this:
hov [str "Term"; hov (pr_term t); str "is defined"]
is preferred to:
hov (str "Term" ++ hov (pr_term t) ++ str "is defined")
type doc_view =
| Ppcmd_empty
| Ppcmd_string of string
| Ppcmd_glue of t list
| Ppcmd_box of block_type * t
| Ppcmd_tag of pp_tag * t
| Ppcmd_print_break of int * int
| Ppcmd_force_newline
| Ppcmd_comment of string list
Formatting commands
val str : string -> t
val brk : (int * int) -> t
val fnl : unit -> t
val ws : int -> t
val mt : unit -> t
val ismt : t -> bool
val comment : string list -> t
Manipulation commands
Derived commands
val spc : unit -> t
val cut : unit -> t
val align : unit -> t
val int : int -> t
val int64 : Stdlib.Int64.t -> t
val real : float -> t
val bool : bool -> t
val qstring : string -> t
val qs : string -> t
val strbrk : string -> t
Boxing commands
Tagging
Printing combinators
val pr_comma : unit -> t
Well-spaced comma.
val pr_semicolon : unit -> t
Well-spaced semicolon.
val pr_bar : unit -> t
Well-spaced pipe bar.
val pr_spcbar : unit -> t
Pipe bar with space before and after.
Inner object preceded with a space if Some
, nothing otherwise.
Prints pr v
if ov
is Some v
, else prdf ()
.
Same as pr_opt_default
but without the leading space.
val pr_nth : int -> t
Ordinal number with the correct suffix (i.e. "st", "nd", "th", etc.).
Concatenation of the list contents, without any separator.
Unlike all other functions below, prlist
works lazily. If a strict behavior is needed, use prlist_strict
instead.
prlist_with_sep sep pr [a ; ... ; c]
outputs pr a ++ sep () ++ ... ++ sep () ++ pr c
. where the thunk sep is memoized, rather than being called each place its result is used.
Indexed version of prvect_with_sep
.
pr_enum pr [a ; b ; ... ; c]
outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "and" ++ spc () ++ pr c
.
pr_choice pr [a ; b ; ... ; c]
outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "or" ++ spc () ++ pr c
.
Sequence of objects separated by space (unless an element is empty).
Main renderers, to formatter and to string
val pp_with : Stdlib.Format.formatter -> t -> unit
pp_with fmt pp
Print pp
to fmt
and don't flush fmt
val string_of_ppcmds : t -> string
val db_print_pp : Stdlib.Format.formatter -> t -> unit
Print the Pp in tree form for debugging
val db_string_of_pp : t -> string
Print the Pp in tree form for debugging, return as a string
val pp_as_format : ?with_tags:bool -> t -> string * string list
Returns fmt, args
such that fmt
is a format string which applied to args
produces the same result as pp_with
.
with_tags
default false.
\ No newline at end of file
+Pp (rocq-runtime.Pp) Module Pp
Rocq document type.
Pretty printing guidelines
Pp.t
is the main pretty printing document type in the Rocq system. Documents are composed laying out boxes, and users can add arbitrary tag metadata that backends are free to interpret.
The datatype has a public view to allow serialization or advanced uses, however regular users are _strongly_ warned against its use, they should instead rely on the available functions below.
Box order and number is indeed an important factor. Try to create a proper amount of boxes. The ++
operator provides "efficient" concatenation, but using the list constructors is usually preferred.
That is to say, this:
hov [str "Term"; hov (pr_term t); str "is defined"]
is preferred to:
hov (str "Term" ++ hov (pr_term t) ++ str "is defined")
type doc_view =
| Ppcmd_empty
| Ppcmd_string of string
| Ppcmd_glue of t list
| Ppcmd_box of block_type * t
| Ppcmd_tag of pp_tag * t
| Ppcmd_print_break of int * int
| Ppcmd_force_newline
| Ppcmd_comment of string list
Formatting commands
val str : string -> t
val brk : (int * int) -> t
val fnl : unit -> t
val ws : int -> t
val mt : unit -> t
val ismt : t -> bool
val comment : string list -> t
Manipulation commands
Derived commands
val spc : unit -> t
val cut : unit -> t
val align : unit -> t
val int : int -> t
val int64 : Stdlib.Int64.t -> t
val real : float -> t
val bool : bool -> t
val qstring : string -> t
val qs : string -> t
val strbrk : string -> t
Boxing commands
Tagging
Printing combinators
val pr_comma : unit -> t
Well-spaced comma.
val pr_semicolon : unit -> t
Well-spaced semicolon.
val pr_bar : unit -> t
Well-spaced pipe bar.
val pr_spcbar : unit -> t
Pipe bar with space before and after.
Inner object preceded with a space if Some
, nothing otherwise.
Prints pr v
if ov
is Some v
, else prdf ()
.
Same as pr_opt_default
but without the leading space.
val pr_nth : int -> t
Ordinal number with the correct suffix (i.e. "st", "nd", "th", etc.).
Concatenation of the list contents, without any separator.
Unlike all other functions below, prlist
works lazily. If a strict behavior is needed, use prlist_strict
instead.
prlist_with_sep sep pr [a ; ... ; c]
outputs pr a ++ sep () ++ ... ++ sep () ++ pr c
. where the thunk sep is memoized, rather than being called each place its result is used.
Indexed version of prvect_with_sep
.
pr_enum pr [a ; b ; ... ; c]
outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "and" ++ spc () ++ pr c
.
pr_choice pr [a ; b ; ... ; c]
outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "or" ++ spc () ++ pr c
.
Sequence of objects separated by space (unless an element is empty).
Main renderers, to formatter and to string
val pp_with : Stdlib.Format.formatter -> t -> unit
pp_with fmt pp
Print pp
to fmt
and don't flush fmt
val string_of_ppcmds : t -> string
val db_print_pp : Stdlib.Format.formatter -> t -> unit
Print the Pp in tree form for debugging
val db_string_of_pp : t -> string
Print the Pp in tree form for debugging, return as a string
val pp_as_format : ?with_tags:bool -> t -> string * string list
Returns fmt, args
such that fmt
is a format string which applied to args
produces the same result as pp_with
.
with_tags
default false.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Pp_diff/index.html b/master/api/rocq-runtime/Pp_diff/index.html
index 8b0dfd1b4a..2d0e0c15d8 100644
--- a/master/api/rocq-runtime/Pp_diff/index.html
+++ b/master/api/rocq-runtime/Pp_diff/index.html
@@ -1,3 +1,3 @@
-Pp_diff (rocq-runtime.Pp_diff) Module Pp_diff
Computes the differences between 2 Pp's and adds additional tags to a Pp to highlight them. Strings are split into tokens using the Coq lexer, then the lists of tokens are diffed using the Myers algorithm. A fixup routine, shorten_diff_span, shortens the span of the diff result in some cases.
Highlights use 4 tags to specify the color and underline/strikeout. These are "diffs.added", "diffs.removed", "diffs.added.bg" and "diffs.removed.bg". The first two are for added or removed text; the last two are for unmodified parts of a modified item. Diffs that span multiple strings in the Pp are tagged with "start.diff.*" and "end.diff.*", but only on the first and last strings of the span.
If the inputs are not acceptable to the lexer, break the strings into lists of tokens and call diff_strs, then add_diff_tags with a Pp.t that matches the input lists of strings. Tokens that the lexer doesn't return exactly as they appeared in the input will raise an exception in add_diff_tags (e.g. comments and quoted strings). Fixing that requires tweaking the lexer.
Limitations/Possible enhancements:
- Make diff_pp immune to unlexable strings by adding a flag to the lexer.
Compute the diff between two Pp.t structures and return versions of each with diffs highlighted as (old, new)
val diff_pp_combined : ?tokenize_string:(string -> string list) ->
+Pp_diff (rocq-runtime.Pp_diff) Module Pp_diff
Computes the differences between 2 Pp's and adds additional tags to a Pp to highlight them. Strings are split into tokens using the Rocq lexer, then the lists of tokens are diffed using the Myers algorithm. A fixup routine, shorten_diff_span, shortens the span of the diff result in some cases.
Highlights use 4 tags to specify the color and underline/strikeout. These are "diffs.added", "diffs.removed", "diffs.added.bg" and "diffs.removed.bg". The first two are for added or removed text; the last two are for unmodified parts of a modified item. Diffs that span multiple strings in the Pp are tagged with "start.diff.*" and "end.diff.*", but only on the first and last strings of the span.
If the inputs are not acceptable to the lexer, break the strings into lists of tokens and call diff_strs, then add_diff_tags with a Pp.t that matches the input lists of strings. Tokens that the lexer doesn't return exactly as they appeared in the input will raise an exception in add_diff_tags (e.g. comments and quoted strings). Fixing that requires tweaking the lexer.
Limitations/Possible enhancements:
- Make diff_pp immune to unlexable strings by adding a flag to the lexer.
Compute the diff between two Pp.t structures and return versions of each with diffs highlighted as (old, new)
val diff_pp_combined : ?tokenize_string:(string -> string list) ->
?show_removed:bool -> Pp.t -> Pp.t -> Pp.t
Compute the diff between two Pp.t structures and return a highlighted Pp.t. If show_removed
is true, show separate lines for removals and additions, otherwise only show additions
module StringDiff : sig ... end
type diff_list = StringDiff.elem Diff2.edit list
val diff_str : ?tokenize_string:(string -> string list) -> string -> string -> StringDiff.elem Diff2.edit list
Compute the difference between 2 strings in terms of tokens, using the lexer to identify tokens.
If the strings are not lexable, this routine will raise Diff_Failure. (I expect to modify the lexer soon so this won't happen.)
Therefore you should catch any exceptions. The workaround for now is for the caller to tokenize the strings itself and then call diff_strs.
val diff_strs : StringDiff.t -> StringDiff.t -> StringDiff.elem Diff2.edit list
Compute the differences between 2 lists of strings, treating the strings in the lists as indivisible units.
val add_diff_tags : diff_type -> Pp.t -> StringDiff.elem Diff2.edit list -> Pp.t
Generate a new Pp that adds tags marking diffs to a Pp structure: which: either `Added or `Removed, indicates which type of diffs to add pp: the original structure. For `Added, must be the new pp passed to diff_pp For `Removed, must be the old pp passed to diff_pp. Passing the wrong one will likely raise Diff_Failure. diffs: the diff list returned by diff_pp
Diffs of single strings in the Pp are tagged with "diff.added" or "diff.removed". Diffs that span multiple strings in the Pp are tagged with "start.diff.*" or "end.diff.*", but only on the first and last strings of the span.
Ppcmd_strings will be split into multiple Ppcmd_strings if a diff starts or ends in the middle of the string. Whitespace just before or just after a diff will not be part of the highlight.
Preexisting tags in pp may contain only a single Ppcmd_string. Those tags will be placed inside the diff tags to ensure proper nesting of tags within spans of "start.diff.*" ... "end.diff.*".
Under some "impossible" conditions, this routine may raise Diff_Failure. If you want to make your call especially bulletproof, catch this exception, print a user-visible message, then recall this routine with the first argument set to None, which will skip the diff.
val has_changes : diff_list -> bool * bool
Returns a boolean pair (added, removed) for diffs
where a true value indicates that something was added/removed in the diffs.
val get_dinfo : StringDiff.elem Diff2.edit -> diff_type * string
Returns a modified pp
with the background highlighted with "start.<diff_tag>.bg" and "end.<diff_tag>.bg" tags at the beginning and end of the returned Pp.t
val string_of_diffs : diff_list -> string
Displays the diffs to a printable format for debugging
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Procq/index.html b/master/api/rocq-runtime/Procq/index.html
index 399a45288b..951eaef7a1 100644
--- a/master/api/rocq-runtime/Procq/index.html
+++ b/master/api/rocq-runtime/Procq/index.html
@@ -1,9 +1,9 @@
-Procq (rocq-runtime.Procq) Module Procq
The parser of Coq
include Gramlib.Grammar.S with type keyword_state := CLexer.keyword_state and type te := Tok.t and type 'a pattern := 'a Tok.p and type 'a with_gstate
-:= 'a and type 'a with_kwstate := 'a and type 'a with_estate := 'a and type 'a mod_estate := 'a
Type combinators to factor the module type between explicit state passing in Grammar and global state in Procq
module Parsable : sig ... end
module Entry : sig ... end
module Symbol : sig ... end
module Rule : sig ... end
module Rules : sig ... end
module Production : sig ... end
type 'a single_extend_statement = string option * Gramlib.Gramext.g_assoc option * 'a Production.t list
type 'a extend_statement =
| Reuse of string option * 'a Production.t list
(*Extend an existing level by its optional given name. If None, picks the topmost level.
*) | Fresh of Gramlib.Gramext.position * 'a single_extend_statement list
(*Create a level at the given position.
*)
val generalize_symbol : ('a, 'tr, 'c) Symbol.t -> ('b, Gramlib.Grammar.norec, 'c) Symbol.t option
val level_of_nonterm : ('a, Gramlib.Grammar.norec, 'c) Symbol.t -> string option
module Lookahead : sig ... end
val terminal : string -> string Tok.p
When string is not an ident, returns a keyword.
The parser of Coq is built from three kinds of rule declarations:
- dynamic rules declared at the evaluation of Coq files (using e.g. Notation, Infix, or Tactic Notation)
- static rules explicitly defined in files g_*.mlg
- static rules macro-generated by ARGUMENT EXTEND, TACTIC EXTEND and VERNAC EXTEND (see e.g. file extratactics.mlg)
Note that parsing a Coq document is in essence stateful: the parser needs to recognize commands that start proofs and use a different parsing entry point for them.
We thus provide two different interfaces: the "raw" parsing interface, in the style of camlp5, which provides more flexibility, and a more specialize "parse_vernac" one, which will indeed adjust the state as needed.
Dynamic extension of rules
For constr notations, dynamic addition of new rules is done in several steps:
- "x + y" (user gives a notation string of type Topconstr.notation) | (together with a constr entry level, e.g. 50, and indications of) | (subentries, e.g. x in constr next level and y constr same level) | | splitting into tokens by Metasyntax.split_notation_string V
String "x"; String "+"; String "y"
: symbol_token list | | interpreted as a mixed parsing/printing production | by Metasyntax.analyse_notation_tokens V NonTerminal "x"; Terminal "+"; NonTerminal "y"
: symbol list | | translated to a parsing production by Metasyntax.make_production V GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Left,LeftA)),
+Procq (rocq-runtime.Procq) Module Procq
The parser of Rocq
include Gramlib.Grammar.S with type keyword_state := CLexer.keyword_state and type te := Tok.t and type 'a pattern := 'a Tok.p and type 'a with_gstate
+:= 'a and type 'a with_kwstate := 'a and type 'a with_estate := 'a and type 'a mod_estate := 'a
Type combinators to factor the module type between explicit state passing in Grammar and global state in Procq
module Parsable : sig ... end
module Entry : sig ... end
module Symbol : sig ... end
module Rule : sig ... end
module Rules : sig ... end
module Production : sig ... end
type 'a single_extend_statement = string option * Gramlib.Gramext.g_assoc option * 'a Production.t list
type 'a extend_statement =
| Reuse of string option * 'a Production.t list
(*Extend an existing level by its optional given name. If None, picks the topmost level.
*) | Fresh of Gramlib.Gramext.position * 'a single_extend_statement list
(*Create a level at the given position.
*)
val generalize_symbol : ('a, 'tr, 'c) Symbol.t -> ('b, Gramlib.Grammar.norec, 'c) Symbol.t option
val level_of_nonterm : ('a, Gramlib.Grammar.norec, 'c) Symbol.t -> string option
module Lookahead : sig ... end
val terminal : string -> string Tok.p
When string is not an ident, returns a keyword.
The parser of Rocq is built from three kinds of rule declarations:
- dynamic rules declared at the evaluation of Rocq files (using e.g. Notation, Infix, or Tactic Notation)
- static rules explicitly defined in files g_*.mlg
- static rules macro-generated by ARGUMENT EXTEND, TACTIC EXTEND and VERNAC EXTEND (see e.g. file extratactics.mlg)
Note that parsing a Rocq document is in essence stateful: the parser needs to recognize commands that start proofs and use a different parsing entry point for them.
We thus provide two different interfaces: the "raw" parsing interface, in the style of camlp5, which provides more flexibility, and a more specialize "parse_vernac" one, which will indeed adjust the state as needed.
Dynamic extension of rules
For constr notations, dynamic addition of new rules is done in several steps:
- "x + y" (user gives a notation string of type Topconstr.notation) | (together with a constr entry level, e.g. 50, and indications of) | (subentries, e.g. x in constr next level and y constr same level) | | splitting into tokens by Metasyntax.split_notation_string V
String "x"; String "+"; String "y"
: symbol_token list | | interpreted as a mixed parsing/printing production | by Metasyntax.analyse_notation_tokens V NonTerminal "x"; Terminal "+"; NonTerminal "y"
: symbol list | | translated to a parsing production by Metasyntax.make_production V GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Left,LeftA)),
Some "x");
GramConstrTerminal ("","+");
GramConstrNonTerminal (ETConstr (NextLevel,(BorderProd Right,LeftA)),
Some "y")
: grammar_constr_prod_item list | | Egrammar.make_constr_prod_item V Gramext.g_symbol list which is sent to camlp5
For user level tactic notations, dynamic addition of new rules is also done in several steps:
- "f" constr(x) (user gives a Tactic Notation command) | | parsing V
TacTerm "f"; TacNonTerm ("constr", Some "x")
: grammar_tactic_prod_item_expr list | | Metasyntax.interp_prod_item V GramTerminal "f";
GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x")
: grammar_prod_item list | | Egrammar.make_prod_item V Gramext.g_symbol list
For TACTIC/VERNAC/ARGUMENT EXTEND, addition of new rules is done as follows:
- "f" constr(x) (developer gives an EXTEND rule) | | macro-generation in tacextend.mlg/vernacextend.mlg/argextend.mlg V
GramTerminal "f";
- GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x")
| | Egrammar.make_prod_item V Gramext.g_symbol list
Parse a string
val create_generic_entry2 : string -> ('a, Genarg.rlevel) Genarg.abstract_argument_type -> 'a Entry.t
val register_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t -> unit
val genarg_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t
module Prim : sig ... end
module Constr : sig ... end
module Module : sig ... end
Type-safe grammar extension
val epsilon_value : ('a -> 'self) -> ('self, _, 'a) Symbol.t -> 'self option
Extending the parser without synchronization
val grammar_extend : 'a Entry.t -> 'a extend_statement -> unit
Extend the grammar of Coq, without synchronizing it with the backtracking mechanism. This means that grammar extensions defined this way will survive an undo.
Extending the parser with summary-synchronized commands
Extension with parsing rules
type gram_reinit = Gramlib.Gramext.g_assoc * Gramlib.Gramext.position
Type of reinitialization data
type extend_rule =
| ExtendRule : 'a Entry.t * 'a extend_statement -> extend_rule
| ExtendRuleReinit : 'a Entry.t * gram_reinit * 'a extend_statement -> extend_rule
type 'a grammar_extension = {
gext_fun : 'a -> GramState.t -> extend_rule list * GramState.t;
gext_eq : 'a -> 'a -> bool;
}
Grammar extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of grammar extensions that will be applied in the same order and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_grammar_command : string -> 'a grammar_extension -> 'a grammar_command
Create a new grammar-modifying command with the given name. The extension function is called to generate the rules for a given data.
val extend_grammar_command : 'a grammar_command -> 'a -> unit
Extend the grammar of Coq with the given data.
Extension with parsing entries
type ('a, 'b) entry_extension = {
eext_fun : 'a -> GramState.t -> string list * GramState.t;
eext_eq : 'a -> 'a -> bool;
}
Entry extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of entry extensions that will be created and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_entry_command : string -> ('a, 'b) entry_extension -> ('a, 'b) entry_command
Create a new entry-creating command with the given name. The extension function is called to generate the new entries for a given data.
val extend_entry_command : ('a, 'b) entry_command -> 'a -> 'b Entry.t list
Create new synchronized entries using the provided data.
val find_custom_entry : ('a, 'b) entry_command -> string -> 'b Entry.t
Find an entry generated by the synchronized system in the current state.
Protection w.r.t. backtrack
val parser_summary_tag : frozen_t Summary.Dyn.tag
Registering grammars by name
val register_grammars_by_name : string -> Entry.any_t list -> unit
val find_grammars_by_name : string -> Entry.any_t list
val freeze : unit -> frozen_t
Parsing state handling
val unfreeze : frozen_t -> unit
val get_keyword_state : unit -> CLexer.keyword_state
val set_keyword_state : CLexer.keyword_state -> unit
\ No newline at end of file
+ GramNonTerminal (ConstrArgType, Aentry ("constr","constr"), Some "x")
| | Egrammar.make_prod_item V Gramext.g_symbol list
Parse a string
val create_generic_entry2 : string -> ('a, Genarg.rlevel) Genarg.abstract_argument_type -> 'a Entry.t
val register_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t -> unit
val genarg_grammar : ('raw, 'glb, 'top) Genarg.genarg_type -> 'raw Entry.t
module Prim : sig ... end
module Constr : sig ... end
module Module : sig ... end
Type-safe grammar extension
val epsilon_value : ('a -> 'self) -> ('self, _, 'a) Symbol.t -> 'self option
Extending the parser without synchronization
val grammar_extend : 'a Entry.t -> 'a extend_statement -> unit
Extend the grammar of Rocq, without synchronizing it with the backtracking mechanism. This means that grammar extensions defined this way will survive an undo.
Extending the parser with summary-synchronized commands
Extension with parsing rules
type gram_reinit = Gramlib.Gramext.g_assoc * Gramlib.Gramext.position
Type of reinitialization data
type extend_rule =
| ExtendRule : 'a Entry.t * 'a extend_statement -> extend_rule
| ExtendRuleReinit : 'a Entry.t * gram_reinit * 'a extend_statement -> extend_rule
type 'a grammar_extension = {
gext_fun : 'a -> GramState.t -> extend_rule list * GramState.t;
gext_eq : 'a -> 'a -> bool;
}
Grammar extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of grammar extensions that will be applied in the same order and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_grammar_command : string -> 'a grammar_extension -> 'a grammar_command
Create a new grammar-modifying command with the given name. The extension function is called to generate the rules for a given data.
val extend_grammar_command : 'a grammar_command -> 'a -> unit
Extend the grammar of Rocq with the given data.
Extension with parsing entries
type ('a, 'b) entry_extension = {
eext_fun : 'a -> GramState.t -> string list * GramState.t;
eext_eq : 'a -> 'a -> bool;
}
Entry extension entry point. Given some 'a
and a current grammar state, such a function must produce the list of entry extensions that will be created and kept synchronized w.r.t. the summary, together with a new state. It should be pure.
val create_entry_command : string -> ('a, 'b) entry_extension -> ('a, 'b) entry_command
Create a new entry-creating command with the given name. The extension function is called to generate the new entries for a given data.
val extend_entry_command : ('a, 'b) entry_command -> 'a -> 'b Entry.t list
Create new synchronized entries using the provided data.
val find_custom_entry : ('a, 'b) entry_command -> string -> 'b Entry.t
Find an entry generated by the synchronized system in the current state.
Protection w.r.t. backtrack
val parser_summary_tag : frozen_t Summary.Dyn.tag
Registering grammars by name
val register_grammars_by_name : string -> Entry.any_t list -> unit
val find_grammars_by_name : string -> Entry.any_t list
val freeze : unit -> frozen_t
Parsing state handling
val unfreeze : frozen_t -> unit
val get_keyword_state : unit -> CLexer.keyword_state
val set_keyword_state : CLexer.keyword_state -> unit
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Program/index.html b/master/api/rocq-runtime/Program/index.html
index b8981704cc..04144a61c8 100644
--- a/master/api/rocq-runtime/Program/index.html
+++ b/master/api/rocq-runtime/Program/index.html
@@ -1,2 +1,2 @@
-Program (rocq-runtime.Program) Module Program
A bunch of Coq constants used by Program
val sig_typ : unit -> Names.GlobRef.t
val sig_intro : unit -> Names.GlobRef.t
val sig_proj1 : unit -> Names.GlobRef.t
val sigT_typ : unit -> Names.GlobRef.t
val sigT_intro : unit -> Names.GlobRef.t
val sigT_proj1 : unit -> Names.GlobRef.t
val sigT_proj2 : unit -> Names.GlobRef.t
val prod_typ : unit -> Names.GlobRef.t
val prod_intro : unit -> Names.GlobRef.t
val prod_proj1 : unit -> Names.GlobRef.t
val prod_proj2 : unit -> Names.GlobRef.t
val coq_eq_ind : unit -> Names.GlobRef.t
val coq_eq_refl : unit -> Names.GlobRef.t
val coq_eq_refl_ref : unit -> Names.GlobRef.t
val coq_eq_rect : unit -> Names.GlobRef.t
val coq_JMeq_ind : unit -> Names.GlobRef.t
val coq_JMeq_refl : unit -> Names.GlobRef.t
val mk_coq_and : Environ.env -> Evd.evar_map -> EConstr.constr list -> Evd.evar_map * EConstr.constr
val mk_coq_not : Environ.env -> Evd.evar_map -> EConstr.constr -> Evd.evar_map * EConstr.constr
val papp : Environ.env -> Evd.evar_map -> (unit -> Names.GlobRef.t) -> EConstr.constr array -> Evd.evar_map * EConstr.constr
Polymorphic application of delayed references
\ No newline at end of file
+Program (rocq-runtime.Program) Module Program
A bunch of Rocq constants used by Program
val sig_typ : unit -> Names.GlobRef.t
val sig_intro : unit -> Names.GlobRef.t
val sig_proj1 : unit -> Names.GlobRef.t
val sigT_typ : unit -> Names.GlobRef.t
val sigT_intro : unit -> Names.GlobRef.t
val sigT_proj1 : unit -> Names.GlobRef.t
val sigT_proj2 : unit -> Names.GlobRef.t
val prod_typ : unit -> Names.GlobRef.t
val prod_intro : unit -> Names.GlobRef.t
val prod_proj1 : unit -> Names.GlobRef.t
val prod_proj2 : unit -> Names.GlobRef.t
val coq_eq_ind : unit -> Names.GlobRef.t
val coq_eq_refl : unit -> Names.GlobRef.t
val coq_eq_refl_ref : unit -> Names.GlobRef.t
val coq_eq_rect : unit -> Names.GlobRef.t
val coq_JMeq_ind : unit -> Names.GlobRef.t
val coq_JMeq_refl : unit -> Names.GlobRef.t
val mk_coq_and : Environ.env -> Evd.evar_map -> EConstr.constr list -> Evd.evar_map * EConstr.constr
val mk_coq_not : Environ.env -> Evd.evar_map -> EConstr.constr -> Evd.evar_map * EConstr.constr
val papp : Environ.env -> Evd.evar_map -> (unit -> Names.GlobRef.t) -> EConstr.constr array -> Evd.evar_map * EConstr.constr
Polymorphic application of delayed references
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Proofview/index.html b/master/api/rocq-runtime/Proofview/index.html
index caa863360e..302f8f9ed9 100644
--- a/master/api/rocq-runtime/Proofview/index.html
+++ b/master/api/rocq-runtime/Proofview/index.html
@@ -1,2 +1,2 @@
-Proofview (rocq-runtime.Proofview) Module Proofview
This files defines the basic mechanism of proofs: the proofview
type is the state which tactics manipulate (a global state for existential variables, together with the list of goals), and the type 'a tactic
is the (abstract) type of tactics modifying the proof state and returning a value of type 'a
.
val proofview : proofview -> Evar.t list * Evd.evar_map
Returns a stylised view of a proofview for use by, for instance, ide-s.
Starting and querying a proof view
val init : Evd.evar_map -> (Environ.env * EConstr.types) list -> entry * proofview
Initialises a proofview, the main argument is a list of environments (including a named_context
which are used as hypotheses) pair with conclusion types, creating accordingly many initial goals. Because a proof does not necessarily starts in an empty evar_map
(indeed a proof can be triggered by an incomplete pretyping), init
takes an additional argument to represent the initial evar_map
.
type telescope =
| TNil of Evd.evar_map
| TCons of Environ.env * Evd.evar_map * EConstr.types * Evd.evar_map -> EConstr.constr -> telescope
A telescope
is a list of environment and conclusion like in init
, except that each element may depend on the previous goals. The telescope passes the goals in the form of a Term.constr
which represents the goal as an evar
. The evar_map
is threaded in state passing style.
Like init
, but goals are allowed to be dependent on one another. Dependencies between goals is represented with the type telescope
instead of list
. Note that the first evar_map
of the telescope plays the role of the evar_map
argument in init
.
val finished : proofview -> bool
finished pv
is true
if and only if pv
is complete. That is, if it has an empty list of focused goals. There could still be unsolved subgoals, but they would then be out of focus.
val return : proofview -> Evd.evar_map
Returns the current evar
state.
val partial_proof : entry -> proofview -> EConstr.constr list
val initial_goals : entry -> (Environ.named_context_val * EConstr.constr * EConstr.types) list
goal <-> goal_with_state
val with_empty_state : Proofview_monad.goal -> Proofview_monad.goal_with_state
val drop_state : Proofview_monad.goal_with_state -> Proofview_monad.goal
val goal_with_state : Proofview_monad.goal -> Proofview_monad.StateStore.t -> Proofview_monad.goal_with_state
Focusing commands
A focus_context
represents the part of the proof view which has been removed by a focusing action, it can be used to unfocus later on.
val focus_context : focus_context -> Evar.t list * Evar.t list
Returns a stylised view of a focus_context for use by, for instance, ide-s.
val focus : int -> int -> proofview -> proofview * focus_context
focus i j
focuses a proofview on the goals from index i
to index j
(inclusive, goals are indexed from 1
). I.e. goals number i
to j
become the only focused goals of the returned proofview. It returns the focused proofview, and a context for the focus stack.
val unfocus : focus_context -> proofview -> proofview
Unfocuses a proofview with respect to a context.
The tactic monad
- Tactics are objects which apply a transformation to all the subgoals of the current view at the same time. By opposition to the old vision of applying it to a single goal. It allows tactics such as
shelve_unifiable
, tactics to reorder the focused goals, or global automation tactic for dependent subgoals (instantiating an evar has influences on the other goals of the proof in progress, not being able to take that into account causes the current eauto tactic to fail on some instances where it could succeed). Another benefit is that it is possible to write tactics that can be executed even if there are no focused goals. - Tactics form a monad
'a tactic
, in a sense a tactic can be seen as a function (without argument) which returns a value of type 'a and modifies the environment (in our case: the view). Tactics of course have arguments, but these are given at the meta-level as OCaml functions. Most tactics in the sense we are used to return ()
, that is no really interesting values. But some might pass information around. The tactics seen in Coq's Ltac are (for now at least) only unit tactic
, the return values are kept for the OCaml toolkit. The operation or the monad are Proofview.tclUNIT
(which is the "return" of the tactic monad) Proofview.tclBIND
(which is the "bind") and Proofview.tclTHEN
(which is a specialized bind on unit-returning tactics). - Tactics have support for full-backtracking. Tactics can be seen having multiple success: if after returning the first success a failure is encountered, the tactic can backtrack and use a second success if available. The state is backtracked to its previous value, except the non-logical state defined in the
NonLogical
module below.
val apply : name:Names.Id.t -> poly:bool -> Environ.env -> 'a tactic -> proofview -> 'a * proofview * bool * Proofview_monad.Info.tree
Applies a tactic to the current proofview. Returns a tuple a,pv,(b,sh,gu)
where a
is the return value of the tactic, pv
is the updated proofview, b
a boolean which is true
if the tactic has not done any action considered unsafe (such as admitting a lemma), sh
is the list of goals which have been shelved by the tactic, and gu
the list of goals on which the tactic has given up. In case of multiple success the first one is selected. If there is no success, fails with Logic_monad.TacticFailure
Monadic primitives
val tclUNIT : 'a -> 'a tactic
Unit of the tactic monad.
Interprets the ";" (semicolon) of Ltac. As a monadic operation, it's a specialized "bind".
tclIGNORE t
has the same operational content as t
, but drops the returned value.
Failure and backtracking
val tclZERO : ?info:Exninfo.info -> exn -> 'a tactic
tclZERO e
fails with exception e
. It has no success. Exception is supposed to be non critical
val tclOR : 'a tactic -> (Exninfo.iexn -> 'a tactic) -> 'a tactic
tclOR t1 t2
behaves like t1
as long as t1
succeeds. Whenever the successes of t1
have been depleted and it failed with e
, then it behaves as t2 e
. In other words, tclOR
inserts a backtracking point. In t2
, exception can be assumed non critical.
val tclORELSE : 'a tactic -> (Exninfo.iexn -> 'a tactic) -> 'a tactic
tclORELSE t1 t2
is equal to t1
if t1
has at least one success or t2 e
if t1
fails with e
. It is analogous to try/with
handler of exception in that it is not a backtracking point. In t2
, exception can be assumed non critical.
val tclIFCATCH : 'a tactic -> ('a -> 'b tactic) -> (Exninfo.iexn -> 'b tactic) -> 'b tactic
tclIFCATCH a s f
is a generalisation of tclORELSE
: if a
succeeds at least once then it behaves as tclBIND a s
otherwise, if a
fails with e
, then it behaves as f e
. In f
exception can be assumed non critical.
tclONCE t
behave like t
except it has at most one success: tclONCE t
stops after the first success of t
. If t
fails with e
, tclONCE t
also fails with e
.
tclEXACTLY_ONCE e t
succeeds as t
if t
has exactly one success. Otherwise it fails. The tactic t
is run until its first success, then a failure with exception e
is simulated (e
has to be non critical). If t
yields another success, then tclEXACTLY_ONCE e t
fails with MoreThanOneSuccess
(it is a user error). Otherwise, tclEXACTLY_ONCE e t
succeeds with the first success of t
. Notice that the choice of e
is relevant, as the presence of further successes may depend on e
(see tclOR
).
tclCASE t
splits t
into its first success and a continuation. It is the most general primitive to control backtracking.
val tclBREAK : (Exninfo.iexn -> Exninfo.iexn option) -> 'a tactic -> 'a tactic
tclBREAK p t
is a generalization of tclONCE t
. Instead of stopping after the first success, it succeeds like t
until a failure with an exception e
such that p e = Some e'
is raised. At which point it drops the remaining successes, failing with e'
. tclONCE t
is equivalent to tclBREAK (fun e -> Some e) t
.
Focusing tactics
tclFOCUS i j t
applies t
after focusing on the goals number i
to j
(see focus
). The rest of the goals is restored after the tactic action. If the specified range doesn't correspond to existing goals, fails with the nosuchgoal
argument, by default raising NoSuchGoals
(a user error). This exception is caught at toplevel with a default message.
tclFOCUSLIST li t
applies t
on the list of focused goals described by li
. Each element of li
is a pair (i, j)
denoting the goals numbered from i
to j
(inclusive, starting from 1). It will try to apply t
to all the valid goals in any of these intervals. If the set of such goals is not a single range, then it will move goals such that it is a single range. (So, for instance, [1, 3-5]; idtac.
is not the identity.) If the set of such goals is empty, it will fail with nosuchgoal
, by default raising NoSuchGoals 0
.
val tclFOCUSID : ?nosuchgoal:'a tactic -> Names.Id.t -> 'a tactic -> 'a tactic
tclFOCUSID x t
applies t
on a (single) focused goal like tclFOCUS
. The goal is found by its name rather than its number. Fails with nosuchgoal
, by default raising NoSuchGoals 1
.
tclTRYFOCUS i j t
behaves like tclFOCUS
, except that if the specified range doesn't correspond to existing goals, behaves like tclUNIT ()
instead of failing.
Dispatching on goals
Dispatch tacticals are used to apply a different tactic to each goal under focus. They come in two flavours: tclDISPATCH
takes a list of unit tactic
-s and build a unit tactic
. tclDISPATCHL
takes a list of 'a tactic
and returns an 'a list tactic
.
They both work by applying each of the tactic in a focus restricted to the corresponding goal (starting with the first goal). In the case of tclDISPATCHL
, the tactic returns a list of the same size as the argument list (of tactics), each element being the result of the tactic executed in the corresponding goal.
When the length of the tactic list is not the number of goal, raises SizeMismatch (g,t)
where g
is the number of available goals, and t
the number of tactics passed.
tclEXTEND b r e
is a variant of tclDISPATCH
, where the r
tactic is "repeated" enough time such that every goal has a tactic assigned to it (b
is the list of tactics applied to the first goals, e
to the last goals, and r
is applied to every goal in between).
tclINDEPENDENT tac
runs tac
on each goal successively, from the first one to the last one. Backtracking in one goal is independent of backtracking in another. It is equivalent to tclEXTEND [] tac []
.
Goal manipulation
val shelve : unit tactic
Shelves all the goals under focus. The goals are placed on the shelf for later use (or being solved by side-effects).
Shelves the given list of goals, which might include some that are under focus and some that aren't. All the goals are placed on the shelf for later use (or being solved by side-effects).
val unifiable : Evd.evar_map -> Evar.t -> Evar.t list -> bool
unifiable sigma g l
checks whether g
appears in another subgoal of l
. The list l
may contain g
, but it does not affect the result. Used by shelve_unifiable
.
val shelve_unifiable : unit tactic
Shelves the unifiable goals under focus, i.e. the goals which appear in other goals under focus (the unfocused goals are not considered).
val guard_no_unifiable : Names.Name.t list option tactic
guard_no_unifiable
returns the list of unifiable goals if some goals are unifiable (see shelve_unifiable
) in the current focus.
unshelve l p
moves all the goals in l
from the shelf and put them at the end of the focused goals of p, if they are still undefined after advance
val depends_on : Evd.evar_map -> Evar.t -> Evar.t -> bool
depends_on g1 g2 sigma
checks if g1 occurs in the type/ctx of g2
with_shelf tac
executes tac
and returns its result together with the set of goals shelved by tac
. The current shelf is unchanged and the returned list contains only unsolved goals.
val cycle : int -> unit tactic
If n
is positive, cycle n
puts the n
first goal last. If n
is negative, then it puts the n
last goals first.
val swap : int -> int -> unit tactic
swap i j
swaps the position of goals number i
and j
(negative numbers can be used to address goals from the end. Goals are indexed from 1
. For simplicity index 0
corresponds to goal 1
as well, rather than raising an error.
val revgoals : unit tactic
revgoals
reverses the list of focused goals.
val numgoals : int tactic
numgoals
returns the number of goals under focus.
Access primitives
val tclEVARMAP : Evd.evar_map tactic
tclEVARMAP
doesn't affect the proof, it returns the current evar_map
.
val tclENV : Environ.env tactic
tclENV
doesn't affect the proof, it returns the current environment. It is not the environment of a particular goal, rather the "global" environment of the proof. The goal-wise environment is obtained via Proofview.Goal.env
.
Put-like primitives
val tclEFFECTS : Evd.side_effects -> unit tactic
tclEFFECTS eff
add the effects eff
to the current state.
val mark_as_unsafe : unit tactic
mark_as_unsafe
declares the current tactic is unsafe.
val give_up : unit tactic
Gives up on the goal under focus. Reports an unsafe status. Proofs with given up goals cannot be closed.
Control primitives
tclPROGRESS t
checks the state of the proof after t
. It it is identical to the state before, then tclPROGRESS t
fails, otherwise it succeeds like t
.
module Progress : sig ... end
val tclCHECKINTERRUPT : unit tactic
Checks for interrupts
tclTIMEOUT n t
can have only one success. In case of timeout it fails with tclZERO Tac_Timeout
.
tclTIME s t
displays time for each atomic call to t, using s as an identifying annotation if present
val tclProofInfo : (Names.Id.t * bool) tactic
Internal, don't use.
Unsafe primitives
module Unsafe : sig ... end
The primitives in the Unsafe
module should be avoided as much as possible, since they can make the proof state inconsistent. They are nevertheless helpful, in particular when interfacing the pretyping and the proof engine.
module UnsafeRepr : sig ... end
This module gives access to the innards of the monad. Its use is restricted to very specific cases.
Goal-dependent tactics
module Goal : sig ... end
Trace
module Trace : sig ... end
Non-logical state
module NonLogical : module type of Logic_monad.NonLogical
The NonLogical
module allows the execution of effects (including I/O) in tactics (non-logical side-effects are not discarded at failures).
val tclLIFT : 'a NonLogical.t -> 'a tactic
tclLIFT c
is a tactic which behaves exactly as c
.
Notations
module Notations : sig ... end
\ No newline at end of file
+Proofview (rocq-runtime.Proofview) Module Proofview
This files defines the basic mechanism of proofs: the proofview
type is the state which tactics manipulate (a global state for existential variables, together with the list of goals), and the type 'a tactic
is the (abstract) type of tactics modifying the proof state and returning a value of type 'a
.
val proofview : proofview -> Evar.t list * Evd.evar_map
Returns a stylised view of a proofview for use by, for instance, ide-s.
Starting and querying a proof view
val init : Evd.evar_map -> (Environ.env * EConstr.types) list -> entry * proofview
Initialises a proofview, the main argument is a list of environments (including a named_context
which are used as hypotheses) pair with conclusion types, creating accordingly many initial goals. Because a proof does not necessarily starts in an empty evar_map
(indeed a proof can be triggered by an incomplete pretyping), init
takes an additional argument to represent the initial evar_map
.
type telescope =
| TNil of Evd.evar_map
| TCons of Environ.env * Evd.evar_map * EConstr.types * Evd.evar_map -> EConstr.constr -> telescope
A telescope
is a list of environment and conclusion like in init
, except that each element may depend on the previous goals. The telescope passes the goals in the form of a Term.constr
which represents the goal as an evar
. The evar_map
is threaded in state passing style.
Like init
, but goals are allowed to be dependent on one another. Dependencies between goals is represented with the type telescope
instead of list
. Note that the first evar_map
of the telescope plays the role of the evar_map
argument in init
.
val finished : proofview -> bool
finished pv
is true
if and only if pv
is complete. That is, if it has an empty list of focused goals. There could still be unsolved subgoals, but they would then be out of focus.
val return : proofview -> Evd.evar_map
Returns the current evar
state.
val partial_proof : entry -> proofview -> EConstr.constr list
val initial_goals : entry -> (Environ.named_context_val * EConstr.constr * EConstr.types) list
goal <-> goal_with_state
val with_empty_state : Proofview_monad.goal -> Proofview_monad.goal_with_state
val drop_state : Proofview_monad.goal_with_state -> Proofview_monad.goal
val goal_with_state : Proofview_monad.goal -> Proofview_monad.StateStore.t -> Proofview_monad.goal_with_state
Focusing commands
A focus_context
represents the part of the proof view which has been removed by a focusing action, it can be used to unfocus later on.
val focus_context : focus_context -> Evar.t list * Evar.t list
Returns a stylised view of a focus_context for use by, for instance, ide-s.
val focus : int -> int -> proofview -> proofview * focus_context
focus i j
focuses a proofview on the goals from index i
to index j
(inclusive, goals are indexed from 1
). I.e. goals number i
to j
become the only focused goals of the returned proofview. It returns the focused proofview, and a context for the focus stack.
val unfocus : focus_context -> proofview -> proofview
Unfocuses a proofview with respect to a context.
The tactic monad
- Tactics are objects which apply a transformation to all the subgoals of the current view at the same time. By opposition to the old vision of applying it to a single goal. It allows tactics such as
shelve_unifiable
, tactics to reorder the focused goals, or global automation tactic for dependent subgoals (instantiating an evar has influences on the other goals of the proof in progress, not being able to take that into account causes the current eauto tactic to fail on some instances where it could succeed). Another benefit is that it is possible to write tactics that can be executed even if there are no focused goals. - Tactics form a monad
'a tactic
, in a sense a tactic can be seen as a function (without argument) which returns a value of type 'a and modifies the environment (in our case: the view). Tactics of course have arguments, but these are given at the meta-level as OCaml functions. Most tactics in the sense we are used to return ()
, that is no really interesting values. But some might pass information around. The tactics seen in Rocq's Ltac are (for now at least) only unit tactic
, the return values are kept for the OCaml toolkit. The operation or the monad are Proofview.tclUNIT
(which is the "return" of the tactic monad) Proofview.tclBIND
(which is the "bind") and Proofview.tclTHEN
(which is a specialized bind on unit-returning tactics). - Tactics have support for full-backtracking. Tactics can be seen having multiple success: if after returning the first success a failure is encountered, the tactic can backtrack and use a second success if available. The state is backtracked to its previous value, except the non-logical state defined in the
NonLogical
module below.
val apply : name:Names.Id.t -> poly:bool -> Environ.env -> 'a tactic -> proofview -> 'a * proofview * bool * Proofview_monad.Info.tree
Applies a tactic to the current proofview. Returns a tuple a,pv,(b,sh,gu)
where a
is the return value of the tactic, pv
is the updated proofview, b
a boolean which is true
if the tactic has not done any action considered unsafe (such as admitting a lemma), sh
is the list of goals which have been shelved by the tactic, and gu
the list of goals on which the tactic has given up. In case of multiple success the first one is selected. If there is no success, fails with Logic_monad.TacticFailure
Monadic primitives
val tclUNIT : 'a -> 'a tactic
Unit of the tactic monad.
Interprets the ";" (semicolon) of Ltac. As a monadic operation, it's a specialized "bind".
tclIGNORE t
has the same operational content as t
, but drops the returned value.
Failure and backtracking
val tclZERO : ?info:Exninfo.info -> exn -> 'a tactic
tclZERO e
fails with exception e
. It has no success. Exception is supposed to be non critical
val tclOR : 'a tactic -> (Exninfo.iexn -> 'a tactic) -> 'a tactic
tclOR t1 t2
behaves like t1
as long as t1
succeeds. Whenever the successes of t1
have been depleted and it failed with e
, then it behaves as t2 e
. In other words, tclOR
inserts a backtracking point. In t2
, exception can be assumed non critical.
val tclORELSE : 'a tactic -> (Exninfo.iexn -> 'a tactic) -> 'a tactic
tclORELSE t1 t2
is equal to t1
if t1
has at least one success or t2 e
if t1
fails with e
. It is analogous to try/with
handler of exception in that it is not a backtracking point. In t2
, exception can be assumed non critical.
val tclIFCATCH : 'a tactic -> ('a -> 'b tactic) -> (Exninfo.iexn -> 'b tactic) -> 'b tactic
tclIFCATCH a s f
is a generalisation of tclORELSE
: if a
succeeds at least once then it behaves as tclBIND a s
otherwise, if a
fails with e
, then it behaves as f e
. In f
exception can be assumed non critical.
tclONCE t
behave like t
except it has at most one success: tclONCE t
stops after the first success of t
. If t
fails with e
, tclONCE t
also fails with e
.
tclEXACTLY_ONCE e t
succeeds as t
if t
has exactly one success. Otherwise it fails. The tactic t
is run until its first success, then a failure with exception e
is simulated (e
has to be non critical). If t
yields another success, then tclEXACTLY_ONCE e t
fails with MoreThanOneSuccess
(it is a user error). Otherwise, tclEXACTLY_ONCE e t
succeeds with the first success of t
. Notice that the choice of e
is relevant, as the presence of further successes may depend on e
(see tclOR
).
tclCASE t
splits t
into its first success and a continuation. It is the most general primitive to control backtracking.
val tclBREAK : (Exninfo.iexn -> Exninfo.iexn option) -> 'a tactic -> 'a tactic
tclBREAK p t
is a generalization of tclONCE t
. Instead of stopping after the first success, it succeeds like t
until a failure with an exception e
such that p e = Some e'
is raised. At which point it drops the remaining successes, failing with e'
. tclONCE t
is equivalent to tclBREAK (fun e -> Some e) t
.
Focusing tactics
tclFOCUS i j t
applies t
after focusing on the goals number i
to j
(see focus
). The rest of the goals is restored after the tactic action. If the specified range doesn't correspond to existing goals, fails with the nosuchgoal
argument, by default raising NoSuchGoals
(a user error). This exception is caught at toplevel with a default message.
tclFOCUSLIST li t
applies t
on the list of focused goals described by li
. Each element of li
is a pair (i, j)
denoting the goals numbered from i
to j
(inclusive, starting from 1). It will try to apply t
to all the valid goals in any of these intervals. If the set of such goals is not a single range, then it will move goals such that it is a single range. (So, for instance, [1, 3-5]; idtac.
is not the identity.) If the set of such goals is empty, it will fail with nosuchgoal
, by default raising NoSuchGoals 0
.
val tclFOCUSID : ?nosuchgoal:'a tactic -> Names.Id.t -> 'a tactic -> 'a tactic
tclFOCUSID x t
applies t
on a (single) focused goal like tclFOCUS
. The goal is found by its name rather than its number. Fails with nosuchgoal
, by default raising NoSuchGoals 1
.
tclTRYFOCUS i j t
behaves like tclFOCUS
, except that if the specified range doesn't correspond to existing goals, behaves like tclUNIT ()
instead of failing.
Dispatching on goals
Dispatch tacticals are used to apply a different tactic to each goal under focus. They come in two flavours: tclDISPATCH
takes a list of unit tactic
-s and build a unit tactic
. tclDISPATCHL
takes a list of 'a tactic
and returns an 'a list tactic
.
They both work by applying each of the tactic in a focus restricted to the corresponding goal (starting with the first goal). In the case of tclDISPATCHL
, the tactic returns a list of the same size as the argument list (of tactics), each element being the result of the tactic executed in the corresponding goal.
When the length of the tactic list is not the number of goal, raises SizeMismatch (g,t)
where g
is the number of available goals, and t
the number of tactics passed.
tclEXTEND b r e
is a variant of tclDISPATCH
, where the r
tactic is "repeated" enough time such that every goal has a tactic assigned to it (b
is the list of tactics applied to the first goals, e
to the last goals, and r
is applied to every goal in between).
tclINDEPENDENT tac
runs tac
on each goal successively, from the first one to the last one. Backtracking in one goal is independent of backtracking in another. It is equivalent to tclEXTEND [] tac []
.
Goal manipulation
val shelve : unit tactic
Shelves all the goals under focus. The goals are placed on the shelf for later use (or being solved by side-effects).
Shelves the given list of goals, which might include some that are under focus and some that aren't. All the goals are placed on the shelf for later use (or being solved by side-effects).
val unifiable : Evd.evar_map -> Evar.t -> Evar.t list -> bool
unifiable sigma g l
checks whether g
appears in another subgoal of l
. The list l
may contain g
, but it does not affect the result. Used by shelve_unifiable
.
val shelve_unifiable : unit tactic
Shelves the unifiable goals under focus, i.e. the goals which appear in other goals under focus (the unfocused goals are not considered).
val guard_no_unifiable : Names.Name.t list option tactic
guard_no_unifiable
returns the list of unifiable goals if some goals are unifiable (see shelve_unifiable
) in the current focus.
unshelve l p
moves all the goals in l
from the shelf and put them at the end of the focused goals of p, if they are still undefined after advance
val depends_on : Evd.evar_map -> Evar.t -> Evar.t -> bool
depends_on g1 g2 sigma
checks if g1 occurs in the type/ctx of g2
with_shelf tac
executes tac
and returns its result together with the set of goals shelved by tac
. The current shelf is unchanged and the returned list contains only unsolved goals.
val cycle : int -> unit tactic
If n
is positive, cycle n
puts the n
first goal last. If n
is negative, then it puts the n
last goals first.
val swap : int -> int -> unit tactic
swap i j
swaps the position of goals number i
and j
(negative numbers can be used to address goals from the end. Goals are indexed from 1
. For simplicity index 0
corresponds to goal 1
as well, rather than raising an error.
val revgoals : unit tactic
revgoals
reverses the list of focused goals.
val numgoals : int tactic
numgoals
returns the number of goals under focus.
Access primitives
val tclEVARMAP : Evd.evar_map tactic
tclEVARMAP
doesn't affect the proof, it returns the current evar_map
.
val tclENV : Environ.env tactic
tclENV
doesn't affect the proof, it returns the current environment. It is not the environment of a particular goal, rather the "global" environment of the proof. The goal-wise environment is obtained via Proofview.Goal.env
.
Put-like primitives
val tclEFFECTS : Evd.side_effects -> unit tactic
tclEFFECTS eff
add the effects eff
to the current state.
val mark_as_unsafe : unit tactic
mark_as_unsafe
declares the current tactic is unsafe.
val give_up : unit tactic
Gives up on the goal under focus. Reports an unsafe status. Proofs with given up goals cannot be closed.
Control primitives
tclPROGRESS t
checks the state of the proof after t
. It it is identical to the state before, then tclPROGRESS t
fails, otherwise it succeeds like t
.
module Progress : sig ... end
val tclCHECKINTERRUPT : unit tactic
Checks for interrupts
tclTIMEOUT n t
can have only one success. In case of timeout it fails with tclZERO Tac_Timeout
.
tclTIME s t
displays time for each atomic call to t, using s as an identifying annotation if present
val tclProofInfo : (Names.Id.t * bool) tactic
Internal, don't use.
Unsafe primitives
module Unsafe : sig ... end
The primitives in the Unsafe
module should be avoided as much as possible, since they can make the proof state inconsistent. They are nevertheless helpful, in particular when interfacing the pretyping and the proof engine.
module UnsafeRepr : sig ... end
This module gives access to the innards of the monad. Its use is restricted to very specific cases.
Goal-dependent tactics
module Goal : sig ... end
Trace
module Trace : sig ... end
Non-logical state
module NonLogical : module type of Logic_monad.NonLogical
The NonLogical
module allows the execution of effects (including I/O) in tactics (non-logical side-effects are not discarded at failures).
val tclLIFT : 'a NonLogical.t -> 'a tactic
tclLIFT c
is a tactic which behaves exactly as c
.
Notations
module Notations : sig ... end
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Summary/index.html b/master/api/rocq-runtime/Summary/index.html
index 11faf5860c..b1c6f5ae6a 100644
--- a/master/api/rocq-runtime/Summary/index.html
+++ b/master/api/rocq-runtime/Summary/index.html
@@ -1,2 +1,2 @@
-Summary (rocq-runtime.Summary) Module Summary
module Stage : sig ... end
This module registers the declaration of global tables, which will be kept in synchronization during the various backtracks of the system.
type 'a summary_declaration = {
stage : Stage.t;
freeze_function : unit -> 'a;
unfreeze_function : 'a -> unit;
init_function : unit -> unit;
}
Types of global Coq states. The 'a
type should be pure and marshallable by the standard OCaml marshalling function.
For tables registered during the launch of coqtop, the init_function
will be run only once, during an init_summaries
done at the end of coqtop initialization. For tables registered later (for instance during a plugin dynlink), init_function
is used when unfreezing an earlier frozen state that doesn't contain any value for this table.
Beware: for tables registered dynamically after the initialization of Coq, their init functions may not be run immediately. It is hence the responsibility of plugins to initialize themselves properly.
val declare_summary : string -> ?make_marshallable:('a -> 'a) -> 'a summary_declaration -> unit
val declare_summary_tag : string -> ?make_marshallable:('a -> 'a) -> 'a summary_declaration -> 'a Dyn.tag
All-in-one reference declaration + summary registration. It behaves just as OCaml's standard ref
function, except that a declare_summary
is done, with name
as string. The init_function
restores the reference to its initial value. The stage
argument defaults to Interp
and should be changed to Synterp
for references which are read from and written to during the syntactic interpretation.
When local:true
the value is local to the process, i.e. not sent to proof workers. Consequently it doesn't need to be of a marshallable type. It is useful to implement a local cache for example.
ref_tag
is never local.
val ref : ?stage:Stage.t -> ?local:bool -> name:string -> 'a -> 'a Stdlib.ref
val declare_ml_modules_summary : string list summary_declaration -> unit
Special summary for ML modules. This summary entry is special because its unfreeze may load ML code and hence add summary entries. Thus is has to be recognizable, and handled properly.
The args correspond to Mltop.PluginSpec.t , that is to say, the findlib name for the plugin.
For global tables registered statically before the end of coqtop launch, the following empty init_function
could be used.
module type FrozenStage = sig ... end
The type frozen
is a snapshot of the states of all the registered tables of the system.
module Synterp : FrozenStage
The type frozen
is a snapshot of the states of all the registered tables of the system.
module Interp : sig ... end
\ No newline at end of file
+Summary (rocq-runtime.Summary) Module Summary
module Stage : sig ... end
This module registers the declaration of global tables, which will be kept in synchronization during the various backtracks of the system.
type 'a summary_declaration = {
stage : Stage.t;
freeze_function : unit -> 'a;
unfreeze_function : 'a -> unit;
init_function : unit -> unit;
}
Types of global Rocq states. The 'a
type should be pure and marshallable by the standard OCaml marshalling function.
For tables registered during the launch of rocq repl, the init_function
will be run only once, during an init_summaries
done at the end of coqtop initialization. For tables registered later (for instance during a plugin dynlink), init_function
is used when unfreezing an earlier frozen state that doesn't contain any value for this table.
Beware: for tables registered dynamically after the initialization of Coq, their init functions may not be run immediately. It is hence the responsibility of plugins to initialize themselves properly.
val declare_summary : string -> ?make_marshallable:('a -> 'a) -> 'a summary_declaration -> unit
val declare_summary_tag : string -> ?make_marshallable:('a -> 'a) -> 'a summary_declaration -> 'a Dyn.tag
All-in-one reference declaration + summary registration. It behaves just as OCaml's standard ref
function, except that a declare_summary
is done, with name
as string. The init_function
restores the reference to its initial value. The stage
argument defaults to Interp
and should be changed to Synterp
for references which are read from and written to during the syntactic interpretation.
When local:true
the value is local to the process, i.e. not sent to proof workers. Consequently it doesn't need to be of a marshallable type. It is useful to implement a local cache for example.
ref_tag
is never local.
val ref : ?stage:Stage.t -> ?local:bool -> name:string -> 'a -> 'a Stdlib.ref
val declare_ml_modules_summary : string list summary_declaration -> unit
Special summary for ML modules. This summary entry is special because its unfreeze may load ML code and hence add summary entries. Thus is has to be recognizable, and handled properly.
The args correspond to Mltop.PluginSpec.t , that is to say, the findlib name for the plugin.
For global tables registered statically before the end of coqtop launch, the following empty init_function
could be used.
module type FrozenStage = sig ... end
The type frozen
is a snapshot of the states of all the registered tables of the system.
module Synterp : FrozenStage
The type frozen
is a snapshot of the states of all the registered tables of the system.
module Interp : sig ... end
\ No newline at end of file
diff --git a/master/api/rocq-runtime/System/index.html b/master/api/rocq-runtime/System/index.html
index 2b80900708..20b7004fa7 100644
--- a/master/api/rocq-runtime/System/index.html
+++ b/master/api/rocq-runtime/System/index.html
@@ -1,2 +1,2 @@
-System (rocq-runtime.System) Module System
Coqtop specific system utilities
Directories
val exists_dir : unix_path -> bool
mkdir path
ensures that path
exists as a directory, creating the missing suffix if necessary (like Unix' mkdirhier)
val mkdir : unix_path -> unit
exclude_search_in_dirname path
excludes path
when processing directories
val exclude_directory : unix_path -> unit
process_directory f path
applies f
on contents of directory path
; fails with Unix_error if the latter does not exists; skips all files or dirs starting with "."
process_subdirectories f path
applies f path/file file
on each file
of the directory path
; fails with Unix_error if the latter does not exists; kips all files or dirs starting with "."
Files and load paths
val warn_cannot_open_dir : ?loc:Loc.t -> string -> unit
Load path entries remember the original root given by the user. For efficiency, we keep the full path (field directory
), the root path and the path relative to the root.
val all_subdirs : unix_path:string -> (CUnix.physical_path * string list) list
val is_in_path : CUnix.load_path -> string -> bool
val where_in_path : ?warn:bool -> CUnix.load_path -> string -> CUnix.physical_path * string
val get_output_path : CUnix.physical_path -> CUnix.physical_path
get_output_path fname
relativizes fname
with respect to the default output directory if fname
is not absolute
val find_file_in_path : ?warn:bool -> CUnix.load_path -> string -> CUnix.physical_path * string
find_file_in_path ?warn loadpath filename
returns the directory name and long name of the first physical occurrence filename
in one of the directory of the loadpath
; fails with a user error if no such file exists; warn if two or more files exist in the loadpath; returns instead the directory name of filename
is filename
is an absolute path
val all_in_path : (CUnix.physical_path * 'a) list -> string -> ('a * string) list
all_in_path loadpath filename
returns the list of the directory name and full name of all physical occurrences of filename
in a loadpath
binding physical paths to some arbitrary key
trust_file_cache
indicates whether we trust the underlying mapped file-system not to change along the execution of Coq. This assumption greatly speeds up file search, but it is often inconvenient in interactive mode
I/O functions
Generic input and output functions, parameterized by a magic number and a suffix. The intern functions raise the exception Bad_magic_number
when the check fails, with the full file name and expected/observed magic numbers.
exception Bad_magic_number of magic_number_error
exception Bad_version_number of magic_number_error
val with_magic_number_check : ?loc:Loc.t -> ('a -> 'b) -> 'a -> 'b
big-endian encoding and decoding of int32 (4 btyes) and int64 (8 bytes)
Clones of Marshal.to_channel (with flush) and Marshal.from_channel (with nice error message)
Time stamps.
val empty_duration : duration
val get_time : unit -> time
val duration_real : duration -> float
type 'a transaction_result = ('a * duration, Exninfo.iexn * duration) Stdlib.Result.t
val measure_duration : ('a -> 'b) -> 'a -> 'b transaction_result
val fmt_transaction_result : 'a transaction_result -> Pp.t
Instruction count.
val instructions_between : c_start:instruction_count -> c_end:instruction_count -> instruction_count
val instruction_count_add : instruction_count -> instruction_count -> instruction_count
type 'a instructions_result = ('a * instruction_count, Exninfo.iexn * instruction_count) Stdlib.Result.t
val count_instructions : ('a -> 'b) -> 'a -> 'b instructions_result
val fmt_instructions_result : 'a instructions_result -> Pp.t
get_toplevel_path program
builds a complete path to the executable denoted by program
. This involves:
- locating the directory: we don't rely on PATH as to make calls to /foo/bin/coqtop chose the right /foo/bin/coqproofworker
- adding the proper suffix: .exe if in windows.
Note that this function doesn't check that the executable actually exists. This is left back to caller, as well as the choice of fallback strategy. We could add a fallback strategy here but it is better not to as in most cases if this function fails to construct the right name you want you execution to fail rather than fall into choosing some random binary from the system-wide installation of Coq.
\ No newline at end of file
+System (rocq-runtime.System) Module System
Rocq REPL specific system utilities
Directories
val exists_dir : unix_path -> bool
mkdir path
ensures that path
exists as a directory, creating the missing suffix if necessary (like Unix' mkdirhier)
val mkdir : unix_path -> unit
exclude_search_in_dirname path
excludes path
when processing directories
val exclude_directory : unix_path -> unit
process_directory f path
applies f
on contents of directory path
; fails with Unix_error if the latter does not exists; skips all files or dirs starting with "."
process_subdirectories f path
applies f path/file file
on each file
of the directory path
; fails with Unix_error if the latter does not exists; kips all files or dirs starting with "."
Files and load paths
val warn_cannot_open_dir : ?loc:Loc.t -> string -> unit
Load path entries remember the original root given by the user. For efficiency, we keep the full path (field directory
), the root path and the path relative to the root.
val all_subdirs : unix_path:string -> (CUnix.physical_path * string list) list
val is_in_path : CUnix.load_path -> string -> bool
val where_in_path : ?warn:bool -> CUnix.load_path -> string -> CUnix.physical_path * string
val get_output_path : CUnix.physical_path -> CUnix.physical_path
get_output_path fname
relativizes fname
with respect to the default output directory if fname
is not absolute
val find_file_in_path : ?warn:bool -> CUnix.load_path -> string -> CUnix.physical_path * string
find_file_in_path ?warn loadpath filename
returns the directory name and long name of the first physical occurrence filename
in one of the directory of the loadpath
; fails with a user error if no such file exists; warn if two or more files exist in the loadpath; returns instead the directory name of filename
is filename
is an absolute path
val all_in_path : (CUnix.physical_path * 'a) list -> string -> ('a * string) list
all_in_path loadpath filename
returns the list of the directory name and full name of all physical occurrences of filename
in a loadpath
binding physical paths to some arbitrary key
trust_file_cache
indicates whether we trust the underlying mapped file-system not to change along the execution of Rocq. This assumption greatly speeds up file search, but it is often inconvenient in interactive mode
I/O functions
Generic input and output functions, parameterized by a magic number and a suffix. The intern functions raise the exception Bad_magic_number
when the check fails, with the full file name and expected/observed magic numbers.
exception Bad_magic_number of magic_number_error
exception Bad_version_number of magic_number_error
val with_magic_number_check : ?loc:Loc.t -> ('a -> 'b) -> 'a -> 'b
big-endian encoding and decoding of int32 (4 btyes) and int64 (8 bytes)
Clones of Marshal.to_channel (with flush) and Marshal.from_channel (with nice error message)
Time stamps.
val empty_duration : duration
val get_time : unit -> time
val duration_real : duration -> float
type 'a transaction_result = ('a * duration, Exninfo.iexn * duration) Stdlib.Result.t
val measure_duration : ('a -> 'b) -> 'a -> 'b transaction_result
val fmt_transaction_result : 'a transaction_result -> Pp.t
Instruction count.
val instructions_between : c_start:instruction_count -> c_end:instruction_count -> instruction_count
val instruction_count_add : instruction_count -> instruction_count -> instruction_count
type 'a instructions_result = ('a * instruction_count, Exninfo.iexn * instruction_count) Stdlib.Result.t
val count_instructions : ('a -> 'b) -> 'a -> 'b instructions_result
val fmt_instructions_result : 'a instructions_result -> Pp.t
get_toplevel_path program
builds a complete path to the executable denoted by program
. This involves:
- locating the directory: we don't rely on PATH as to make calls to /foo/bin/coqtop chose the right /foo/bin/coqproofworker
- adding the proper suffix: .exe if in windows.
Note that this function doesn't check that the executable actually exists. This is left back to caller, as well as the choice of fallback strategy. We could add a fallback strategy here but it is better not to as in most cases if this function fails to construct the right name you want you execution to fail rather than fall into choosing some random binary from the system-wide installation of Rocq.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Termops/Internal/index.html b/master/api/rocq-runtime/Termops/Internal/index.html
index 2b473be1bb..a5311a5a9f 100644
--- a/master/api/rocq-runtime/Termops/Internal/index.html
+++ b/master/api/rocq-runtime/Termops/Internal/index.html
@@ -1,2 +1,2 @@
-Internal (rocq-runtime.Termops.Internal) Module Termops.Internal
NOTE: to print terms you always want to use functions in Printer, not these ones which are for very special cases.
val debug_print_constr : Evd.evar_map -> EConstr.constr -> Pp.t
debug printers: print raw form for terms with evar-substitution.
val print_constr_env : Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t
Pretty-printer hook: print_constr_env env sigma c
will pretty print c if the pretty printing layer has been linked into the Coq binary.
val set_print_constr : (Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t) -> unit
set_print_constr f
sets f to be the pretty printer
val print_named_context : Environ.env -> Evd.evar_map -> Pp.t
Printers for contexts
val pr_rel_decl : Environ.env -> Evd.evar_map -> Constr.rel_declaration -> Pp.t
val print_rel_context : Environ.env -> Evd.evar_map -> Pp.t
val print_env : Environ.env -> Evd.evar_map -> Pp.t
val print_kconstr : Environ.env -> Evd.evar_map -> Evd.econstr -> Pp.t
\ No newline at end of file
+Internal (rocq-runtime.Termops.Internal) Module Termops.Internal
NOTE: to print terms you always want to use functions in Printer, not these ones which are for very special cases.
val debug_print_constr : Evd.evar_map -> EConstr.constr -> Pp.t
debug printers: print raw form for terms with evar-substitution.
val print_constr_env : Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t
Pretty-printer hook: print_constr_env env sigma c
will pretty print c if the pretty printing layer has been linked into the Rocq binary.
val set_print_constr : (Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t) -> unit
set_print_constr f
sets f to be the pretty printer
val print_named_context : Environ.env -> Evd.evar_map -> Pp.t
Printers for contexts
val pr_rel_decl : Environ.env -> Evd.evar_map -> Constr.rel_declaration -> Pp.t
val print_rel_context : Environ.env -> Evd.evar_map -> Pp.t
val print_env : Environ.env -> Evd.evar_map -> Pp.t
val print_kconstr : Environ.env -> Evd.evar_map -> Evd.econstr -> Pp.t
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Tok/index.html b/master/api/rocq-runtime/Tok/index.html
index 0494d213c2..17d88fcb0f 100644
--- a/master/api/rocq-runtime/Tok/index.html
+++ b/master/api/rocq-runtime/Tok/index.html
@@ -1,2 +1,2 @@
-Tok (rocq-runtime.Tok) Module Tok
The type of token for the Coq lexer and parser
type 'c p =
| PKEYWORD : string -> string p
| PIDENT : string option -> string p
| PFIELD : string option -> string p
| PNUMBER : NumTok.Unsigned.t option -> NumTok.Unsigned.t p
| PSTRING : string option -> string p
| PLEFTQMARK : unit p
| PBULLET : string option -> string p
| PQUOTATION : string -> string p
| PEOI : unit p
val pattern_strings : 'c p -> string * string option
type t =
| KEYWORD of string
| IDENT of string
| FIELD of string
| NUMBER of NumTok.Unsigned.t
| STRING of string
| LEFTQMARK
| BULLET of string
| QUOTATION of string * string
| EOI
val extract_string : bool -> t -> string
Names of tokens, used in Grammar error messages
val token_text : 'c p -> string
Utility function for the test returned by a QUOTATION token: It returns the delimiter parenthesis, if any, and the text without delimiters. Eg `{{ text
}
}
` -> Some '{', ` text `
\ No newline at end of file
+Tok (rocq-runtime.Tok) Module Tok
The type of token for the Rocq lexer and parser
type 'c p =
| PKEYWORD : string -> string p
| PIDENT : string option -> string p
| PFIELD : string option -> string p
| PNUMBER : NumTok.Unsigned.t option -> NumTok.Unsigned.t p
| PSTRING : string option -> string p
| PLEFTQMARK : unit p
| PBULLET : string option -> string p
| PQUOTATION : string -> string p
| PEOI : unit p
val pattern_strings : 'c p -> string * string option
type t =
| KEYWORD of string
| IDENT of string
| FIELD of string
| NUMBER of NumTok.Unsigned.t
| STRING of string
| LEFTQMARK
| BULLET of string
| QUOTATION of string * string
| EOI
val extract_string : bool -> t -> string
Names of tokens, used in Grammar error messages
val token_text : 'c p -> string
Utility function for the test returned by a QUOTATION token: It returns the delimiter parenthesis, if any, and the text without delimiters. Eg `{{ text
}
}
` -> Some '{', ` text `
\ No newline at end of file
diff --git a/master/api/rocq-runtime/Unicode/index.html b/master/api/rocq-runtime/Unicode/index.html
index cef2dd8a46..3ef4102b61 100644
--- a/master/api/rocq-runtime/Unicode/index.html
+++ b/master/api/rocq-runtime/Unicode/index.html
@@ -1,2 +1,2 @@
-Unicode (rocq-runtime.Unicode) Module Unicode
Unicode utilities
val classify : int -> status
Classify a unicode char into 3 classes or unknown.
Return None
if a given string can be used as a (Coq) identifier. Return Some (b,s)
otherwise, where s
is an explanation and b
is severity.
val is_valid_ident_initial : status -> bool
Tells if a valid initial character for an identifier
val is_valid_ident_trailing : status -> bool
Tells if a valid non-initial character for an identifier
val is_letter : status -> bool
Tells if a letter
val is_unknown : status -> bool
Tells if a character is unclassified
Split a string supposed to be an ident at the first letter; as an optimization, return None if the first character is a letter
Return true
if all UTF-8 characters in the input string are just plain ASCII characters. Returns false
otherwise.
ascii_of_ident s
maps UTF-8 string to a string composed solely from ASCII characters. The non-ASCII characters are translated to "_UUxxxx_"
where xxxx is the Unicode index of the character in hexadecimal (from four to six hex digits). To avoid potential name clashes, any preexisting substring "_UU"
is turned into "_UUU"
.
\ No newline at end of file
+Unicode (rocq-runtime.Unicode) Module Unicode
Unicode utilities
val classify : int -> status
Classify a unicode char into 3 classes or unknown.
Return None
if a given string can be used as a (Rocq) identifier. Return Some (b,s)
otherwise, where s
is an explanation and b
is severity.
val is_valid_ident_initial : status -> bool
Tells if a valid initial character for an identifier
val is_valid_ident_trailing : status -> bool
Tells if a valid non-initial character for an identifier
val is_letter : status -> bool
Tells if a letter
val is_unknown : status -> bool
Tells if a character is unclassified
Split a string supposed to be an ident at the first letter; as an optimization, return None if the first character is a letter
Return true
if all UTF-8 characters in the input string are just plain ASCII characters. Returns false
otherwise.
ascii_of_ident s
maps UTF-8 string to a string composed solely from ASCII characters. The non-ASCII characters are translated to "_UUxxxx_"
where xxxx is the Unicode index of the character in hexadecimal (from four to six hex digits). To avoid potential name clashes, any preexisting substring "_UU"
is turned into "_UUU"
.
\ No newline at end of file
diff --git a/master/api/rocq-runtime/index.html b/master/api/rocq-runtime/index.html
index 797839de7e..3e65fceeca 100644
--- a/master/api/rocq-runtime/index.html
+++ b/master/api/rocq-runtime/index.html
@@ -1,2 +1,2 @@
-index (rocq-runtime.index) rocq-runtime index
Library rocq-runtime.boot
The entry point of this library is the module: Boot
.
Library rocq-runtime.checklib
The entry point of this library is the module: Coq_checklib
.
Library rocq-runtime.clib
This library exposes the following toplevel modules:
CArray
CEphemeron
CList
CMap
CObj
CSet
CSig
Missing pervasive types from OCaml stdlibCString
CThread
CUnix
Diff2
An implementation of Eugene Myers' O(ND) Difference Algorithm[1]. This implementation is a port of util.lcs module of Gauche Scheme interpreter.Dyn
Dynamically typed valuesExninfo
Additional information worn by exceptions.HMap
Hashcons
Generic hash-consing.Hashset
Adapted from Damien Doligez, projet Para, INRIA Rocquencourt, OCaml stdlib.Heap
HeapsIStream
Int
A native integer module with usual utility functions.Memprof_coq
Monad
Combinators on monadic computations.Mutex_aux
NeList
Option
Module implementing basic combinators for OCaml option type. It tries follow closely the style of OCaml standard library.OrderedType
PolyMap
Predicate
Infinite sets over a chosen OrderedType
.Range
Skewed listsSList
Sparse lists.Segmenttree
This module is a very simple implementation of "segment trees".Store
Terminal
Trie
Generic functorized trie data structure.Unicode
Unicode utilitiesUnicodetable
Unionfind
An imperative implementation of partitions via Union-Find
Library rocq-runtime.config
The entry point of this library is the module: Coq_config
.
Library rocq-runtime.config.byte
The entry point of this library is the module: Coq_byte_config
.
Library rocq-runtime.coqargs
The entry point of this library is the module: Coqargs
.
Library rocq-runtime.coqdeplib
The entry point of this library is the module: Coqdeplib
.
Library rocq-runtime.coqworkmgrapi
The entry point of this library is the module: CoqworkmgrApi
.
Library rocq-runtime.debugger_support
The entry point of this library is the module: Debugger_support
.
Library rocq-runtime.dev
This library exposes the following toplevel modules:
Top_printers
Printers for the OCaml toplevel.Vm_printers
Library rocq-runtime.engine
This library exposes the following toplevel modules:
EConstr
Evar_kinds
The kinds of existential variableEvarutil
This module provides useful higher-level functions for evar manipulation.Evd
This file defines the pervasive unification state used everywhere in Coq tactic engine. It is very low-level and most of the functions exported here are irrelevant to the standard API user. Consider using Evarutil
or Proofview
instead.Ftactic
This module defines potentially focussing tactics. They are used by Ltac to emulate the historical behaviour of always-focussed tactics while still allowing to remain global when the goal is not needed.Logic_monad
This file implements the low-level monadic operations used by the tactic monad. The monad is divided into two layers: a non-logical layer which consists in operations which will not (or cannot) be backtracked in case of failure (input/output or persistent state) and a logical layer which handles backtracking, proof manipulation, and any other effect which needs to backtrack.Namegen
This file features facilities to generate fresh names.Nameops
Identifiers and namesProfile_tactic
Ltac profiling primitivesProofview
This files defines the basic mechanism of proofs: the proofview
type is the state which tactics manipulate (a global state for existential variables, together with the list of goals), and the type 'a tactic
is the (abstract) type of tactics modifying the proof state and returning a value of type 'a
.Proofview_monad
This file defines the datatypes used as internal states by the tactic monad, and specialises the Logic_monad
to these types. It should not be used directly. Consider using Proofview
instead.Termops
This file defines various utilities for term manipulation that are not needed in the kernel.UState
This file defines universe unification states which are part of evarmaps. Most of the API below is reexported in Evd
. Consider using higher-level primitives when needed.UnivFlex
UnivGen
UnivMinim
UnivNames
Local universe name <-> level mappingUnivProblem
UnivSubst
Library rocq-runtime.gramlib
The entry point of this library is the module: Gramlib
.
Library rocq-runtime.interp
This library exposes the following toplevel modules:
Abbreviation
Abbreviations.Constrexpr
Constrexpr_ops
Constrexpr_ops: utilities on constr_expr
Constrextern
Translation of pattern, cases pattern, glob_constr and term into syntax trees for printingConstrintern
Translation from front abstract syntax of term to untyped terms (glob_constr)Decls
Dumpglob
This file implements the Coq's .glob
file format, which provides information about the objects that are defined and referenced from a Coq file.Genintern
Impargs
Implicit_quantifiers
Modintern
Module internalization errorsNotation
NotationsNotation_ops
Constr default entriesNotation_term
notation_constr
Notationextern
Declaration of uninterpretation functions (i.e. printing rules) for notationsNumTok
Numbers in different forms: signed or unsigned, possibly with fractional part and exponent.Reserve
Smartlocate
locate_global_with_alias
locates global reference possibly following a notation if this notation has a role of aliasing; raise Not_found
if not bound in the global env; raise a UserError
if bound to a syntactic def that does not denote a reference
Library rocq-runtime.kernel
This library exposes the following toplevel modules:
CClosure
Lazy reduction.CPrimitives
Constant_typing
Constr
This file defines the most important datatype of Coq, namely kernel terms, as well as a handful of generic manipulation functions.Context
The modules defined below represent a local context as defined by Chapter 4 in the Reference Manual:Conv_oracle
Conversion
Cooking
Declarations
This module defines the internal representation of global declarations. This includes global constants/axioms, mutual inductive definitions, modules and module typesDeclareops
Operations concerning types in Declarations
: constant_body
, mutual_inductive_body
, module_body
...Discharge
Entries
This module defines the entry types for global declarations. This information is entered in the environments. This includes global constants/axioms, mutual inductive definitions, modules and module typesEnviron
Unsafe environments. We define here a datatype for environments. Since typing is not yet defined, it is not possible to check the informations added in environments, and that is why we speak here of ``unsafe'' environments.Esubst
Explicit substitutionsEvar
This module defines existential variables, which are isomorphic to int
. Nonetheless, casting from an int
to a variable is deemed unsafe, so that to keep track of such casts, one has to use the provided unsafe_of_int
function.Float64
Float64_common
Genlambda
Intermediate language used by both the VM and native.HConstr
IndTyping
Indtypes
Inductive
InferCumulativity
Mod_subst
Mod_typing
Main functions for translating module entriesModops
Names
This file defines a lot of different notions of names used pervasively in the kernel as well as in other places. The essential datatypes exported by this API are:Nativecode
This file defines the mllambda code generation phase of the native compiler. mllambda represents a fragment of ML, and can easily be printed to OCaml code.Nativeconv
This module implements the conversion test by compiling to OCaml codeNativelambda
This file defines the lambda code generation phase of the native compilerNativelib
This file provides facilities to access OCaml compiler and dynamic linker, used by the native compiler.Nativelibrary
This file implements separate compilation for libraries in the native compilerNativevalues
This modules defines the representation of values internally used by the native compiler. Be careful when removing apparently dead code from this interface, as it may be used by programs generated at runtime.Opaqueproof
This module implements the handling of opaque proof terms. Opaque proof terms are special since:Parray
Partial_subst
Primred
Pstring
Primitive string
type.RedFlags
Delta implies all consts (both global (= by kernel_name
) and local (= by Rel
or Var
)), all evars, and letin's. Rem: reduction of a Rel/Var bound to a term is Delta, but reduction of a LetIn expression is Letin reductionReduction
None of these functions do eta reductionRelevanceops
We can take advantage of non-cumulativity of SProp to avoid fully retyping terms when we just want to know if they inhabit some proof-irrelevant type.Retroknowledge
Rtree
Safe_typing
Section
Kernel implementation of sections.Sorts
Subtyping
Term
TransparentState
Type_errors
Type errors. \label{typeerrors}
Typeops
UGraph
UVars
Uint63
Univ
Values
Vars
Vconv
Vm
Vmbytecodes
Vmbytegen
Vmemitcodes
Vmerrors
Vmlambda
Vmlibrary
Vmopcodes
Vmsymtable
Vmvalues
Values
Library rocq-runtime.lib
This library exposes the following toplevel modules:
AcyclicGraph
Graphs representing strict ordersAux_file
CAst
CDebug
CErrors
This modules implements basic manipulations of errors for use throughout Coq's code.CWarnings
Control
Global control of Coq.CoqProject_file
DAst
Lazy AST node wrapper. Only used for glob_constr
as of today.Deprecation
Envars
This file provides a high-level interface to the environment variables needed by Coq to run (such as coqlib). The values of these variables may come from different sources (shell environment variables, command line options, options set at the time Coq was build).Feedback
Flags
Global options of the system.Hook
This module centralizes the notions of hooks. Hooks are pointers that are to be set at runtime exactly once.Instr
Platform-specific Implementation of a global instruction counter.Loc
NewProfile
ObjFile
Pp
Coq document type.Pp_diff
Computes the differences between 2 Pp's and adds additional tags to a Pp to highlight them. Strings are split into tokens using the Coq lexer, then the lists of tokens are diffed using the Myers algorithm. A fixup routine, shorten_diff_span, shortens the span of the diff result in some cases.Quickfix
Spawn
Stateid
System
UserWarn
This is about warnings triggered from user .v code ("warn" attibute). See cWarnings.mli for the generic warning interface.Util
This module contains numerous utility functions on strings, lists, arrays, etc.Xml_datatype
Library rocq-runtime.library
This library exposes the following toplevel modules:
Coqlib
Deprecated alias for RocqlibGlobal
This module defines the global environment of Coq. The functions below are exactly the same as the ones in Safe_typing
, operating on that global environment. add_*
functions perform name verification, i.e. check that the name given as argument match those provided by Safe_typing
.Globnames
Goptions
This module manages customization parameters at the vernacular levelLib
Lib: record of operations, backtrack, low-level sectionsLibnames
Libobject
Libobject
declares persistent objects, given with methods:Library_info
Locality
* Managing localityNametab
This module contains the tables for globalization.Rocqlib
Indirection between logical names and global references.Summary
Library rocq-runtime.parsing
This library exposes the following toplevel modules:
CLexer
Extend
Entry keys for constr notationsG_constr
G_prim
Notation_gram
Notgram_ops
Pcoq
Deprecated alias for ProcqProcq
The parser of CoqTok
The type of token for the Coq lexer and parser
Library rocq-runtime.perf
The entry point of this library is the module: Perf
.
Library rocq-runtime.plugins.btauto
The entry point of this library is the module: Btauto_plugin
.
Library rocq-runtime.plugins.cc
The entry point of this library is the module: Cc_plugin
.
Library rocq-runtime.plugins.cc_core
The entry point of this library is the module: Cc_core_plugin
.
Library rocq-runtime.plugins.derive
The entry point of this library is the module: Derive_plugin
.
Library rocq-runtime.plugins.extraction
The entry point of this library is the module: Extraction_plugin
.
Library rocq-runtime.plugins.firstorder
The entry point of this library is the module: Firstorder_plugin
.
Library rocq-runtime.plugins.firstorder_core
The entry point of this library is the module: Firstorder_core_plugin
.
Library rocq-runtime.plugins.funind
The entry point of this library is the module: Funind_plugin
.
Library rocq-runtime.plugins.ltac
The entry point of this library is the module: Ltac_plugin
.
Library rocq-runtime.plugins.ltac2
The entry point of this library is the module: Ltac2_plugin
.
Library rocq-runtime.plugins.ltac2_ltac1
The entry point of this library is the module: Ltac2_ltac1_plugin
.
Library rocq-runtime.plugins.micromega
The entry point of this library is the module: Micromega_plugin
.
Library rocq-runtime.plugins.micromega_core
The entry point of this library is the module: Micromega_core_plugin
.
Library rocq-runtime.plugins.nsatz
The entry point of this library is the module: Nsatz_plugin
.
Library rocq-runtime.plugins.nsatz_core
The entry point of this library is the module: Nsatz_core_plugin
.
Library rocq-runtime.plugins.number_string_notation
The entry point of this library is the module: Number_string_notation_plugin
.
Library rocq-runtime.plugins.ring
The entry point of this library is the module: Ring_plugin
.
Library rocq-runtime.plugins.rtauto
The entry point of this library is the module: Rtauto_plugin
.
Library rocq-runtime.plugins.ssreflect
The entry point of this library is the module: Ssreflect_plugin
.
Library rocq-runtime.plugins.ssrmatching
The entry point of this library is the module: Ssrmatching_plugin
.
Library rocq-runtime.plugins.tauto
The entry point of this library is the module: Tauto_plugin
.
Library rocq-runtime.plugins.tutorial.p0
The entry point of this library is the module: Tuto0_plugin
.
Library rocq-runtime.plugins.tutorial.p1
The entry point of this library is the module: Tuto1_plugin
.
Library rocq-runtime.plugins.tutorial.p2
The entry point of this library is the module: Tuto2_plugin
.
Library rocq-runtime.plugins.tutorial.p3
The entry point of this library is the module: Tuto3_plugin
.
Library rocq-runtime.plugins.zify
The entry point of this library is the module: Zify_plugin
.
Library rocq-runtime.pretyping
This library exposes the following toplevel modules:
Arguments_renaming
Cases
Cbv
Coercion
Coercionops
Combinators
telescope env sigma ctx
turns a context x1:A1;...;xn:An
into a right-associated nested sigma-type of the right sort. It returns:Constr_matching
This module implements pattern-matching on termsDetyping
Evaluable
Evaluable references (whose transparency can be controlled)Evarconv
Evardefine
Evarsolve
Find_subterm
Finding subterms, possibly up to some unification function, possibly at some given occurrencesGenarg
Generic arguments used by the extension mechanisms of several Coq ASTs.Geninterp
Interpretation functions for generic arguments and interpreted Ltac values.Gensubst
GlobEnv
Type of environment extended with naming and ltac interpretation dataGlob_ops
Glob_term
Untyped intermediate termsHeads
This module is about the computation of an approximation of the head symbol of defined constants and local definitions; it provides the function to compute the head symbols and a table to store the headsIndrec
Errors related to recursors buildingInductiveops
The following three functions are similar to the ones defined in Inductive, but they expect an envKeys
Locus
Locus : positions in hypotheses and goalsLocusops
Utilities on or_varLtac_pretype
Nativenorm
This module implements normalization by evaluation to OCaml codePattern
Patternops
Pretype_errors
Pretyping
This file implements type inference. It maps glob_constr
(i.e. untyped terms whose names are located) to constr
. In particular, it drives complex pattern-matching problems ("match") into elementary ones, insertion of coercions and resolution of implicit arguments.Program
A bunch of Coq constants used by ProgramReductionops
Reduction Functions.Retyping
This family of functions assumes its constr argument is known to be well-typable. It does not type-check, just recompute the type without any costly verifications. On non well-typable terms, it either produces a wrong result or raise an anomaly. Use with care. It doesn't handle predicative universes too.Structures
Tacred
TemplateArity
Typeclasses
Typeclasses_errors
Typing
This module provides the typing machine with existential variables and universes.Unification
Vnorm
Library rocq-runtime.printing
This library exposes the following toplevel modules:
Genprint
Entry point for generic printersPpconstr
This module implements pretty-printers for constr_expr syntactic objects and their subcomponents.Ppextend
Pputils
Printer
These are the entry points for printing terms, context, tac, ...Proof_diffs
Library rocq-runtime.proofs
This library exposes the following toplevel modules:
Clenv
This file defines clausenv, which is a deprecated way to handle open terms in the proof engine. This API is legacy.Goal_select
Logic
Legacy proof engine. Do not use in newly written code.Miscprint
Printing of intro_pattern
Proof
Proof_bullet
Refine
The primitive refine tactic used to fill the holes in partial proofs. This is the recommended way to write tactics when the proof term is easy to write down. Note that this is not the user-level refine tactic defined in Ltac which is actually based on the one below.Tacmach
Operations for handling terms under a local typing context.Tactypes
Tactic-related types that are not totally Ltac specific and still used in lower API. It's not clear whether this is a temporary API or if this is meant to stay.
Library rocq-runtime.rocqshim
The entry point of this library is the module: Rocqshim
.
Library rocq-runtime.stm
This library exposes the following toplevel modules:
AsyncTaskQueue
Dag
Partac
ProofBlockDelimiter
Spawned
Stm
state-transaction-machine interfaceStmargs
TQueue
Vcs
WorkerPool
Library rocq-runtime.sysinit
This library exposes the following toplevel modules:
Coqinit
Main etry point to the sysinit component, all other modules are private.Coqloadpath
Library rocq-runtime.tactics
This library exposes the following toplevel modules:
Abstract
Auto
This files implements auto and related automation tacticsAutorewrite
This files implements the autorewrite tactic.Btermdn
Discrimination nets with bounded depth.Cbn
Class_tactics
This files implements typeclasses eautoContradiction
DeclareScheme
Dn
EClause
Eauto
Elim
Eliminations tactics.Elimschemes
Induction/recursion schemesEqdecide
Eqschemes
This file builds schemes relative to equality inductive typesEquality
Evar_tactics
Generalize
Genredexpr
Reduction expressionsHints
Hipattern
High-order patternsInd_tables
This module provides support for registering inductive scheme builders, declaring schemes and generating schemes on demandInduction
Inv
Ppred
Redexpr
Interpretation layer of redexprs such as hnf, cbv, etc.Redops
Rewrite
TODO: document and clean me!Stdarg
Basic generic arguments.Tacticals
Tactics
Main tactics defined in ML. This file is huge and should probably be split in more reasonable units at some point. Because of its size and age, the implementation features various styles and stages of the proof engine. This has to be uniformized someday.
Library rocq-runtime.toplevel
This library exposes the following toplevel modules:
Ccompile
Colors
Initializer color for outputCommon_compile
Coqc
Coqcargs
Coqloop
The Coq toplevel loop.Coqrc
Coqtop
Definition of custom toplevels. init_extra
is used to do custom initialization run
launches a custom toplevel.G_toplevel
Load
Memtrace_init
Vernac
WorkerLoop
Library rocq-runtime.vernac
This library exposes the following toplevel modules:
Assumptions
Attributes
Auto_ind_decl
This file is about the automatic generation of schemes about decidable equality,Canonical
Classes
Instance declarationComArguments
ComAssumption
ComCoercion
Classes and coercions.ComDefinition
ComExtraDeps
ComFixpoint
ComHints
ComInductive
ComPrimitive
ComRewriteRule
ComSearch
ComTactic
DebugHook
Ltac debugger interface; clients should register hooks to interact with their provided interface.Declare
This module provides the functions to declare new variables, parameters, constants and inductive types in the global environment. It also updates some accessory tables such as Nametab
(name resolution), Impargs
, and Notations
.DeclareInd
Registering a mutual inductive definition together with its associated schemesDeclareUniv
Declaremods
Egramml
Mapping of grammar productions to camlp5 actions.Egramrocq
Mapping of grammar productions to camlp5 actionsFuture
G_proofs
G_redexpr
G_vernac
Himsg
This module provides functions to explain the type errors.Indschemes
Library
This module provides functions to load, open and save libraries. Libraries correspond to the subclass of modules that coincide with a file on disk (the ".vo" files). Libraries on the disk comes with checksums (obtained with the Digest
module), which are checked at loading time to prevent inconsistencies between files written at various dates.Loadpath
* Load paths.Metasyntax
Mltop
Opaques
Ppvernac
This module implements pretty-printers for vernac_expr syntactic objects and their subcomponents.Prettyp
This module implements Print/About/Locate commandsPrintmod
Proof_using
Utility code for section variables handling in Proof using...Pvernac
RecLemmas
Record
RetrieveObl
Search
Synterp
This module implements the syntactic interpretation phase of vernacular commands. The main entry point is synterp_control
, which transforms a vernacexpr into a vernac_control_entry
.Topfmt
Console printing optionsVernacControl
Vernac_classifier
Vernacentries
Vernacexpr
Vernacextend
Vernacular Extension dataVernacinterp
Vernacoptions
Vernacprop
Vernacstate
Vernactypes
Interpretation of extended vernac phrases.
Library rocq-runtime.vm
The entry point of this library is the module: Coqrun
.
\ No newline at end of file
+index (rocq-runtime.index) rocq-runtime index
Library rocq-runtime.boot
The entry point of this library is the module: Boot
.
Library rocq-runtime.checklib
The entry point of this library is the module: Coq_checklib
.
Library rocq-runtime.clib
This library exposes the following toplevel modules:
CArray
CEphemeron
CList
CMap
CObj
CSet
CSig
Missing pervasive types from OCaml stdlibCString
CThread
CUnix
Diff2
An implementation of Eugene Myers' O(ND) Difference Algorithm[1]. This implementation is a port of util.lcs module of Gauche Scheme interpreter.Dyn
Dynamically typed valuesExninfo
Additional information worn by exceptions.HMap
Hashcons
Generic hash-consing.Hashset
Adapted from Damien Doligez, projet Para, INRIA Rocquencourt, OCaml stdlib.Heap
HeapsIStream
Int
A native integer module with usual utility functions.Memprof_coq
Monad
Combinators on monadic computations.Mutex_aux
NeList
Option
Module implementing basic combinators for OCaml option type. It tries follow closely the style of OCaml standard library.OrderedType
PolyMap
Predicate
Infinite sets over a chosen OrderedType
.Range
Skewed listsSList
Sparse lists.Segmenttree
This module is a very simple implementation of "segment trees".Store
Terminal
Trie
Generic functorized trie data structure.Unicode
Unicode utilitiesUnicodetable
Unionfind
An imperative implementation of partitions via Union-Find
Library rocq-runtime.config
The entry point of this library is the module: Coq_config
.
Library rocq-runtime.config.byte
The entry point of this library is the module: Coq_byte_config
.
Library rocq-runtime.coqargs
The entry point of this library is the module: Coqargs
.
Library rocq-runtime.coqdeplib
The entry point of this library is the module: Coqdeplib
.
Library rocq-runtime.coqworkmgrapi
The entry point of this library is the module: CoqworkmgrApi
.
Library rocq-runtime.debugger_support
The entry point of this library is the module: Debugger_support
.
Library rocq-runtime.dev
This library exposes the following toplevel modules:
Top_printers
Printers for the OCaml toplevel.Vm_printers
Library rocq-runtime.engine
This library exposes the following toplevel modules:
EConstr
Evar_kinds
The kinds of existential variableEvarutil
This module provides useful higher-level functions for evar manipulation.Evd
This file defines the pervasive unification state used everywhere in Rocq tactic engine. It is very low-level and most of the functions exported here are irrelevant to the standard API user. Consider using Evarutil
or Proofview
instead.Ftactic
This module defines potentially focussing tactics. They are used by Ltac to emulate the historical behaviour of always-focussed tactics while still allowing to remain global when the goal is not needed.Logic_monad
This file implements the low-level monadic operations used by the tactic monad. The monad is divided into two layers: a non-logical layer which consists in operations which will not (or cannot) be backtracked in case of failure (input/output or persistent state) and a logical layer which handles backtracking, proof manipulation, and any other effect which needs to backtrack.Namegen
This file features facilities to generate fresh names.Nameops
Identifiers and namesProfile_tactic
Ltac profiling primitivesProofview
This files defines the basic mechanism of proofs: the proofview
type is the state which tactics manipulate (a global state for existential variables, together with the list of goals), and the type 'a tactic
is the (abstract) type of tactics modifying the proof state and returning a value of type 'a
.Proofview_monad
This file defines the datatypes used as internal states by the tactic monad, and specialises the Logic_monad
to these types. It should not be used directly. Consider using Proofview
instead.Termops
This file defines various utilities for term manipulation that are not needed in the kernel.UState
This file defines universe unification states which are part of evarmaps. Most of the API below is reexported in Evd
. Consider using higher-level primitives when needed.UnivFlex
UnivGen
UnivMinim
UnivNames
Local universe name <-> level mappingUnivProblem
UnivSubst
Library rocq-runtime.gramlib
The entry point of this library is the module: Gramlib
.
Library rocq-runtime.interp
This library exposes the following toplevel modules:
Abbreviation
Abbreviations.Constrexpr
Constrexpr_ops
Constrexpr_ops: utilities on constr_expr
Constrextern
Translation of pattern, cases pattern, glob_constr and term into syntax trees for printingConstrintern
Translation from front abstract syntax of term to untyped terms (glob_constr)Decls
Dumpglob
This file implements the Coq's .glob
file format, which provides information about the objects that are defined and referenced from a Coq file.Genintern
Impargs
Implicit_quantifiers
Modintern
Module internalization errorsNotation
NotationsNotation_ops
Constr default entriesNotation_term
notation_constr
Notationextern
Declaration of uninterpretation functions (i.e. printing rules) for notationsNumTok
Numbers in different forms: signed or unsigned, possibly with fractional part and exponent.Reserve
Smartlocate
locate_global_with_alias
locates global reference possibly following a notation if this notation has a role of aliasing; raise Not_found
if not bound in the global env; raise a UserError
if bound to a syntactic def that does not denote a reference
Library rocq-runtime.kernel
This library exposes the following toplevel modules:
CClosure
Lazy reduction.CPrimitives
Constant_typing
Constr
This file defines the most important datatype of Rocq, namely kernel terms, as well as a handful of generic manipulation functions.Context
The modules defined below represent a local context as defined by Chapter 4 in the Reference Manual:Conv_oracle
Conversion
Cooking
Declarations
This module defines the internal representation of global declarations. This includes global constants/axioms, mutual inductive definitions, modules and module typesDeclareops
Operations concerning types in Declarations
: constant_body
, mutual_inductive_body
, module_body
...Discharge
Entries
This module defines the entry types for global declarations. This information is entered in the environments. This includes global constants/axioms, mutual inductive definitions, modules and module typesEnviron
Unsafe environments. We define here a datatype for environments. Since typing is not yet defined, it is not possible to check the informations added in environments, and that is why we speak here of ``unsafe'' environments.Esubst
Explicit substitutionsEvar
This module defines existential variables, which are isomorphic to int
. Nonetheless, casting from an int
to a variable is deemed unsafe, so that to keep track of such casts, one has to use the provided unsafe_of_int
function.Float64
Float64_common
Genlambda
Intermediate language used by both the VM and native.HConstr
IndTyping
Indtypes
Inductive
InferCumulativity
Mod_subst
Mod_typing
Main functions for translating module entriesModops
Names
This file defines a lot of different notions of names used pervasively in the kernel as well as in other places. The essential datatypes exported by this API are:Nativecode
This file defines the mllambda code generation phase of the native compiler. mllambda represents a fragment of ML, and can easily be printed to OCaml code.Nativeconv
This module implements the conversion test by compiling to OCaml codeNativelambda
This file defines the lambda code generation phase of the native compilerNativelib
This file provides facilities to access OCaml compiler and dynamic linker, used by the native compiler.Nativelibrary
This file implements separate compilation for libraries in the native compilerNativevalues
This modules defines the representation of values internally used by the native compiler. Be careful when removing apparently dead code from this interface, as it may be used by programs generated at runtime.Opaqueproof
This module implements the handling of opaque proof terms. Opaque proof terms are special since:Parray
Partial_subst
Primred
Pstring
Primitive string
type.RedFlags
Delta implies all consts (both global (= by kernel_name
) and local (= by Rel
or Var
)), all evars, and letin's. Rem: reduction of a Rel/Var bound to a term is Delta, but reduction of a LetIn expression is Letin reductionReduction
None of these functions do eta reductionRelevanceops
We can take advantage of non-cumulativity of SProp to avoid fully retyping terms when we just want to know if they inhabit some proof-irrelevant type.Retroknowledge
Rtree
Safe_typing
Section
Kernel implementation of sections.Sorts
Subtyping
Term
TransparentState
Type_errors
Type errors. \label{typeerrors}
Typeops
UGraph
UVars
Uint63
Univ
Values
Vars
Vconv
Vm
Vmbytecodes
Vmbytegen
Vmemitcodes
Vmerrors
Vmlambda
Vmlibrary
Vmopcodes
Vmsymtable
Vmvalues
Values
Library rocq-runtime.lib
This library exposes the following toplevel modules:
AcyclicGraph
Graphs representing strict ordersAux_file
CAst
CDebug
CErrors
This modules implements basic manipulations of errors for use throughout Rocq's code.CWarnings
Control
Global control of Rocq.CoqProject_file
DAst
Lazy AST node wrapper. Only used for glob_constr
as of today.Deprecation
Envars
This file provides a high-level interface to the environment variables needed by Rocq to run (such as coqlib). The values of these variables may come from different sources (shell environment variables, command line options, options set at the time Rocq was build).Feedback
Flags
Global options of the system.Hook
This module centralizes the notions of hooks. Hooks are pointers that are to be set at runtime exactly once.Instr
Platform-specific Implementation of a global instruction counter.Loc
NewProfile
ObjFile
Pp
Rocq document type.Pp_diff
Computes the differences between 2 Pp's and adds additional tags to a Pp to highlight them. Strings are split into tokens using the Rocq lexer, then the lists of tokens are diffed using the Myers algorithm. A fixup routine, shorten_diff_span, shortens the span of the diff result in some cases.Quickfix
Spawn
Stateid
System
UserWarn
This is about warnings triggered from user .v code ("warn" attibute). See cWarnings.mli for the generic warning interface.Util
This module contains numerous utility functions on strings, lists, arrays, etc.Xml_datatype
Library rocq-runtime.library
This library exposes the following toplevel modules:
Coqlib
Deprecated alias for RocqlibGlobal
This module defines the global environment of Rocq. The functions below are exactly the same as the ones in Safe_typing
, operating on that global environment. add_*
functions perform name verification, i.e. check that the name given as argument match those provided by Safe_typing
.Globnames
Goptions
This module manages customization parameters at the vernacular levelLib
Lib: record of operations, backtrack, low-level sectionsLibnames
Libobject
Libobject
declares persistent objects, given with methods:Library_info
Locality
* Managing localityNametab
This module contains the tables for globalization.Rocqlib
Indirection between logical names and global references.Summary
Library rocq-runtime.parsing
This library exposes the following toplevel modules:
CLexer
Extend
Entry keys for constr notationsG_constr
G_prim
Notation_gram
Notgram_ops
Pcoq
Deprecated alias for ProcqProcq
The parser of RocqTok
The type of token for the Rocq lexer and parser
Library rocq-runtime.perf
The entry point of this library is the module: Perf
.
Library rocq-runtime.plugins.btauto
The entry point of this library is the module: Btauto_plugin
.
Library rocq-runtime.plugins.cc
The entry point of this library is the module: Cc_plugin
.
Library rocq-runtime.plugins.cc_core
The entry point of this library is the module: Cc_core_plugin
.
Library rocq-runtime.plugins.derive
The entry point of this library is the module: Derive_plugin
.
Library rocq-runtime.plugins.extraction
The entry point of this library is the module: Extraction_plugin
.
Library rocq-runtime.plugins.firstorder
The entry point of this library is the module: Firstorder_plugin
.
Library rocq-runtime.plugins.firstorder_core
The entry point of this library is the module: Firstorder_core_plugin
.
Library rocq-runtime.plugins.funind
The entry point of this library is the module: Funind_plugin
.
Library rocq-runtime.plugins.ltac
The entry point of this library is the module: Ltac_plugin
.
Library rocq-runtime.plugins.ltac2
The entry point of this library is the module: Ltac2_plugin
.
Library rocq-runtime.plugins.ltac2_ltac1
The entry point of this library is the module: Ltac2_ltac1_plugin
.
Library rocq-runtime.plugins.micromega
The entry point of this library is the module: Micromega_plugin
.
Library rocq-runtime.plugins.micromega_core
The entry point of this library is the module: Micromega_core_plugin
.
Library rocq-runtime.plugins.nsatz
The entry point of this library is the module: Nsatz_plugin
.
Library rocq-runtime.plugins.nsatz_core
The entry point of this library is the module: Nsatz_core_plugin
.
Library rocq-runtime.plugins.number_string_notation
The entry point of this library is the module: Number_string_notation_plugin
.
Library rocq-runtime.plugins.ring
The entry point of this library is the module: Ring_plugin
.
Library rocq-runtime.plugins.rtauto
The entry point of this library is the module: Rtauto_plugin
.
Library rocq-runtime.plugins.ssreflect
The entry point of this library is the module: Ssreflect_plugin
.
Library rocq-runtime.plugins.ssrmatching
The entry point of this library is the module: Ssrmatching_plugin
.
Library rocq-runtime.plugins.tauto
The entry point of this library is the module: Tauto_plugin
.
Library rocq-runtime.plugins.tutorial.p0
The entry point of this library is the module: Tuto0_plugin
.
Library rocq-runtime.plugins.tutorial.p1
The entry point of this library is the module: Tuto1_plugin
.
Library rocq-runtime.plugins.tutorial.p2
The entry point of this library is the module: Tuto2_plugin
.
Library rocq-runtime.plugins.tutorial.p3
The entry point of this library is the module: Tuto3_plugin
.
Library rocq-runtime.plugins.zify
The entry point of this library is the module: Zify_plugin
.
Library rocq-runtime.pretyping
This library exposes the following toplevel modules:
Arguments_renaming
Cases
Cbv
Coercion
Coercionops
Combinators
telescope env sigma ctx
turns a context x1:A1;...;xn:An
into a right-associated nested sigma-type of the right sort. It returns:Constr_matching
This module implements pattern-matching on termsDetyping
Evaluable
Evaluable references (whose transparency can be controlled)Evarconv
Evardefine
Evarsolve
Find_subterm
Finding subterms, possibly up to some unification function, possibly at some given occurrencesGenarg
Generic arguments used by the extension mechanisms of several Rocq ASTs.Geninterp
Interpretation functions for generic arguments and interpreted Ltac values.Gensubst
GlobEnv
Type of environment extended with naming and ltac interpretation dataGlob_ops
Glob_term
Untyped intermediate termsHeads
This module is about the computation of an approximation of the head symbol of defined constants and local definitions; it provides the function to compute the head symbols and a table to store the headsIndrec
Errors related to recursors buildingInductiveops
The following three functions are similar to the ones defined in Inductive, but they expect an envKeys
Locus
Locus : positions in hypotheses and goalsLocusops
Utilities on or_varLtac_pretype
Nativenorm
This module implements normalization by evaluation to OCaml codePattern
Patternops
Pretype_errors
Pretyping
This file implements type inference. It maps glob_constr
(i.e. untyped terms whose names are located) to constr
. In particular, it drives complex pattern-matching problems ("match") into elementary ones, insertion of coercions and resolution of implicit arguments.Program
A bunch of Rocq constants used by ProgramReductionops
Reduction Functions.Retyping
This family of functions assumes its constr argument is known to be well-typable. It does not type-check, just recompute the type without any costly verifications. On non well-typable terms, it either produces a wrong result or raise an anomaly. Use with care. It doesn't handle predicative universes too.Structures
Tacred
TemplateArity
Typeclasses
Typeclasses_errors
Typing
This module provides the typing machine with existential variables and universes.Unification
Vnorm
Library rocq-runtime.printing
This library exposes the following toplevel modules:
Genprint
Entry point for generic printersPpconstr
This module implements pretty-printers for constr_expr syntactic objects and their subcomponents.Ppextend
Pputils
Printer
These are the entry points for printing terms, context, tac, ...Proof_diffs
Library rocq-runtime.proofs
This library exposes the following toplevel modules:
Clenv
This file defines clausenv, which is a deprecated way to handle open terms in the proof engine. This API is legacy.Goal_select
Logic
Legacy proof engine. Do not use in newly written code.Miscprint
Printing of intro_pattern
Proof
Proof_bullet
Refine
The primitive refine tactic used to fill the holes in partial proofs. This is the recommended way to write tactics when the proof term is easy to write down. Note that this is not the user-level refine tactic defined in Ltac which is actually based on the one below.Tacmach
Operations for handling terms under a local typing context.Tactypes
Tactic-related types that are not totally Ltac specific and still used in lower API. It's not clear whether this is a temporary API or if this is meant to stay.
Library rocq-runtime.rocqshim
The entry point of this library is the module: Rocqshim
.
Library rocq-runtime.stm
This library exposes the following toplevel modules:
AsyncTaskQueue
Dag
Partac
ProofBlockDelimiter
Spawned
Stm
state-transaction-machine interfaceStmargs
TQueue
Vcs
WorkerPool
Library rocq-runtime.sysinit
This library exposes the following toplevel modules:
Coqinit
Main etry point to the sysinit component, all other modules are private.Coqloadpath
Library rocq-runtime.tactics
This library exposes the following toplevel modules:
Abstract
Auto
This files implements auto and related automation tacticsAutorewrite
This files implements the autorewrite tactic.Btermdn
Discrimination nets with bounded depth.Cbn
Class_tactics
This files implements typeclasses eautoContradiction
DeclareScheme
Dn
EClause
Eauto
Elim
Eliminations tactics.Elimschemes
Induction/recursion schemesEqdecide
Eqschemes
This file builds schemes relative to equality inductive typesEquality
Evar_tactics
Generalize
Genredexpr
Reduction expressionsHints
Hipattern
High-order patternsInd_tables
This module provides support for registering inductive scheme builders, declaring schemes and generating schemes on demandInduction
Inv
Ppred
Redexpr
Interpretation layer of redexprs such as hnf, cbv, etc.Redops
Rewrite
TODO: document and clean me!Stdarg
Basic generic arguments.Tacticals
Tactics
Main tactics defined in ML. This file is huge and should probably be split in more reasonable units at some point. Because of its size and age, the implementation features various styles and stages of the proof engine. This has to be uniformized someday.
Library rocq-runtime.toplevel
This library exposes the following toplevel modules:
Ccompile
Colors
Initializer color for outputCommon_compile
Coqc
Coqcargs
Coqloop
The Rocq toplevel loop.Coqrc
Coqtop
Definition of custom toplevels. init_extra
is used to do custom initialization run
launches a custom toplevel.G_toplevel
Load
Memtrace_init
Vernac
WorkerLoop
Library rocq-runtime.vernac
This library exposes the following toplevel modules:
Assumptions
Attributes
Auto_ind_decl
This file is about the automatic generation of schemes about decidable equality,Canonical
Classes
Instance declarationComArguments
ComAssumption
ComCoercion
Classes and coercions.ComDefinition
ComExtraDeps
ComFixpoint
ComHints
ComInductive
ComPrimitive
ComRewriteRule
ComSearch
ComTactic
DebugHook
Ltac debugger interface; clients should register hooks to interact with their provided interface.Declare
This module provides the functions to declare new variables, parameters, constants and inductive types in the global environment. It also updates some accessory tables such as Nametab
(name resolution), Impargs
, and Notations
.DeclareInd
Registering a mutual inductive definition together with its associated schemesDeclareUniv
Declaremods
Egramml
Mapping of grammar productions to camlp5 actions.Egramrocq
Mapping of grammar productions to camlp5 actionsFuture
G_proofs
G_redexpr
G_vernac
Himsg
This module provides functions to explain the type errors.Indschemes
Library
This module provides functions to load, open and save libraries. Libraries correspond to the subclass of modules that coincide with a file on disk (the ".vo" files). Libraries on the disk comes with checksums (obtained with the Digest
module), which are checked at loading time to prevent inconsistencies between files written at various dates.Loadpath
* Load paths.Metasyntax
Mltop
Opaques
Ppvernac
This module implements pretty-printers for vernac_expr syntactic objects and their subcomponents.Prettyp
This module implements Print/About/Locate commandsPrintmod
Proof_using
Utility code for section variables handling in Proof using...Pvernac
RecLemmas
Record
RetrieveObl
Search
Synterp
This module implements the syntactic interpretation phase of vernacular commands. The main entry point is synterp_control
, which transforms a vernacexpr into a vernac_control_entry
.Topfmt
Console printing optionsVernacControl
Vernac_classifier
Vernacentries
Vernacexpr
Vernacextend
Vernacular Extension dataVernacinterp
Vernacoptions
Vernacprop
Vernacstate
Vernactypes
Interpretation of extended vernac phrases.
Library rocq-runtime.vm
The entry point of this library is the module: Coqrun
.
\ No newline at end of file
diff --git a/master/refman/.doctrees/addendum/extraction.doctree b/master/refman/.doctrees/addendum/extraction.doctree
index 453c68fcad..34f1f56ad9 100644
Binary files a/master/refman/.doctrees/addendum/extraction.doctree and b/master/refman/.doctrees/addendum/extraction.doctree differ
diff --git a/master/refman/.doctrees/addendum/generalized-rewriting.doctree b/master/refman/.doctrees/addendum/generalized-rewriting.doctree
index 94aba3b569..14aedb58ba 100644
Binary files a/master/refman/.doctrees/addendum/generalized-rewriting.doctree and b/master/refman/.doctrees/addendum/generalized-rewriting.doctree differ
diff --git a/master/refman/.doctrees/addendum/implicit-coercions.doctree b/master/refman/.doctrees/addendum/implicit-coercions.doctree
index 7616b34f67..7b48a6e069 100644
Binary files a/master/refman/.doctrees/addendum/implicit-coercions.doctree and b/master/refman/.doctrees/addendum/implicit-coercions.doctree differ
diff --git a/master/refman/.doctrees/addendum/micromega.doctree b/master/refman/.doctrees/addendum/micromega.doctree
index 75633a8e3d..ff8939d6ff 100644
Binary files a/master/refman/.doctrees/addendum/micromega.doctree and b/master/refman/.doctrees/addendum/micromega.doctree differ
diff --git a/master/refman/.doctrees/addendum/miscellaneous-extensions.doctree b/master/refman/.doctrees/addendum/miscellaneous-extensions.doctree
index e9a9a1adae..b4ee9cae0a 100644
Binary files a/master/refman/.doctrees/addendum/miscellaneous-extensions.doctree and b/master/refman/.doctrees/addendum/miscellaneous-extensions.doctree differ
diff --git a/master/refman/.doctrees/addendum/program.doctree b/master/refman/.doctrees/addendum/program.doctree
index 6cd0984c42..1e046899c5 100644
Binary files a/master/refman/.doctrees/addendum/program.doctree and b/master/refman/.doctrees/addendum/program.doctree differ
diff --git a/master/refman/.doctrees/addendum/rewrite-rules.doctree b/master/refman/.doctrees/addendum/rewrite-rules.doctree
index 44ccb51f19..91d1b5c254 100644
Binary files a/master/refman/.doctrees/addendum/rewrite-rules.doctree and b/master/refman/.doctrees/addendum/rewrite-rules.doctree differ
diff --git a/master/refman/.doctrees/addendum/ring.doctree b/master/refman/.doctrees/addendum/ring.doctree
index 3a98888d39..e16a794564 100644
Binary files a/master/refman/.doctrees/addendum/ring.doctree and b/master/refman/.doctrees/addendum/ring.doctree differ
diff --git a/master/refman/.doctrees/addendum/sprop.doctree b/master/refman/.doctrees/addendum/sprop.doctree
index 267db42f39..f9b01c4cfe 100644
Binary files a/master/refman/.doctrees/addendum/sprop.doctree and b/master/refman/.doctrees/addendum/sprop.doctree differ
diff --git a/master/refman/.doctrees/addendum/type-classes.doctree b/master/refman/.doctrees/addendum/type-classes.doctree
index 31eca6d4c8..262e33bdc0 100644
Binary files a/master/refman/.doctrees/addendum/type-classes.doctree and b/master/refman/.doctrees/addendum/type-classes.doctree differ
diff --git a/master/refman/.doctrees/addendum/universe-polymorphism.doctree b/master/refman/.doctrees/addendum/universe-polymorphism.doctree
index ec5fd0ec20..7866bc4d30 100644
Binary files a/master/refman/.doctrees/addendum/universe-polymorphism.doctree and b/master/refman/.doctrees/addendum/universe-polymorphism.doctree differ
diff --git a/master/refman/.doctrees/changes.doctree b/master/refman/.doctrees/changes.doctree
index 918b7c93ff..e9528e0804 100644
Binary files a/master/refman/.doctrees/changes.doctree and b/master/refman/.doctrees/changes.doctree differ
diff --git a/master/refman/.doctrees/environment.pickle b/master/refman/.doctrees/environment.pickle
index 0a6f7766c6..a42b7da52d 100644
Binary files a/master/refman/.doctrees/environment.pickle and b/master/refman/.doctrees/environment.pickle differ
diff --git a/master/refman/.doctrees/language/cic.doctree b/master/refman/.doctrees/language/cic.doctree
index 704b318762..39454320dc 100644
Binary files a/master/refman/.doctrees/language/cic.doctree and b/master/refman/.doctrees/language/cic.doctree differ
diff --git a/master/refman/.doctrees/language/coq-library.doctree b/master/refman/.doctrees/language/coq-library.doctree
index 3374922c65..4320b90644 100644
Binary files a/master/refman/.doctrees/language/coq-library.doctree and b/master/refman/.doctrees/language/coq-library.doctree differ
diff --git a/master/refman/.doctrees/language/core/assumptions.doctree b/master/refman/.doctrees/language/core/assumptions.doctree
index d9801e137c..2d32fab5e8 100644
Binary files a/master/refman/.doctrees/language/core/assumptions.doctree and b/master/refman/.doctrees/language/core/assumptions.doctree differ
diff --git a/master/refman/.doctrees/language/core/basic.doctree b/master/refman/.doctrees/language/core/basic.doctree
index dd1c5b1d7e..0af3b7d57c 100644
Binary files a/master/refman/.doctrees/language/core/basic.doctree and b/master/refman/.doctrees/language/core/basic.doctree differ
diff --git a/master/refman/.doctrees/language/core/coinductive.doctree b/master/refman/.doctrees/language/core/coinductive.doctree
index 76c5696818..a90271e97c 100644
Binary files a/master/refman/.doctrees/language/core/coinductive.doctree and b/master/refman/.doctrees/language/core/coinductive.doctree differ
diff --git a/master/refman/.doctrees/language/core/conversion.doctree b/master/refman/.doctrees/language/core/conversion.doctree
index b1de8f41f5..83db105260 100644
Binary files a/master/refman/.doctrees/language/core/conversion.doctree and b/master/refman/.doctrees/language/core/conversion.doctree differ
diff --git a/master/refman/.doctrees/language/core/inductive.doctree b/master/refman/.doctrees/language/core/inductive.doctree
index 519688f61a..9c29c7109c 100644
Binary files a/master/refman/.doctrees/language/core/inductive.doctree and b/master/refman/.doctrees/language/core/inductive.doctree differ
diff --git a/master/refman/.doctrees/language/core/modules.doctree b/master/refman/.doctrees/language/core/modules.doctree
index 8d3eb434f2..29595a5014 100644
Binary files a/master/refman/.doctrees/language/core/modules.doctree and b/master/refman/.doctrees/language/core/modules.doctree differ
diff --git a/master/refman/.doctrees/language/core/primitive.doctree b/master/refman/.doctrees/language/core/primitive.doctree
index 356d489b78..5fe45948d8 100644
Binary files a/master/refman/.doctrees/language/core/primitive.doctree and b/master/refman/.doctrees/language/core/primitive.doctree differ
diff --git a/master/refman/.doctrees/language/core/records.doctree b/master/refman/.doctrees/language/core/records.doctree
index 5e2505b036..b8bcb5337a 100644
Binary files a/master/refman/.doctrees/language/core/records.doctree and b/master/refman/.doctrees/language/core/records.doctree differ
diff --git a/master/refman/.doctrees/language/core/sections.doctree b/master/refman/.doctrees/language/core/sections.doctree
index a90330ecea..e438f3ed53 100644
Binary files a/master/refman/.doctrees/language/core/sections.doctree and b/master/refman/.doctrees/language/core/sections.doctree differ
diff --git a/master/refman/.doctrees/language/core/variants.doctree b/master/refman/.doctrees/language/core/variants.doctree
index cf14864be5..1a414d77e9 100644
Binary files a/master/refman/.doctrees/language/core/variants.doctree and b/master/refman/.doctrees/language/core/variants.doctree differ
diff --git a/master/refman/.doctrees/language/extensions/arguments-command.doctree b/master/refman/.doctrees/language/extensions/arguments-command.doctree
index d060942913..5a7abb5d76 100644
Binary files a/master/refman/.doctrees/language/extensions/arguments-command.doctree and b/master/refman/.doctrees/language/extensions/arguments-command.doctree differ
diff --git a/master/refman/.doctrees/language/extensions/canonical.doctree b/master/refman/.doctrees/language/extensions/canonical.doctree
index 015a378cfe..61ef0c2bae 100644
Binary files a/master/refman/.doctrees/language/extensions/canonical.doctree and b/master/refman/.doctrees/language/extensions/canonical.doctree differ
diff --git a/master/refman/.doctrees/language/extensions/evars.doctree b/master/refman/.doctrees/language/extensions/evars.doctree
index c31830a06f..43e1a31125 100644
Binary files a/master/refman/.doctrees/language/extensions/evars.doctree and b/master/refman/.doctrees/language/extensions/evars.doctree differ
diff --git a/master/refman/.doctrees/language/extensions/implicit-arguments.doctree b/master/refman/.doctrees/language/extensions/implicit-arguments.doctree
index 18ec2e1c6c..e5dc2e07fd 100644
Binary files a/master/refman/.doctrees/language/extensions/implicit-arguments.doctree and b/master/refman/.doctrees/language/extensions/implicit-arguments.doctree differ
diff --git a/master/refman/.doctrees/language/extensions/match.doctree b/master/refman/.doctrees/language/extensions/match.doctree
index 7675ea8dd3..815e3e7e89 100644
Binary files a/master/refman/.doctrees/language/extensions/match.doctree and b/master/refman/.doctrees/language/extensions/match.doctree differ
diff --git a/master/refman/.doctrees/practical-tools/coq-commands.doctree b/master/refman/.doctrees/practical-tools/coq-commands.doctree
index 8120f9b76b..eb60ea3832 100644
Binary files a/master/refman/.doctrees/practical-tools/coq-commands.doctree and b/master/refman/.doctrees/practical-tools/coq-commands.doctree differ
diff --git a/master/refman/.doctrees/practical-tools/coqide.doctree b/master/refman/.doctrees/practical-tools/coqide.doctree
index f3e3dae609..cad7aa7f2a 100644
Binary files a/master/refman/.doctrees/practical-tools/coqide.doctree and b/master/refman/.doctrees/practical-tools/coqide.doctree differ
diff --git a/master/refman/.doctrees/proof-engine/ltac.doctree b/master/refman/.doctrees/proof-engine/ltac.doctree
index cd7b6ed3ae..157260014d 100644
Binary files a/master/refman/.doctrees/proof-engine/ltac.doctree and b/master/refman/.doctrees/proof-engine/ltac.doctree differ
diff --git a/master/refman/.doctrees/proof-engine/ltac2.doctree b/master/refman/.doctrees/proof-engine/ltac2.doctree
index 86ceaee58a..887f3f174b 100644
Binary files a/master/refman/.doctrees/proof-engine/ltac2.doctree and b/master/refman/.doctrees/proof-engine/ltac2.doctree differ
diff --git a/master/refman/.doctrees/proof-engine/ssreflect-proof-language.doctree b/master/refman/.doctrees/proof-engine/ssreflect-proof-language.doctree
index ec154c6690..1e794896f6 100644
Binary files a/master/refman/.doctrees/proof-engine/ssreflect-proof-language.doctree and b/master/refman/.doctrees/proof-engine/ssreflect-proof-language.doctree differ
diff --git a/master/refman/.doctrees/proof-engine/tactics.doctree b/master/refman/.doctrees/proof-engine/tactics.doctree
index e8ddbd15c3..db0706bf02 100644
Binary files a/master/refman/.doctrees/proof-engine/tactics.doctree and b/master/refman/.doctrees/proof-engine/tactics.doctree differ
diff --git a/master/refman/.doctrees/proof-engine/vernacular-commands.doctree b/master/refman/.doctrees/proof-engine/vernacular-commands.doctree
index a7c0b1685b..98f260b7e5 100644
Binary files a/master/refman/.doctrees/proof-engine/vernacular-commands.doctree and b/master/refman/.doctrees/proof-engine/vernacular-commands.doctree differ
diff --git a/master/refman/.doctrees/proofs/automatic-tactics/auto.doctree b/master/refman/.doctrees/proofs/automatic-tactics/auto.doctree
index c102d664bf..661651cee8 100644
Binary files a/master/refman/.doctrees/proofs/automatic-tactics/auto.doctree and b/master/refman/.doctrees/proofs/automatic-tactics/auto.doctree differ
diff --git a/master/refman/.doctrees/proofs/automatic-tactics/logic.doctree b/master/refman/.doctrees/proofs/automatic-tactics/logic.doctree
index 33ff26729f..20ebdd51b1 100644
Binary files a/master/refman/.doctrees/proofs/automatic-tactics/logic.doctree and b/master/refman/.doctrees/proofs/automatic-tactics/logic.doctree differ
diff --git a/master/refman/.doctrees/proofs/writing-proofs/equality.doctree b/master/refman/.doctrees/proofs/writing-proofs/equality.doctree
index 7b8bf62f44..1da03e37c3 100644
Binary files a/master/refman/.doctrees/proofs/writing-proofs/equality.doctree and b/master/refman/.doctrees/proofs/writing-proofs/equality.doctree differ
diff --git a/master/refman/.doctrees/proofs/writing-proofs/proof-mode.doctree b/master/refman/.doctrees/proofs/writing-proofs/proof-mode.doctree
index 45667c9506..3a97c1b6a0 100644
Binary files a/master/refman/.doctrees/proofs/writing-proofs/proof-mode.doctree and b/master/refman/.doctrees/proofs/writing-proofs/proof-mode.doctree differ
diff --git a/master/refman/.doctrees/proofs/writing-proofs/reasoning-inductives.doctree b/master/refman/.doctrees/proofs/writing-proofs/reasoning-inductives.doctree
index 95b3aec06d..13b4c1b24d 100644
Binary files a/master/refman/.doctrees/proofs/writing-proofs/reasoning-inductives.doctree and b/master/refman/.doctrees/proofs/writing-proofs/reasoning-inductives.doctree differ
diff --git a/master/refman/.doctrees/user-extensions/syntax-extensions.doctree b/master/refman/.doctrees/user-extensions/syntax-extensions.doctree
index 1e738d2689..152eac5c23 100644
Binary files a/master/refman/.doctrees/user-extensions/syntax-extensions.doctree and b/master/refman/.doctrees/user-extensions/syntax-extensions.doctree differ
diff --git a/master/refman/.doctrees/using/libraries/funind.doctree b/master/refman/.doctrees/using/libraries/funind.doctree
index bbaadbc3a9..5e01c705a7 100644
Binary files a/master/refman/.doctrees/using/libraries/funind.doctree and b/master/refman/.doctrees/using/libraries/funind.doctree differ
diff --git a/master/refman/.doctrees/using/libraries/writing.doctree b/master/refman/.doctrees/using/libraries/writing.doctree
index 69a71efb99..851717e7c0 100644
Binary files a/master/refman/.doctrees/using/libraries/writing.doctree and b/master/refman/.doctrees/using/libraries/writing.doctree differ
diff --git a/master/refman/proof-engine/ltac.html b/master/refman/proof-engine/ltac.html
index 6c17cb50f1..d813dc9f01 100644
--- a/master/refman/proof-engine/ltac.html
+++ b/master/refman/proof-engine/ltac.html
@@ -4286,42 +4286,42 @@ Profiling LNo more goals.
Show Ltac Profile.
- total time: 0.897s
+total time: 1.351s
tactic local total calls max
───────────────────────────────────────────┴──────┴──────┴───────┴─────────┘
-─tac -------------------------------------- 0.1% 100.0% 1 0.897s
-─<Corelib.Init.Tauto.with_uniform_flags> -- 0.0% 92.3% 26 0.066s
-─<Corelib.Init.Tauto.tauto_gen> ----------- 0.0% 92.2% 26 0.066s
-─<Corelib.Init.Tauto.tauto_intuitionistic> 0.1% 92.2% 26 0.066s
-─t_tauto_intuit --------------------------- 0.1% 92.1% 26 0.066s
-─<Corelib.Init.Tauto.simplif> ------------- 58.9% 88.5% 26 0.065s
-─<Corelib.Init.Tauto.is_conj> ------------- 23.4% 23.4% 28756 0.004s
-─lia -------------------------------------- 0.1% 7.4% 28 0.048s
-─Zify.zify -------------------------------- 5.6% 6.1% 54 0.047s
-─<Corelib.Init.Tauto.axioms> -------------- 2.4% 3.5% 0 0.003s
-─elim id ---------------------------------- 3.0% 3.0% 650 0.000s
+─tac -------------------------------------- 0.1% 100.0% 1 1.351s
+─<Corelib.Init.Tauto.with_uniform_flags> -- 0.0% 92.7% 26 0.104s
+─<Corelib.Init.Tauto.tauto_gen> ----------- 0.0% 92.6% 26 0.104s
+─<Corelib.Init.Tauto.tauto_intuitionistic> 0.1% 92.6% 26 0.104s
+─t_tauto_intuit --------------------------- 0.1% 92.5% 26 0.103s
+─<Corelib.Init.Tauto.simplif> ------------- 61.3% 89.1% 26 0.102s
+─<Corelib.Init.Tauto.is_conj> ------------- 21.2% 21.2% 28756 0.009s
+─lia -------------------------------------- 0.1% 7.0% 28 0.069s
+─Zify.zify -------------------------------- 5.3% 5.8% 54 0.068s
+─elim id ---------------------------------- 3.4% 3.4% 650 0.000s
+─<Corelib.Init.Tauto.axioms> -------------- 2.3% 3.3% 0 0.003s
tactic local total calls max
─────────────────────────────────────────────┴──────┴──────┴───────┴─────────┘
-─tac ---------------------------------------- 0.1% 100.0% 1 0.897s
- ├─<Corelib.Init.Tauto.with_uniform_flags> -- 0.0% 92.3% 26 0.066s
- │└<Corelib.Init.Tauto.tauto_gen> ----------- 0.0% 92.2% 26 0.066s
- │└<Corelib.Init.Tauto.tauto_intuitionistic> 0.1% 92.2% 26 0.066s
- │└t_tauto_intuit --------------------------- 0.1% 92.1% 26 0.066s
- │ ├─<Corelib.Init.Tauto.simplif> ----------- 58.9% 88.5% 26 0.065s
- │ │ ├─<Corelib.Init.Tauto.is_conj> --------- 23.4% 23.4% 28756 0.004s
- │ │ └─elim id ------------------------------ 3.0% 3.0% 650 0.000s
- │ └─<Corelib.Init.Tauto.axioms> ------------ 2.4% 3.5% 0 0.003s
- └─lia -------------------------------------- 0.1% 7.4% 28 0.048s
- └Zify.zify -------------------------------- 5.6% 6.1% 54 0.047s
+─tac ---------------------------------------- 0.1% 100.0% 1 1.351s
+ ├─<Corelib.Init.Tauto.with_uniform_flags> -- 0.0% 92.7% 26 0.104s
+ │└<Corelib.Init.Tauto.tauto_gen> ----------- 0.0% 92.6% 26 0.104s
+ │└<Corelib.Init.Tauto.tauto_intuitionistic> 0.1% 92.6% 26 0.104s
+ │└t_tauto_intuit --------------------------- 0.1% 92.5% 26 0.103s
+ │ ├─<Corelib.Init.Tauto.simplif> ----------- 61.3% 89.1% 26 0.102s
+ │ │ ├─<Corelib.Init.Tauto.is_conj> --------- 21.2% 21.2% 28756 0.009s
+ │ │ └─elim id ------------------------------ 3.4% 3.4% 650 0.000s
+ │ └─<Corelib.Init.Tauto.axioms> ------------ 2.3% 3.3% 0 0.003s
+ └─lia -------------------------------------- 0.1% 7.0% 28 0.069s
+ └Zify.zify -------------------------------- 5.3% 5.8% 54 0.068s
Show Ltac Profile "lia".
- total time: 0.897s
+total time: 1.351s
tactic local total calls max
───────┴──────┴──────┴───────┴─────────┘
-─lia -- 0.1% 7.4% 28 0.048s
+─lia -- 0.1% 7.0% 28 0.069s
tactic local total calls max
───────┴──────┴──────┴───────┴─────────┘
diff --git a/master/refman/proofs/writing-proofs/equality.html b/master/refman/proofs/writing-proofs/equality.html
index 64036ea781..0bc6ccb823 100644
--- a/master/refman/proofs/writing-proofs/equality.html
+++ b/master/refman/proofs/writing-proofs/equality.html
@@ -2640,7 +2640,7 @@ Computing in a term: eval and EvalTime
assert (id (fact 8) = fact 8) by reflexivity.
-Finished transaction in 0.055 secs (0.045u,0.01s) (successful)
+Finished transaction in 0.133 secs (0.054u,0.079s) (successful)
1 goal
H : id (fact 8) = fact 8
@@ -2648,7 +2648,7 @@ Computing in a term: eval and EvalTime
assert (id (fact 9) = fact 9) by reflexivity.
-Finished transaction in 0.3 secs (0.293u,0.007s) (successful)
+Finished transaction in 0.614 secs (0.612u,0.002s) (successful)
1 goal
H : id (fact 8) = fact 8
@@ -2676,7 +2676,7 @@ Computing in a term: eval and EvalTime
assert (id (fact 100) = fact 100) by with_strategy -1 [id] reflexivity.
-Finished transaction in 0. secs (0.u,0.s) (successful)
+Finished transaction in 0.001 secs (0.001u,0.s) (successful)
1 goal
H : id (fact 100) = fact 100
@@ -2711,7 +2711,7 @@ Computing in a term: eval and EvalTime
assert (id (fact 100) = fact 100) by with_strategy -1 [id] abstract reflexivity.
-Finished transaction in 0.001 secs (0.001u,0.s) (successful)
+Finished transaction in 0.002 secs (0.002u,0.s) (successful)
1 goal
H : id (fact 100) = fact 100
@@ -2722,7 +2722,7 @@ Computing in a term: eval and EvalTime
Defined.
-Finished transaction in 0. secs (0.u,0.s) (successful)
+Finished transaction in 0.001 secs (0.001u,0.s) (successful)
diff --git a/master/refman/searchindex.js b/master/refman/searchindex.js
index 32dca5b719..d6ee67d15e 100644
--- a/master/refman/searchindex.js
+++ b/master/refman/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["addendum/canonical-structures", "addendum/extended-pattern-matching", "addendum/extraction", "addendum/generalized-rewriting", "addendum/implicit-coercions", "addendum/micromega", "addendum/miscellaneous-extensions", "addendum/nsatz", "addendum/parallel-proof-processing", "addendum/program", "addendum/rewrite-rules", "addendum/ring", "addendum/sprop", "addendum/type-classes", "addendum/universe-polymorphism", "appendix/history-and-changes/index", "appendix/indexes/index", "changes", "coq-attrindex", "coq-cmdindex", "coq-exnindex", "coq-optindex", "coq-tacindex", "genindex", "history", "index", "language/cic", "language/coq-library", "language/core/assumptions", "language/core/basic", "language/core/coinductive", "language/core/conversion", "language/core/definitions", "language/core/index", "language/core/inductive", "language/core/modules", "language/core/primitive", "language/core/records", "language/core/sections", "language/core/sorts", "language/core/variants", "language/extensions/arguments-command", "language/extensions/canonical", "language/extensions/evars", "language/extensions/implicit-arguments", "language/extensions/index", "language/extensions/match", "language/gallina-extensions", "language/gallina-specification-language", "language/module-system", "license", "practical-tools/coq-commands", "practical-tools/coqide", "practical-tools/utilities", "proof-engine/ltac", "proof-engine/ltac2", "proof-engine/proof-handling", "proof-engine/ssreflect-proof-language", "proof-engine/tactics", "proof-engine/vernacular-commands", "proofs/automatic-tactics/auto", "proofs/automatic-tactics/index", "proofs/automatic-tactics/logic", "proofs/creating-tactics/index", "proofs/writing-proofs/equality", "proofs/writing-proofs/index", "proofs/writing-proofs/proof-mode", "proofs/writing-proofs/reasoning-inductives", "proofs/writing-proofs/rewriting", "std-glossindex", "user-extensions/proof-schemes", "user-extensions/syntax-extensions", "using/libraries/funind", "using/libraries/index", "using/libraries/writing", "using/tools/coqdoc", "using/tools/index", "zebibliography"], "filenames": ["addendum/canonical-structures.rst", "addendum/extended-pattern-matching.rst", "addendum/extraction.rst", "addendum/generalized-rewriting.rst", "addendum/implicit-coercions.rst", "addendum/micromega.rst", "addendum/miscellaneous-extensions.rst", "addendum/nsatz.rst", "addendum/parallel-proof-processing.rst", "addendum/program.rst", "addendum/rewrite-rules.rst", "addendum/ring.rst", "addendum/sprop.rst", "addendum/type-classes.rst", "addendum/universe-polymorphism.rst", "appendix/history-and-changes/index.rst", "appendix/indexes/index.rst", "changes.rst", "coq-attrindex.rst", "coq-cmdindex.rst", "coq-exnindex.rst", "coq-optindex.rst", "coq-tacindex.rst", "genindex.rst", "history.rst", "index.rst", "language/cic.rst", "language/coq-library.rst", "language/core/assumptions.rst", "language/core/basic.rst", "language/core/coinductive.rst", "language/core/conversion.rst", "language/core/definitions.rst", "language/core/index.rst", "language/core/inductive.rst", "language/core/modules.rst", "language/core/primitive.rst", "language/core/records.rst", "language/core/sections.rst", "language/core/sorts.rst", "language/core/variants.rst", "language/extensions/arguments-command.rst", "language/extensions/canonical.rst", "language/extensions/evars.rst", "language/extensions/implicit-arguments.rst", "language/extensions/index.rst", "language/extensions/match.rst", "language/gallina-extensions.rst", "language/gallina-specification-language.rst", "language/module-system.rst", "license.rst", "practical-tools/coq-commands.rst", "practical-tools/coqide.rst", "practical-tools/utilities.rst", "proof-engine/ltac.rst", "proof-engine/ltac2.rst", "proof-engine/proof-handling.rst", "proof-engine/ssreflect-proof-language.rst", "proof-engine/tactics.rst", "proof-engine/vernacular-commands.rst", "proofs/automatic-tactics/auto.rst", "proofs/automatic-tactics/index.rst", "proofs/automatic-tactics/logic.rst", "proofs/creating-tactics/index.rst", "proofs/writing-proofs/equality.rst", "proofs/writing-proofs/index.rst", "proofs/writing-proofs/proof-mode.rst", "proofs/writing-proofs/reasoning-inductives.rst", "proofs/writing-proofs/rewriting.rst", "std-glossindex.rst", "user-extensions/proof-schemes.rst", "user-extensions/syntax-extensions.rst", "using/libraries/funind.rst", "using/libraries/index.rst", "using/libraries/writing.rst", "using/tools/coqdoc.rst", "using/tools/index.rst", "zebibliography.rst"], "titles": ["<no title>", "<no title>", "Program extraction", "Generalized rewriting", "Implicit Coercions", "Micromega: solvers for arithmetic goals over ordered rings", "Program derivation", "Nsatz: a solver for equalities in integral domains", "Asynchronous and Parallel Proof Processing", "Program", "User-defined rewrite rules", "ring and field: solvers for polynomial and rational equations", "SProp (proof irrelevant propositions)", "Typeclasses", "Polymorphic Universes", "History and recent changes", "Indexes", "Recent changes", "Attribute index", "Command index", "Errors and warnings index", "Flags, options and tables index", "Tactic index", "General index", "Early history of Coq", "Introduction and Contents", "Typing rules", "The Coq libraries", "Functions and assumptions", "Basic notions and conventions", "Coinductive types and corecursive functions", "Conversion rules", "Definitions", "Core language", "Inductive types and recursive functions", "The Module System", "Primitive objects", "Record types", "Sections", "Sorts", "Variants and the match
construct", "Setting properties of a function's arguments", "Canonical Structures", "Existential variables", "Implicit arguments", "Language extensions", "Extended pattern matching", "<no title>", "<no title>", "<no title>", "<no title>", "The Rocq Prover commands", "CoqIDE", "Building Rocq Projects", "Ltac", "Ltac2", "<no title>", "The SSReflect proof language", "Tactics", "Commands", "Programmable proof search", "Automatic solvers and programmable tactics", "Solvers for logic and equality", "Creating new tactics", "Reasoning with equalities", "Basic proof writing", "Proof mode", "Reasoning with inductive types", "<no title>", "Glossary index", "<no title>", "Syntax extensions and notation scopes", "Functional induction", "Libraries and plugins", "Writing Rocq libraries and plugins", "Documenting Rocq files with rocq doc", "Command-line and graphical tools", "Bibliography"], "terms": {"newcommand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "kw": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "case": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "con": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "textsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "consf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "emptyf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "kwend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "eveno": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "o": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "fix": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "forest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "functor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ind": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "left": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathrm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "right": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "indp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "indpstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "5": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "inject": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "length": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "letin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "let": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "list": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77], "lra": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "longrightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "match": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "zeroon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "modimp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "moda": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "modtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mto": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nilhl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "_hl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nO": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "node": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "odd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ovl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "overlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "pair": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "plu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "sprop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "prop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "set": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "sort": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathcal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "str": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "stream": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "struct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "subst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "tl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "tree": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "trii": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "triangleright_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "iota": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "type": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 31, 33, 36, 39, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 56, 58, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 75, 76, 77], "wev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mbox": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "vdash": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wevt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "w": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wfe": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wft": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wftwolin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "begin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "l": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wse": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wte": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wteg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "gamma": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wtm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "cic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "\u03b2\u03b4\u03b9\u03b6": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "latex": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77], "tac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "program": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ssreflect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "m": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "author": [2, 3, 4, 5, 7, 8, 9, 11, 14, 17, 27, 29, 42, 46, 57, 73, 74], "jean": [2, 17, 24, 77], "christoph": [2, 17, 24, 77], "filli\u00e2tr": [2, 17, 24, 77], "pierr": [2, 17, 24, 77], "letouzei": [2, 17, 24, 77], "we": [2, 3, 4, 5, 9, 11, 12, 13, 14, 16, 17, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "present": [2, 3, 6, 9, 11, 13, 15, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 41, 42, 44, 45, 46, 50, 53, 54, 55, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 71, 73, 74, 75, 76], "here": [2, 3, 4, 5, 9, 11, 13, 14, 16, 17, 24, 29, 31, 33, 34, 35, 37, 38, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "command": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 25, 26, 27, 28, 29, 30, 32, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 53, 54, 55, 58, 60, 62, 63, 64, 72, 73, 74], "us": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 39, 40, 41, 42, 45, 55, 57, 59, 60, 61, 62, 63, 65, 72, 73, 74, 75, 77], "build": [2, 5, 9, 11, 14, 17, 24, 25, 26, 27, 32, 33, 34, 37, 42, 46, 51, 54, 55, 57, 59, 60, 63, 65, 66, 67, 72, 75, 76, 77], "certifi": [2, 9, 17, 24, 77], "rel": [2, 14, 17, 26, 35, 51, 53, 55, 59, 71], "effici": [2, 11, 12, 13, 17, 25, 29, 36, 57, 60, 64, 77], "function": [2, 3, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 31, 33, 35, 36, 37, 39, 42, 45, 46, 51, 52, 55, 57, 58, 59, 62, 64, 67, 71, 73, 77], "them": [2, 3, 8, 9, 10, 11, 13, 14, 17, 24, 26, 27, 28, 31, 34, 35, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "from": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 40, 41, 42, 43, 46, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 75, 77], "either": [2, 5, 8, 11, 14, 17, 26, 28, 29, 31, 34, 35, 36, 37, 39, 40, 41, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "proof": [2, 3, 6, 7, 9, 11, 13, 17, 24, 26, 29, 30, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 51, 52, 53, 55, 59, 61, 62, 64, 67, 72, 73, 74, 75, 76, 77], "specif": [2, 3, 5, 9, 11, 24, 28, 31, 32, 34, 35, 36, 39, 40, 42, 51, 52, 53, 55, 57, 58, 59, 60, 61, 64, 66, 67, 71, 77], "The": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 46, 52, 54, 55, 58, 59, 60, 62, 63, 64, 65, 66, 67, 72, 73, 74, 76, 77], "avail": [2, 9, 11, 12, 13, 17, 24, 25, 27, 30, 35, 36, 37, 38, 40, 42, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 71, 72, 74, 75, 76, 77], "output": [2, 3, 4, 11, 14, 17, 24, 33, 42, 51, 52, 53, 54, 59, 60, 64, 66, 71, 75], "ar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 67, 71, 72, 73, 74, 75], "current": [2, 3, 4, 5, 8, 9, 10, 12, 14, 17, 24, 28, 29, 32, 34, 35, 36, 37, 38, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "ocaml": [2, 11, 17, 24, 25, 29, 32, 36, 51, 53, 54, 55, 63, 64, 66, 71, 73, 75], "haskel": [2, 13, 17, 24, 25, 57, 64, 77], "scheme": [2, 11, 17, 24, 25, 26, 27, 34, 37, 40, 46, 51, 57, 59, 62, 77], "follow": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "abus": [2, 55], "refer": [2, 3, 4, 5, 8, 10, 13, 14, 16, 24, 25, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 50, 51, 52, 53, 55, 57, 58, 60, 62, 64, 66, 67, 71, 72, 74, 75], "ani": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "three": [2, 4, 9, 11, 17, 24, 25, 34, 40, 52, 53, 54, 57, 59, 60, 67, 71], "chang": [2, 4, 5, 8, 9, 11, 13, 14, 25, 26, 28, 29, 31, 34, 36, 37, 38, 41, 43, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 73, 74, 75], "version": [2, 3, 4, 7, 9, 13, 14, 15, 25, 29, 32, 35, 36, 37, 41, 46, 50, 51, 52, 57, 58, 59, 60, 62, 66, 73, 74, 75, 77], "8": [2, 3, 4, 13, 24, 25, 30, 35, 41, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 71, 75], "11": [2, 24, 25, 34, 53, 57, 60], "befor": [2, 4, 5, 13, 14, 17, 28, 29, 32, 34, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 73, 74, 75], "describ": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 17, 24, 29, 31, 32, 34, 35, 37, 39, 40, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 65, 66, 67, 71, 72, 75], "thi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76], "chapter": [2, 3, 5, 7, 8, 9, 11, 13, 15, 17, 24, 26, 27, 29, 31, 32, 33, 34, 38, 40, 42, 45, 52, 54, 55, 57, 58, 59, 61, 63, 65, 71, 72, 73, 75, 76], "framework": [2, 17, 24], "should": [2, 3, 9, 10, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 32, 34, 35, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "first": [2, 4, 5, 6, 8, 9, 11, 13, 14, 15, 17, 24, 25, 26, 27, 35, 37, 38, 40, 41, 42, 43, 44, 51, 52, 53, 55, 58, 59, 60, 62, 64, 65, 66, 67, 71, 72, 74, 75, 77], "load": [2, 3, 5, 6, 7, 11, 17, 24, 25, 27, 29, 34, 35, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72, 73], "explicitli": [2, 4, 12, 13, 14, 17, 24, 27, 28, 29, 34, 38, 39, 43, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "via": [2, 5, 8, 11, 17, 35, 51, 53, 54, 55, 57, 59, 71, 72], "corelib": [2, 6, 9, 35, 36, 51, 54, 57, 59, 64, 66], "requir": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 24, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75], "file": [2, 3, 5, 6, 7, 8, 9, 11, 17, 24, 25, 27, 29, 34, 35, 41, 54, 55, 57, 60, 64, 71, 72, 73, 76], "runtim": [2, 3, 5, 6, 11, 17, 29, 34, 51, 53, 54, 55, 57, 59, 60, 72, 73], "plugin": [2, 3, 5, 6, 11, 12, 17, 24, 25, 29, 33, 34, 35, 53, 54, 55, 57, 59, 60, 63, 66, 71, 72], "done": [2, 3, 5, 6, 7, 9, 10, 11, 13, 17, 24, 29, 30, 32, 34, 35, 38, 40, 43, 46, 52, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 72, 75], "qualifi": [2, 17, 24, 25, 28, 32, 38, 51, 53, 54, 55, 57, 58, 59, 64, 66, 71], "identifi": [2, 3, 9, 14, 17, 24, 25, 28, 29, 30, 31, 35, 38, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 60, 66, 67, 72, 75], "qualid": [2, 3, 4, 5, 10, 11, 13, 14, 17, 29, 35, 37, 39, 40, 41, 42, 46, 51, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 74], "can": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75], "kind": [2, 8, 10, 11, 17, 25, 27, 29, 34, 42, 46, 53, 55, 57, 59, 67, 72], "global": [2, 3, 4, 5, 8, 9, 13, 17, 24, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 39, 41, 42, 44, 51, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 75], "object": [2, 3, 4, 8, 9, 11, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 33, 35, 37, 38, 39, 40, 41, 42, 44, 51, 53, 55, 57, 59, 64, 67, 71, 72], "constant": [2, 4, 5, 6, 9, 10, 11, 13, 14, 17, 24, 25, 26, 30, 31, 32, 34, 35, 36, 38, 41, 42, 44, 46, 51, 54, 55, 57, 58, 60, 64, 66, 67, 74], "constructor": [2, 4, 9, 10, 12, 13, 14, 17, 24, 25, 26, 27, 30, 31, 32, 35, 36, 37, 40, 41, 42, 43, 44, 46, 54, 55, 57, 58, 59, 60, 62, 64, 66, 71, 74], "modul": [2, 3, 5, 6, 7, 9, 10, 11, 13, 17, 24, 25, 27, 28, 29, 32, 33, 36, 37, 38, 40, 41, 42, 44, 51, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "name": [2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 25, 26, 27, 28, 29, 31, 32, 34, 36, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 67, 71, 72, 74, 75], "recurs": [2, 5, 9, 17, 24, 25, 31, 32, 33, 37, 40, 41, 44, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 75, 77], "string": [2, 11, 13, 14, 17, 25, 29, 40, 51, 53, 54, 55, 57, 59, 64, 66, 74, 75], "two": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 15, 17, 24, 25, 26, 27, 29, 30, 31, 34, 36, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74, 75], "form": [2, 3, 4, 5, 6, 7, 9, 11, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 37, 38, 39, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "displai": [2, 9, 12, 14, 16, 17, 25, 35, 37, 41, 42, 46, 51, 53, 54, 55, 57, 58, 60, 64, 66], "term": [2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 53, 57, 58, 59, 60, 62, 63, 66, 67, 72, 75], "conveni": [2, 4, 6, 12, 17, 24, 28, 29, 33, 34, 35, 44, 46, 52, 53, 54, 57, 66, 67, 71], "preview": [2, 52], "result": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 24, 26, 27, 31, 32, 34, 39, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "second": [2, 3, 4, 8, 9, 10, 11, 13, 15, 17, 24, 25, 26, 28, 35, 37, 38, 40, 42, 44, 51, 52, 53, 55, 57, 59, 60, 64, 66, 67, 71, 75], "all": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73], "depend": [2, 3, 7, 8, 9, 12, 13, 14, 24, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 40, 42, 43, 44, 51, 52, 54, 55, 57, 60, 62, 64, 66, 71, 72, 77], "third": [2, 3, 17, 25, 40, 41, 44, 51, 52, 53, 54, 57, 58, 75], "produc": [2, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 29, 32, 34, 36, 38, 40, 41, 44, 52, 53, 54, 55, 57, 64, 66, 71, 72, 73, 74, 75], "singl": [2, 3, 4, 13, 14, 17, 24, 25, 28, 29, 30, 34, 35, 37, 40, 44, 46, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "specifi": [2, 3, 4, 5, 6, 8, 9, 11, 13, 17, 24, 25, 28, 29, 32, 34, 35, 36, 37, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "local": [2, 3, 4, 5, 9, 13, 17, 24, 25, 26, 28, 30, 31, 32, 34, 41, 42, 52, 55, 59, 62, 64, 66, 67, 75], "renam": [2, 17, 24, 25, 34, 37, 55, 57, 58, 59, 71, 74], "need": [2, 3, 5, 8, 9, 10, 11, 13, 14, 17, 24, 25, 28, 29, 31, 32, 34, 35, 38, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75, 76], "fulfil": [2, 17, 67], "syntact": [2, 3, 11, 17, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 39, 41, 57, 58, 59, 64, 66, 71, 74], "keep": [2, 3, 12, 14, 17, 24, 33, 34, 36, 42, 46, 52, 53, 55, 57, 64, 67], "origin": [2, 3, 4, 9, 11, 17, 24, 29, 31, 34, 38, 43, 44, 46, 53, 57, 58, 62, 64, 66, 67, 71], "much": [2, 11, 13, 17, 25, 33, 51, 53, 57, 59, 63, 64, 71], "possibl": [2, 3, 4, 5, 8, 9, 11, 13, 14, 17, 24, 27, 28, 31, 34, 35, 37, 41, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "also": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75, 77], "work": [2, 3, 4, 5, 9, 10, 12, 13, 17, 24, 25, 26, 27, 32, 35, 41, 42, 43, 46, 51, 52, 54, 55, 57, 58, 59, 64, 67, 71, 74, 77], "directori": [2, 14, 17, 24, 27, 35, 51, 52, 53, 59, 60, 71, 75], "It": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "inspect": [2, 17, 57, 59], "what": [2, 3, 5, 10, 13, 16, 17, 24, 25, 27, 29, 33, 34, 35, 41, 42, 46, 51, 53, 54, 55, 57, 59, 60, 64, 66, 67, 71], "pwd": [2, 14, 59], "cd": [2, 17, 53], "librari": [2, 5, 7, 8, 11, 25, 29, 35, 40, 41, 52, 54, 55, 57, 58, 64, 66, 67, 72, 75], "ident": [2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 40, 43, 44, 46, 51, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74], "whole": [2, 3, 9, 11, 17, 29, 40, 46, 51, 52, 53, 55, 57, 59, 71, 75], "v": [2, 3, 7, 8, 11, 12, 13, 14, 17, 24, 25, 26, 27, 34, 35, 37, 42, 44, 46, 51, 52, 53, 54, 58, 59, 67, 71, 75], "an": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 58, 60, 62, 63, 64, 66, 71, 72, 74, 75, 77], "clash": [2, 17, 53, 54, 57], "prefix": [2, 3, 9, 11, 14, 17, 24, 27, 28, 34, 35, 38, 40, 41, 42, 44, 51, 52, 54, 57, 58, 59, 64, 66, 67, 71, 75], "coq_": 2, "ensur": [2, 10, 13, 14, 17, 24, 30, 34, 39, 52, 55, 59, 64, 71, 72], "session": [2, 14, 17, 51, 52, 59], "independ": [2, 13, 14, 17, 24, 34, 51, 52, 53, 54, 55, 57, 67], "other": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 67, 71, 72, 76], "separ": [2, 3, 10, 14, 17, 24, 25, 26, 29, 33, 34, 35, 40, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 67, 71, 74], "mention": [2, 3, 14, 17, 24, 26, 34, 39, 44, 46, 51, 54, 57, 58, 60, 64, 66, 71], "just": [2, 3, 4, 8, 9, 11, 13, 17, 24, 28, 31, 34, 35, 37, 41, 42, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "instead": [2, 3, 4, 7, 8, 11, 12, 13, 14, 17, 24, 26, 28, 33, 34, 35, 36, 37, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "one": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 17, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 74, 75, 77], "monolith": [2, 17], "split": [2, 17, 25, 29, 34, 42, 51, 54, 57, 58, 60, 66, 67, 75], "per": [2, 3, 11, 17, 24, 52, 53, 57, 59, 71], "correspond": [2, 3, 8, 9, 11, 13, 14, 15, 17, 24, 26, 28, 33, 34, 35, 37, 38, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "henc": [2, 3, 4, 5, 8, 9, 13, 14, 17, 26, 34, 37, 42, 51, 53, 54, 57, 58, 64, 67, 71], "quit": [2, 3, 11, 13, 17, 25, 34, 42, 54, 55, 57, 60], "similar": [2, 3, 5, 9, 13, 17, 24, 26, 34, 35, 37, 38, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 72, 74, 75], "except": [2, 3, 4, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 31, 34, 35, 36, 38, 40, 43, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 75], "onli": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "part": [2, 3, 10, 11, 13, 15, 17, 24, 25, 27, 29, 34, 35, 37, 46, 51, 52, 53, 54, 55, 57, 58, 66, 67, 71, 72, 73, 74], "convent": [2, 17, 25, 33, 42, 51, 57, 59, 71], "same": [2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 51, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "meant": [2, 3, 14, 17, 55, 59, 64], "help": [2, 3, 8, 13, 14, 15, 16, 17, 24, 25, 27, 29, 41, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 67, 75], "automat": [2, 3, 5, 7, 9, 10, 13, 14, 17, 24, 25, 27, 28, 35, 37, 40, 42, 46, 52, 53, 54, 55, 57, 58, 60, 64, 65, 66, 71, 72, 75, 77], "test": [2, 3, 4, 9, 10, 11, 13, 17, 24, 25, 29, 30, 34, 42, 46, 55, 57, 59, 66], "see": [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 17, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "instanc": [2, 4, 5, 10, 11, 12, 14, 17, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "suit": [2, 17, 53, 57, 58, 63], "sourc": [2, 4, 5, 14, 24, 25, 51, 52, 53, 55, 57, 71, 73], "testcompil": [2, 17], "temporari": [2, 14, 17, 24, 57], "Then": [2, 4, 5, 11, 14, 24, 26, 27, 29, 32, 34, 41, 42, 46, 51, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 74, 75], "its": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75, 77], "signatur": [2, 3, 11, 17, 24, 34, 35, 54, 55, 59], "compil": [2, 3, 8, 9, 10, 11, 12, 24, 25, 26, 27, 29, 32, 35, 36, 38, 46, 54, 55, 57, 64, 66, 73, 74, 75, 77], "built": [2, 4, 11, 17, 24, 25, 26, 31, 32, 34, 37, 41, 42, 52, 53, 54, 58, 60, 61, 62, 67, 71, 72], "succe": [2, 3, 13, 17, 25, 44, 46, 51, 55, 57, 58, 59, 60, 62, 64, 66], "fail": [2, 3, 4, 5, 8, 9, 10, 12, 13, 14, 17, 24, 25, 26, 29, 30, 34, 35, 40, 41, 42, 43, 44, 52, 53, 55, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "show": [2, 3, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 27, 34, 35, 37, 38, 42, 51, 52, 53, 54, 57, 58, 59, 60, 64, 67, 71], "where": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 27, 29, 30, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "deprec": [2, 4, 13, 17, 25, 28, 29, 32, 35, 41, 51, 55, 58, 59, 60, 64, 66, 71, 72], "sinc": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 24, 26, 28, 30, 34, 35, 37, 41, 42, 44, 46, 51, 52, 53, 54, 57, 58, 59, 60, 66, 67, 71, 74, 75], "20": [2, 3, 25, 46, 57, 67, 77], "line": [2, 8, 10, 12, 14, 24, 25, 26, 29, 42, 52, 53, 54, 55, 57, 58, 59, 64, 66, 71], "If": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 17, 26, 28, 29, 30, 32, 34, 35, 37, 38, 39, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "accord": [2, 11, 17, 26, 34, 35, 41, 51, 53, 55, 57, 59, 60, 64, 71], "which": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 73, 75], "valid": [2, 3, 4, 5, 8, 10, 11, 14, 17, 25, 26, 29, 32, 34, 35, 40, 42, 51, 54, 55, 57, 58, 59, 66, 71, 72], "path": [2, 4, 5, 17, 24, 25, 35, 51, 52, 54, 60], "otherwis": [2, 3, 9, 13, 14, 17, 28, 29, 34, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73], "doe": [2, 3, 4, 5, 8, 9, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 35, 36, 38, 39, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "json": [2, 17, 51, 53, 59], "abil": [2, 3, 11, 12, 13, 17, 30, 52], "most": [2, 3, 4, 10, 12, 17, 24, 27, 29, 34, 38, 41, 45, 46, 51, 52, 53, 54, 55, 57, 58, 60, 63, 64, 66, 67, 71, 72, 73], "import": [2, 3, 4, 5, 7, 9, 11, 13, 17, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 38, 40, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "default": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 38, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74, 75], "mostli": [2, 3, 17, 24, 52, 57, 60], "develop": [2, 3, 12, 13, 14, 17, 24, 25, 27, 32, 35, 42, 44, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 74, 77], "debug": [2, 5, 9, 13, 14, 17, 24, 25, 28, 52, 53, 57, 58, 60, 62, 64, 66, 72], "contain": [2, 5, 7, 8, 10, 13, 14, 15, 17, 24, 27, 29, 30, 31, 34, 35, 38, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "raw": [2, 14, 17, 54, 55, 71], "intermediari": [2, 64], "strict": [2, 5, 13, 14, 17, 24, 25, 31, 39, 41, 42, 54, 57, 58, 59, 60, 66, 71], "ha": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74], "order": [2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 24, 25, 26, 27, 29, 30, 32, 34, 35, 37, 40, 42, 43, 46, 51, 52, 53, 54, 55, 57, 60, 61, 62, 64, 66, 67, 71, 72, 75, 77], "when": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 25, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 51, 52, 53, 54, 55, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "principl": [2, 5, 17, 24, 25, 27, 30, 34, 37, 51, 57, 58, 63, 64, 71, 77], "do": [2, 3, 4, 7, 8, 10, 13, 14, 17, 24, 25, 29, 31, 32, 34, 35, 37, 38, 42, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 75], "want": [2, 11, 13, 17, 34, 35, 36, 41, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 74], "comput": [2, 3, 7, 8, 9, 11, 17, 24, 25, 29, 30, 32, 34, 35, 36, 37, 41, 42, 46, 52, 55, 57, 59, 67, 71, 72, 77], "call": [2, 3, 4, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 42, 44, 45, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 72], "ones": [2, 3, 4, 6, 8, 13, 14, 17, 25, 28, 34, 35, 37, 44, 46, 52, 53, 54, 57, 58, 59, 63, 66, 67, 71, 75], "so": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 29, 31, 32, 34, 35, 36, 37, 38, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 74, 75], "mechan": [2, 3, 4, 9, 10, 13, 17, 24, 25, 29, 34, 38, 41, 46, 51, 52, 53, 55, 59, 64, 65, 66, 71, 72, 77], "provid": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75], "routin": 2, "each": [2, 3, 5, 6, 8, 9, 10, 11, 13, 14, 17, 24, 26, 29, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74, 75], "time": [2, 3, 5, 8, 9, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 36, 37, 41, 42, 44, 46, 52, 55, 57, 58, 59, 64, 66, 67, 71], "group": [2, 4, 17, 24, 37, 42, 52, 53, 54, 57, 58, 60], "preserv": [2, 5, 14, 17, 24, 25, 29, 30, 34, 42, 55, 57, 64, 67, 71], "essenti": [2, 17, 25, 34, 55, 57, 67, 71], "reduct": [2, 3, 9, 10, 11, 12, 17, 25, 26, 30, 32, 36, 41, 44, 46, 51, 53, 57, 58, 67, 77], "non": [2, 3, 4, 6, 8, 9, 10, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 35, 37, 40, 41, 46, 51, 52, 53, 57, 59, 60, 62, 64, 66, 72, 75], "abstract": [2, 4, 5, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 34, 35, 38, 42, 44, 54, 55, 58, 59, 64, 67, 71], "dummi": [2, 14, 17, 24, 55, 77], "remov": [2, 3, 4, 5, 11, 14, 17, 24, 29, 31, 37, 41, 46, 51, 52, 53, 55, 57, 58, 59, 60, 66, 67, 71, 72, 74, 75], "deem": [2, 51], "safe": [2, 11, 17, 34], "have": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75], "more": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75], "eleg": [2, 55, 59], "therefor": [2, 17, 29, 31, 37, 52, 53, 57, 58, 62, 72, 73], "mai": [2, 3, 4, 5, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75, 77], "appear": [2, 6, 9, 10, 11, 13, 14, 17, 24, 28, 29, 31, 34, 35, 37, 38, 39, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "modular": [2, 17, 24], "nevertheless": [2, 17], "print": [2, 5, 6, 8, 11, 12, 13, 17, 24, 25, 27, 29, 31, 34, 35, 36, 38, 39, 41, 42, 51, 52, 53, 57, 58, 60, 62, 64, 66, 67, 74], "concern": [2, 12, 17, 24, 26], "less": [2, 4, 8, 11, 14, 17, 24, 34, 46, 51, 53, 54, 55, 57, 59, 60, 64, 71, 77], "becaus": [2, 3, 4, 8, 11, 12, 14, 17, 24, 26, 28, 29, 31, 33, 34, 35, 37, 39, 40, 41, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "lazi": [2, 8, 9, 12, 17, 24, 55, 64], "still": [2, 3, 7, 9, 10, 13, 17, 24, 29, 32, 34, 36, 37, 38, 42, 44, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 74], "make": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75, 77], "readabl": [2, 17, 24, 29, 53, 57, 64, 71, 75], "control": [2, 3, 13, 14, 16, 17, 24, 25, 34, 37, 41, 51, 52, 53, 55, 60, 62, 67, 71, 75], "flag": [2, 4, 5, 8, 9, 10, 12, 13, 14, 16, 24, 25, 26, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 66, 67, 71], "made": [2, 3, 14, 17, 24, 29, 34, 35, 38, 41, 46, 51, 53, 54, 55, 57, 58, 64, 66, 71, 72, 75], "beta": [2, 11, 17, 24, 55, 57, 58, 64, 71, 77], "redex": [2, 17, 25, 31, 34, 64, 71], "simplif": [2, 11, 17, 24, 25, 41, 54, 67], "etc": [2, 4, 9, 14, 17, 24, 25, 26, 27, 33, 35, 42, 44, 45, 51, 52, 53, 54, 55, 57, 59, 71, 75], "turn": [2, 8, 10, 12, 13, 14, 17, 24, 27, 29, 32, 37, 41, 42, 44, 46, 51, 52, 54, 55, 57, 58, 59, 64, 66, 67, 71], "off": [2, 8, 10, 12, 13, 14, 17, 24, 29, 34, 35, 37, 43, 44, 46, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71], "you": [2, 3, 4, 7, 8, 10, 11, 13, 14, 15, 16, 17, 24, 25, 27, 29, 32, 34, 35, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "close": [2, 3, 4, 5, 7, 9, 11, 14, 17, 24, 28, 29, 32, 34, 35, 38, 44, 51, 52, 55, 57, 59, 60, 64, 66, 67, 71, 75], "conserv": [2, 17], "try": [2, 3, 11, 14, 17, 24, 25, 34, 35, 40, 41, 43, 46, 53, 55, 57, 60, 62, 64, 66, 67, 71], "sure": [2, 4, 17, 35, 52, 53, 58, 71], "impli": [2, 3, 10, 14, 17, 24, 30, 34, 57, 67, 71], "respect": [2, 3, 4, 5, 11, 13, 14, 17, 24, 26, 30, 34, 38, 40, 42, 44, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74, 75], "keepsingleton": [2, 17], "normal": [2, 3, 4, 5, 11, 17, 24, 26, 29, 30, 31, 34, 35, 41, 44, 51, 52, 53, 54, 55, 57, 59, 64, 66, 67, 71, 72, 77], "singleton": [2, 13, 17, 24, 34, 54, 58], "structur": [2, 3, 4, 8, 9, 13, 17, 24, 25, 32, 34, 35, 36, 37, 38, 40, 44, 45, 53, 54, 58, 59, 66, 67, 71, 72, 77], "seen": [2, 4, 13, 14, 17, 24, 32, 34, 55, 57, 67, 71], "alia": [2, 17, 24, 29, 35, 46, 55, 58], "inner": [2, 14, 17, 35, 42, 43, 54, 55, 57, 59, 62, 64, 66, 67, 71, 75], "typic": [2, 4, 6, 12, 14, 17, 24, 28, 29, 30, 34, 35, 44, 46, 51, 53, 55, 57, 58, 59, 60, 64, 67, 71], "sig": [2, 17, 27, 28, 35, 67, 71], "allow": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72], "disabl": [2, 8, 9, 12, 13, 14, 17, 25, 28, 32, 34, 35, 37, 44, 51, 52, 54, 57, 59, 64, 66], "wish": [2, 5, 17, 53], "autoinlin": [2, 17], "enabl": [2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 17, 25, 29, 34, 37, 42, 51, 52, 53, 54, 57, 58, 59, 60, 67, 75], "bodi": [2, 4, 6, 13, 14, 17, 24, 32, 35, 37, 38, 41, 42, 44, 51, 55, 57, 58, 59, 64, 72, 75], "defin": [2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 57, 58, 59, 62, 64, 66, 67, 71, 72, 74, 77], "heurist": [2, 5, 14, 17, 55, 57, 58, 66], "like": [2, 4, 8, 9, 10, 11, 13, 14, 17, 24, 26, 27, 29, 32, 34, 35, 38, 39, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "size": [2, 3, 9, 13, 17, 24, 34, 37, 51, 52, 55, 57, 59, 64, 71, 72], "recursor": [2, 17], "_rect": [2, 17, 34, 35, 40, 71, 72], "_rec": [2, 34, 35, 40, 71, 72], "nat_rect": [2, 27, 34, 59], "project": [2, 3, 9, 10, 12, 13, 14, 15, 17, 24, 25, 27, 29, 30, 34, 40, 41, 42, 51, 52, 54, 55, 57, 59, 60, 64, 72, 73, 74, 76], "few": [2, 3, 17, 24, 27, 29, 34, 35, 36, 37, 51, 52, 53, 55, 57, 58, 71, 73, 75], "andb": [2, 13, 17, 27, 62], "orb": [2, 27, 57, 62], "behaviour": [2, 17, 38, 53], "well": [2, 3, 4, 8, 9, 10, 11, 13, 14, 17, 24, 25, 26, 29, 30, 31, 32, 33, 35, 37, 39, 43, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 63, 64, 66, 67, 71, 72, 74, 75], "found": [2, 4, 5, 9, 11, 13, 17, 25, 29, 30, 34, 35, 36, 38, 39, 42, 46, 51, 54, 55, 57, 58, 59, 62, 64, 67, 71, 72, 75], "combin": [2, 3, 5, 9, 12, 14, 17, 24, 25, 26, 27, 29, 34, 37, 40, 42, 46, 52, 53, 54, 55, 57, 59, 63, 64, 75], "featur": [2, 3, 8, 11, 17, 24, 25, 29, 32, 33, 35, 36, 44, 46, 51, 52, 53, 54, 55, 57, 59, 66, 71, 72, 73, 74, 76], "alwai": [2, 3, 4, 6, 9, 10, 11, 12, 13, 14, 17, 24, 26, 34, 35, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 60, 66, 67, 71, 74, 75], "dure": [2, 9, 11, 13, 14, 17, 24, 25, 37, 42, 46, 51, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72], "noinlin": 2, "convers": [2, 3, 7, 8, 9, 11, 12, 13, 17, 24, 25, 26, 30, 32, 33, 34, 35, 37, 54, 55, 57, 58, 60, 66, 71, 75], "never": [2, 13, 14, 17, 24, 35, 41, 42, 44, 51, 54, 55, 57, 58, 60, 64], "state": [2, 3, 5, 7, 8, 11, 13, 17, 24, 25, 27, 29, 31, 32, 37, 51, 52, 54, 55, 57, 58, 59, 62, 64, 67, 71], "tabl": [2, 3, 4, 16, 17, 24, 25, 27, 35, 37, 38, 46, 51, 53, 54, 55, 57, 59, 67, 71, 75], "record": [2, 3, 8, 10, 11, 12, 13, 14, 17, 24, 25, 30, 33, 34, 42, 54, 55, 57, 59, 60, 62, 67, 71], "custom": [2, 3, 11, 13, 17, 24, 25, 29, 36, 53, 54, 57], "declar": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 43, 46, 51, 53, 54, 58, 59, 60, 64, 71, 72, 75], "previou": [2, 3, 4, 8, 9, 11, 13, 15, 17, 24, 27, 29, 31, 34, 37, 40, 41, 42, 45, 46, 51, 52, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 74], "reset": [2, 17, 24, 29, 30, 34, 40, 41, 46, 51, 52, 54, 59, 72], "empti": [2, 3, 5, 7, 12, 13, 17, 24, 26, 34, 40, 43, 51, 53, 55, 57, 58, 59, 60, 67, 71, 72], "ask": [2, 3, 17, 25, 42, 43, 53], "mean": [2, 3, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 57, 58, 59, 64, 65, 66, 71], "both": [2, 3, 4, 11, 14, 17, 24, 25, 26, 27, 28, 29, 31, 34, 37, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 57, 58, 60, 61, 64, 66, 67, 73, 74], "But": [2, 11, 17, 34, 39, 41, 46, 51, 53, 54, 64, 75], "For": [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 24, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "reason": [2, 3, 5, 9, 10, 11, 17, 24, 25, 34, 44, 51, 53, 54, 55, 57, 59, 62, 65, 71, 72, 75, 77], "decis": [2, 17, 24, 25, 58, 62, 64, 77], "taken": [2, 9, 13, 17, 24, 34, 36, 42, 44, 53, 57, 64, 67, 71], "whether": [2, 3, 9, 10, 12, 13, 14, 17, 29, 34, 35, 41, 44, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 71, 75], "occurr": [2, 3, 11, 14, 17, 24, 25, 26, 43, 44, 46, 52, 54, 55, 59, 60, 64, 71], "replac": [2, 3, 4, 7, 9, 10, 11, 17, 24, 25, 28, 31, 32, 34, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71, 74, 75], "manual": [2, 11, 24, 25, 29, 50, 52, 53, 57, 60, 66, 67, 71], "perform": [2, 3, 5, 7, 8, 11, 13, 17, 24, 25, 26, 34, 41, 42, 46, 51, 54, 55, 57, 60, 62, 64, 66, 67, 71, 72], "wai": [2, 3, 5, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 31, 32, 34, 35, 37, 42, 43, 44, 46, 51, 52, 53, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 75], "complementari": [2, 17, 24, 42, 57], "main": [2, 8, 9, 11, 13, 17, 25, 27, 29, 34, 40, 41, 51, 52, 53, 54, 55, 57, 60, 64, 71], "logic": [2, 3, 9, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 34, 35, 39, 51, 57, 58, 59, 61, 66, 67, 75, 77], "implicit": [2, 3, 5, 9, 13, 17, 24, 25, 28, 33, 34, 37, 38, 42, 43, 45, 51, 53, 55, 57, 58, 59, 66, 67, 75], "integ": [2, 3, 7, 11, 14, 17, 24, 25, 29, 34, 39, 52, 53, 54, 55, 57, 59, 60, 64, 66], "thei": [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 73, 74, 75], "omit": [2, 3, 8, 14, 17, 27, 28, 29, 30, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 75], "position": [2, 58], "start": [2, 3, 6, 8, 9, 13, 17, 24, 25, 26, 27, 29, 32, 34, 35, 37, 40, 41, 42, 44, 46, 52, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 74, 75], "actual": [2, 3, 5, 8, 11, 14, 17, 24, 34, 37, 42, 43, 44, 46, 54, 55, 57, 60, 64, 67, 71, 72], "take": [2, 3, 5, 8, 11, 12, 13, 17, 24, 26, 28, 29, 31, 32, 37, 40, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 66, 67, 71, 75], "place": [2, 3, 17, 32, 40, 43, 51, 53, 57, 58, 59, 64, 66, 67, 71, 75], "error": [2, 3, 4, 9, 10, 11, 12, 13, 14, 16, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "rais": [2, 3, 10, 13, 17, 29, 35, 54, 55, 64, 72], "cannot": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17, 26, 28, 29, 32, 34, 35, 36, 37, 40, 41, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "honor": [2, 8, 17, 51, 57, 71], "occur": [2, 3, 4, 8, 17, 24, 26, 28, 30, 34, 37, 38, 41, 42, 44, 46, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71], "final": [2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 29, 35, 40, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71, 75], "behavior": [2, 3, 4, 11, 13, 14, 17, 24, 29, 30, 32, 34, 41, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 73, 75], "relax": [2, 17, 30, 44, 53, 57, 60], "safeimplicit": 2, "warn": [2, 3, 4, 10, 12, 13, 16, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 41, 42, 44, 46, 51, 52, 54, 55, 57, 59, 60, 62, 66, 71, 72], "emit": [2, 10, 12, 13, 17, 34, 53, 71, 74], "obtain": [2, 3, 4, 5, 17, 34, 36, 54, 55, 57, 58, 64, 67, 72, 75], "nonetheless": [2, 17, 30, 32, 36, 51, 66], "review": [2, 17, 27], "locat": [2, 17, 24, 25, 35, 51, 52, 53, 54, 55], "issu": [2, 3, 24, 25, 46, 52, 54, 55, 58, 64, 66, 71, 73], "comment": [2, 5, 17, 24, 25, 29, 52, 54, 57, 60, 66, 75], "mark": [2, 12, 17, 24, 31, 35, 37, 38, 41, 44, 51, 52, 53, 54, 55, 57, 59, 60, 64, 66, 71], "remain": [2, 3, 9, 11, 13, 14, 17, 24, 34, 36, 39, 41, 42, 44, 46, 52, 57, 58, 64, 66], "note": [2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17, 24, 26, 27, 28, 29, 34, 35, 37, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 77], "might": [2, 3, 5, 13, 17, 46, 51, 53, 55, 57, 62, 64, 67, 71, 72, 75], "run": [2, 5, 8, 9, 13, 14, 17, 24, 25, 29, 51, 53, 57, 59, 60, 64, 66, 71, 73], "properli": [2, 8, 9, 10, 17, 29, 52, 53, 57, 59, 66], "encount": [2, 11, 17, 52, 53, 54, 64], "inform": [2, 3, 4, 10, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 37, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 72, 75, 77], "remind": [2, 3, 57], "inconsist": [2, 8, 10, 12, 14, 17, 24, 26, 34, 39, 44, 51, 59, 66, 67, 71], "lead": [2, 10, 14, 17, 24, 26, 29, 34, 39, 57, 58, 60, 64, 71, 74, 75], "incorrect": [2, 8, 12, 14, 17, 25, 34, 37, 46, 52, 57, 66], "termin": [2, 8, 9, 17, 24, 25, 27, 29, 30, 32, 34, 35, 38, 52, 55, 59, 60, 66, 71, 72], "assum": [2, 3, 5, 11, 13, 17, 26, 27, 28, 32, 34, 35, 36, 38, 39, 42, 44, 46, 51, 53, 54, 55, 57, 58, 59, 64, 66, 71, 75], "while": [2, 3, 4, 9, 10, 12, 13, 14, 17, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 73], "proposit": [2, 3, 5, 10, 17, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 39, 40, 51, 57, 58, 62, 64, 66, 67, 77], "perfectli": 2, "content": [2, 17, 24, 27, 32, 35, 42, 51, 52, 53, 54, 57, 59, 66, 71, 75], "must": [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 39, 40, 41, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "cours": [2, 14, 17, 24, 42, 51, 52, 57, 64, 71], "guess": [2, 4, 11, 17, 32, 43, 53, 57, 67], "tell": [2, 3, 11, 17, 24, 34, 41, 42, 44, 46, 51, 55, 57, 60, 64, 67, 71, 75], "given": [2, 3, 4, 5, 9, 10, 11, 13, 14, 17, 24, 25, 27, 28, 29, 32, 35, 36, 37, 40, 41, 42, 43, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "tv": 2, "give": [2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 37, 40, 41, 42, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71, 75], "ariti": [2, 17, 24, 25, 46, 55], "sequenc": [2, 3, 5, 17, 24, 25, 28, 29, 30, 46, 51, 57, 58, 59, 60, 64, 66, 71, 75], "product": [2, 3, 5, 10, 11, 13, 14, 17, 24, 26, 27, 28, 34, 36, 39, 40, 46, 54, 55, 57, 59, 60, 64, 66, 67, 71], "variabl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 45, 53, 54, 57, 58, 59, 60, 62, 64, 67, 71, 72, 75], "quot": [2, 5, 13, 17, 24, 25, 28, 29, 44, 51, 55, 59, 66, 71, 75], "number": [2, 3, 4, 5, 7, 11, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 46, 52, 53, 55, 57, 58, 59, 62, 64, 66, 67, 72, 74, 77], "check": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 30, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "y": [2, 3, 4, 5, 9, 11, 12, 13, 14, 17, 24, 26, 27, 28, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 77], "b": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 31, 34, 35, 37, 38, 40, 41, 42, 44, 46, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 77], "recogn": [2, 4, 5, 8, 11, 17, 24, 29, 34, 46, 51, 52, 55, 62, 67, 71, 75], "becom": [2, 8, 11, 17, 24, 26, 28, 34, 35, 40, 44, 46, 52, 53, 55, 57, 58, 59, 64, 66, 67, 71], "int": [2, 3, 17, 36, 55, 71, 75], "0": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 41, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75, 77], "respons": [2, 10, 17, 52, 55, 75], "expect": [2, 3, 4, 11, 12, 14, 17, 24, 26, 29, 31, 32, 33, 34, 40, 41, 42, 43, 44, 46, 51, 52, 54, 55, 57, 58, 60, 64, 67, 71], "fact": [2, 5, 11, 14, 17, 24, 28, 32, 34, 39, 41, 42, 46, 54, 55, 57, 58, 62, 64, 66, 67, 71, 75], "copi": [2, 17, 36, 46, 52, 53, 54, 57, 75], "everywher": [2, 17, 55, 58, 64], "being": [2, 3, 9, 11, 12, 13, 14, 17, 24, 32, 33, 34, 35, 37, 38, 40, 42, 46, 51, 52, 53, 54, 55, 57, 60, 64, 66, 67, 71, 72, 75], "sugar": [2, 7, 17, 28, 54, 55, 59, 77], "effect": [2, 3, 9, 11, 13, 14, 17, 24, 25, 29, 30, 34, 35, 38, 43, 51, 52, 53, 54, 57, 59, 64, 66, 71, 75], "alreadi": [2, 4, 13, 17, 24, 27, 28, 32, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 73], "foreign": [2, 17], "wa": [2, 3, 10, 11, 12, 17, 24, 27, 28, 29, 32, 34, 35, 37, 38, 41, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72], "previous": [2, 13, 17, 28, 34, 38, 52, 54, 57, 59, 71], "would": [2, 3, 4, 11, 14, 17, 28, 29, 30, 31, 32, 34, 37, 41, 42, 43, 44, 46, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "overrid": [2, 14, 17, 37, 51, 53, 57, 66, 67, 71], "been": [2, 3, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 35, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72, 73, 74], "definit": [2, 4, 8, 10, 11, 13, 17, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 38, 41, 42, 43, 44, 51, 53, 58, 59, 60, 62, 66, 67, 72, 73, 74, 75, 77], "fill": [2, 9, 13, 17, 25, 52, 55, 57, 62, 71], "label": [2, 8, 14, 17, 29, 54, 59], "TO": 2, "BE": 2, "search": [2, 4, 5, 7, 13, 17, 24, 25, 42, 44, 51, 52, 53, 61, 62, 64], "insid": [2, 3, 4, 8, 9, 13, 14, 17, 24, 25, 28, 29, 34, 35, 38, 46, 52, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "real": [2, 3, 7, 11, 24, 25, 34, 46, 53, 55, 66, 67, 71], "nativ": [2, 5, 10, 12, 24, 25, 36, 51, 55, 58, 59, 64], "boolean": [2, 5, 9, 11, 13, 14, 17, 24, 25, 27, 29, 34, 37, 39, 40, 42, 55, 59, 60, 62, 64, 67, 71], "syntax": [2, 4, 5, 6, 8, 9, 11, 13, 14, 25, 26, 27, 30, 32, 34, 35, 37, 39, 40, 41, 42, 43, 45, 51, 52, 53, 58, 59, 60, 63, 64, 66, 75, 77], "itself": [2, 3, 8, 9, 11, 12, 13, 14, 17, 30, 34, 39, 40, 41, 42, 43, 44, 51, 53, 54, 55, 57, 58, 60, 63, 64, 67, 71], "initi": [2, 6, 7, 11, 13, 17, 24, 27, 29, 38, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 75], "datatyp": [2, 17, 24, 25, 26, 35, 44, 46, 54, 55, 57, 59, 60, 67, 71], "pattern": [2, 9, 13, 17, 24, 25, 27, 28, 30, 32, 34, 40, 41, 42, 45, 60, 64, 67, 72, 77], "charact": [2, 8, 10, 13, 14, 17, 24, 25, 27, 29, 35, 36, 40, 44, 46, 53, 54, 55, 57, 58, 59, 64, 66, 71, 72, 74, 75], "char": [2, 17, 53], "prelud": [2, 17, 25, 29, 51, 59, 66], "liter": [2, 5, 17, 29, 36, 42, 54, 55, 57, 71], "handl": [2, 3, 8, 9, 11, 17, 24, 26, 37, 43, 46, 53, 55, 57, 58, 59, 61, 62, 66, 67, 71], "special": [2, 3, 4, 9, 12, 13, 16, 17, 24, 25, 27, 28, 29, 34, 51, 52, 53, 54, 55, 59, 60, 64, 66, 67, 71, 75], "design": [2, 8, 11, 17, 24, 25, 37, 44, 57, 64, 71, 77], "regist": [2, 3, 4, 5, 7, 9, 11, 13, 17, 25, 32, 42, 57, 64, 67, 71, 72], "standard": [2, 3, 5, 9, 14, 25, 27, 29, 35, 36, 40, 51, 52, 53, 54, 58, 59, 62, 64, 65, 66, 67, 72, 73, 74, 75], "indic": [2, 8, 11, 12, 13, 14, 17, 24, 26, 31, 34, 35, 39, 40, 41, 42, 43, 46, 51, 52, 53, 54, 57, 58, 59, 62, 64, 66, 67, 71], "how": [2, 7, 8, 13, 17, 24, 25, 27, 29, 30, 34, 35, 37, 42, 43, 45, 51, 53, 54, 57, 58, 59, 60, 62, 64, 67, 71, 72, 74, 77], "over": [2, 3, 11, 14, 17, 24, 25, 26, 27, 28, 30, 32, 34, 37, 38, 39, 40, 41, 42, 44, 46, 52, 53, 54, 58, 59, 60, 61, 62, 64, 66, 67], "could": [2, 3, 4, 5, 6, 11, 12, 17, 24, 29, 31, 34, 37, 42, 46, 51, 52, 55, 57, 58, 60, 62, 66, 71, 72, 73], "arbitrari": [2, 3, 5, 10, 11, 14, 17, 24, 31, 44, 46, 53, 57, 60, 62, 71], "k": [2, 3, 6, 14, 17, 24, 26, 34, 42, 54, 57, 67, 72, 77], "emul": [2, 12, 17, 40, 57], "branch": [2, 5, 9, 17, 25, 34, 40, 45, 46, 55, 59, 60, 66, 67, 72], "element": [2, 3, 11, 12, 17, 25, 26, 27, 34, 35, 36, 46, 57, 59, 60, 71], "destruct": [2, 13, 17, 24, 25, 34, 54, 55, 57, 58, 64, 71], "foo": [2, 11, 14, 17, 29, 35, 38, 40, 43, 51, 52, 53, 55, 57, 58, 59, 64, 66, 71, 74, 75], "fun": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 17, 25, 26, 27, 29, 30, 31, 32, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72, 75], "consid": [2, 3, 4, 5, 9, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 31, 34, 37, 41, 42, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 73, 75], "unit": [2, 12, 13, 14, 17, 27, 34, 40, 46, 53, 54, 55, 57, 62, 64, 71], "block": [2, 9, 10, 14, 17, 25, 29, 30, 34, 37, 38, 44, 46, 54, 64, 65, 67], "earli": [2, 15, 17, 25, 26, 54, 64], "evalu": [2, 3, 9, 11, 17, 24, 25, 28, 30, 34, 35, 41, 53, 57, 60, 64, 71], "bar": [2, 8, 14, 17, 29, 35, 51, 52, 53, 55, 57, 64, 66, 71, 74], "As": [2, 3, 5, 6, 9, 10, 11, 13, 14, 17, 26, 28, 30, 34, 36, 37, 38, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 72], "care": [2, 13, 14, 17, 46, 53, 54, 64, 67, 71, 75], "pre": [2, 17, 25, 53, 60], "sound": [2, 17, 34], "ad": [2, 4, 9, 13, 14, 17, 24, 25, 29, 34, 37, 42, 44, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75, 77], "hoc": [2, 3, 17, 71, 77], "often": [2, 3, 10, 13, 14, 17, 25, 28, 43, 46, 52, 53, 54, 55, 57, 58, 66], "fulli": [2, 3, 8, 17, 24, 26, 28, 31, 32, 35, 38, 44, 51, 52, 53, 54, 55, 58, 59, 64, 66, 71, 72], "rigor": [2, 24], "correct": [2, 8, 9, 11, 17, 24, 25, 28, 32, 35, 46, 51, 53, 57, 59, 64, 66, 67, 71], "theoret": [2, 17, 24, 31, 39, 77], "valu": [2, 4, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 42, 43, 51, 52, 53, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "larger": [2, 13, 14, 17, 25, 51, 52, 57, 60, 71, 75], "than": [2, 3, 5, 8, 11, 12, 13, 14, 17, 24, 29, 30, 31, 34, 35, 37, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "max_int": 2, "overflow": [2, 17, 59, 66, 71], "bad": [2, 11, 12, 14, 17, 34, 59, 64], "event": [2, 17, 51], "practic": [2, 3, 5, 17, 24, 25, 32, 34, 39, 42, 53, 55, 57, 58, 64, 66, 71, 74, 77], "translat": [2, 3, 17, 24, 25, 33, 41, 45, 57, 71, 75], "magic": [2, 17, 24, 55, 59], "improv": [2, 3, 8, 11, 17, 24, 29, 52, 54, 57, 67], "asymptot": [2, 59], "complex": [2, 11, 17, 24, 25, 29, 33, 35, 52, 54, 55, 57, 59, 61, 63, 66, 67], "represent": [2, 3, 5, 11, 12, 17, 24, 29, 34, 37, 51, 53, 57, 64, 71], "mul": [2, 5, 17, 36, 52, 57, 59, 71], "stai": [2, 27], "quadrat": [2, 17], "interest": [2, 4, 5, 11, 17, 24, 31, 42, 54, 57, 67], "associ": [2, 3, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67], "primit": [2, 10, 12, 13, 14, 17, 24, 25, 27, 30, 33, 34, 41, 46, 54, 55, 57, 64, 67], "counterpart": [2, 3, 9, 11, 17, 30, 34, 57], "bool": [2, 3, 4, 5, 12, 13, 17, 24, 27, 30, 35, 36, 37, 40, 41, 42, 44, 46, 55, 57, 58, 59, 60, 71], "true": [2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 24, 26, 27, 34, 35, 36, 37, 40, 41, 44, 46, 51, 53, 54, 55, 57, 58, 59, 62, 64, 67, 71, 74], "fals": [2, 4, 5, 9, 10, 12, 13, 17, 24, 27, 34, 37, 40, 41, 46, 51, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71], "sumbool": [2, 27, 46, 71], "enclos": [2, 29, 41, 53, 54, 55, 66, 71, 75], "parenthes": [2, 3, 8, 17, 24, 28, 29, 35, 37, 46, 54, 55, 57, 58, 67, 71], "meet": [2, 9, 71], "lexic": [2, 17, 25, 51, 59, 71, 75], "criteria": [2, 17, 72], "infix": [2, 14, 17, 24, 25, 27, 42, 57, 58, 64, 74], "symbol": [2, 3, 11, 14, 17, 24, 25, 27, 28, 29, 31, 41, 42, 43, 46, 57, 59, 60, 62, 64, 67, 71, 75, 77], "rest": [2, 3, 13, 17, 26, 29, 36, 42, 52, 57, 66], "prod": [2, 17, 26, 27, 34, 46, 62, 67], "caveat": [2, 17, 25, 55, 57, 60], "abov": [2, 3, 5, 11, 13, 14, 17, 24, 28, 30, 34, 37, 38, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 71, 72, 75], "succ": [2, 24, 54, 59, 64], "fo": 2, "els": [2, 4, 9, 11, 12, 13, 17, 29, 30, 35, 40, 41, 46, 52, 54, 55, 57, 59, 62, 67, 71, 75], "interfac": [2, 17, 24, 25, 35, 52, 53, 66, 74, 75, 76], "link": [2, 16, 17, 24, 27, 46, 53, 57, 72, 75], "linker": [2, 24], "know": [2, 8, 17, 24, 27, 32, 34, 42, 46, 52, 53, 54, 55, 57, 59, 60, 62, 64, 67, 71], "extern": [2, 5, 11, 13, 17, 29, 33, 52, 54, 55, 59, 60, 63, 66, 73, 74, 75], "shall": [2, 17, 24, 26, 31, 34, 39, 42, 57, 71], "access": [2, 5, 14, 17, 24, 25, 28, 32, 33, 34, 35, 36, 38, 44, 51, 52, 53, 55, 57, 59, 71], "callback": [2, 17], "referenc": [2, 17, 53, 71], "stdlib": [2, 3, 5, 7, 9, 11, 12, 14, 17, 27, 28, 29, 35, 51, 53, 54, 55, 57, 59, 60, 64, 67, 72, 75], "f_impl": 2, "compat": [2, 3, 4, 13, 14, 24, 25, 29, 34, 42, 51, 52, 53, 58, 62, 63, 64, 71], "support": [2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 17, 24, 25, 30, 32, 34, 35, 36, 37, 40, 41, 42, 44, 51, 53, 54, 55, 57, 59, 60, 62, 63, 64, 66, 71, 72, 74, 75, 76], "thrown": 2, "after": [2, 4, 5, 7, 8, 9, 11, 13, 17, 24, 29, 32, 34, 35, 38, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "callabl": 2, "express": [2, 3, 4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 39, 40, 41, 43, 44, 57, 58, 59, 60, 64, 66, 67, 75], "signal": [2, 8, 17, 57], "alias": [2, 17, 24, 25, 29, 35, 55], "uniqu": [2, 3, 12, 13, 17, 24, 31, 35, 38, 57, 59, 67, 71], "multipl": [2, 3, 4, 9, 14, 17, 24, 25, 27, 29, 34, 35, 40, 44, 52, 58, 59, 60, 64, 66, 67, 71], "expos": [2, 17, 25, 40, 41, 57, 71], "share": [2, 11, 13, 14, 17, 24, 28, 29, 34, 46, 51, 52, 53, 57, 59, 60, 64, 67, 71], "impact": [2, 17, 53, 66, 71], "synthesis": 2, "thu": [2, 3, 4, 5, 10, 12, 17, 24, 32, 34, 42, 43, 46, 51, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "safeti": 2, "registr": [2, 17, 25], "usabl": [2, 17, 24, 38, 52, 66, 67, 71], "togeth": [2, 3, 9, 17, 24, 25, 27, 31, 34, 35, 43, 53, 54, 55, 57, 66, 71, 75], "map": [2, 3, 5, 13, 17, 24, 25, 26, 34, 35, 36, 39, 41, 44, 51, 53, 57, 58, 59, 60, 71, 72, 75], "directli": [2, 3, 4, 9, 13, 14, 17, 24, 27, 28, 34, 43, 51, 52, 53, 55, 57, 58, 60, 64, 67, 72, 75], "happen": [2, 4, 9, 10, 13, 17, 34, 38, 46, 52, 54, 55, 57, 58, 64, 71, 72], "instruct": [2, 5, 17, 53, 58, 59], "particular": [2, 3, 6, 9, 10, 12, 13, 17, 29, 30, 31, 32, 33, 34, 37, 38, 40, 42, 52, 53, 54, 55, 57, 59, 60, 64, 66, 71, 75], "blacklist": [2, 17, 59], "includ": [2, 3, 5, 8, 9, 12, 13, 14, 17, 24, 25, 27, 28, 29, 34, 35, 36, 38, 39, 40, 41, 43, 44, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 73, 75], "natur": [2, 5, 7, 9, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 34, 35, 37, 39, 40, 42, 44, 46, 52, 53, 57, 58, 59, 62, 64, 66, 71, 72], "finer": [2, 17, 34, 57], "grain": [2, 17, 41], "bit": [2, 5, 17, 29, 30, 34, 36, 51, 53, 66, 71, 75, 77], "mask": [2, 35], "unless": [2, 3, 13, 14, 17, 29, 40, 41, 42, 44, 51, 52, 57, 58, 64, 71, 72, 75], "treatment": [2, 9, 17, 40], "fixpoint": [2, 3, 10, 13, 17, 24, 25, 27, 29, 30, 31, 32, 37, 38, 41, 44, 46, 52, 57, 59, 64, 66, 67, 71, 72], "simplifi": [2, 11, 17, 24, 41, 54, 57, 64, 67], "redux": 2, "factor": [2, 5, 11, 17, 25, 34, 45], "16": [2, 25, 53, 54, 57, 71], "32": [2, 17, 36, 51, 53, 66], "6": [2, 9, 25, 29, 35, 53, 54, 55, 57, 58, 71, 74, 77], "64": [2, 36, 51, 66], "swap": [2, 17, 54, 57, 58], "lambda": [2, 3, 10, 11, 17, 31, 52, 55, 64, 67, 71, 77], "7": [2, 11, 25, 54, 57, 64, 71, 74, 75, 77], "128": 2, "256": 2, "push": [2, 17, 57, 71], "9": [2, 24, 25, 29, 30, 35, 53, 54, 57, 64, 71, 74, 77], "512": 2, "linear": [2, 3, 11, 14, 17, 24, 25, 46, 51, 54, 55, 57, 64], "10": [2, 5, 24, 25, 29, 31, 52, 54, 57, 59, 60, 64, 71, 74, 77], "1024": 2, "typeexpand": 2, "expand": [2, 13, 14, 17, 28, 29, 30, 31, 35, 37, 41, 46, 52, 54, 55, 57, 58, 64, 67, 71], "learn": [2, 17, 25, 54, 72], "written": [2, 3, 5, 11, 13, 17, 24, 26, 28, 29, 34, 35, 36, 37, 42, 43, 44, 46, 52, 53, 54, 55, 57, 59, 64, 71, 73, 74], "due": [2, 3, 13, 14, 17, 24, 27, 30, 34, 46, 52, 54, 55, 59, 64, 66, 67, 71, 72, 73], "typabl": [2, 4, 34], "now": [2, 3, 4, 11, 13, 14, 17, 24, 26, 27, 30, 34, 35, 41, 42, 46, 51, 52, 53, 54, 55, 57, 59, 60, 64, 67, 71, 72, 74], "solv": [2, 3, 5, 7, 11, 13, 17, 24, 25, 39, 42, 44, 57, 60, 61, 62, 64, 67], "problem": [2, 4, 7, 9, 13, 17, 24, 29, 34, 42, 44, 46, 51, 52, 53, 54, 58, 62, 66, 67], "least": [2, 3, 12, 13, 17, 25, 28, 29, 30, 34, 41, 46, 52, 53, 57, 58, 64, 66, 67, 71, 72, 74, 75], "unsaf": [2, 17, 55, 66], "cast": [2, 12, 17, 25, 40, 46, 54, 55, 57, 58, 60, 64, 71], "obj": [2, 24, 42], "veri": [2, 8, 9, 11, 13, 17, 24, 25, 27, 29, 34, 42, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67], "polymorph": [2, 3, 13, 17, 24, 25, 26, 29, 30, 31, 32, 33, 37, 39, 40, 41, 44, 46, 51, 59, 66, 67, 71], "alright": 2, "refus": [2, 3, 64], "checker": [2, 9, 11, 17, 24, 25, 26, 29, 33, 73], "known": [2, 8, 10, 12, 13, 17, 24, 27, 30, 33, 34, 39, 41, 44, 51, 55, 57, 66, 71], "distr": 2, "dp": [2, 17], "foral": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 25, 26, 27, 29, 30, 31, 32, 34, 36, 37, 41, 42, 43, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "direct": [2, 9, 12, 16, 17, 24, 31, 34, 42, 46, 52, 53, 57, 58, 71], "restrict": [2, 3, 12, 14, 17, 24, 26, 34, 35, 40, 51, 54, 57, 58, 59, 60, 62, 67, 71], "secondli": [2, 17], "quantif": [2, 3, 4, 13, 14, 17, 24, 26, 27, 28, 60, 67], "anyth": [2, 13, 17, 35, 44, 46, 51, 55, 57, 58, 64, 75], "anything_rect": 2, "anything_ind": 2, "anything_rec": 2, "anything_sind": 2, "dynam": [2, 11, 13, 17, 25, 36, 59, 71], "gadt": 2, "yet": [2, 17, 42, 43, 46, 51, 52, 54, 55, 57, 58, 60, 66, 71, 72], "those": [2, 3, 5, 10, 11, 12, 17, 24, 26, 33, 34, 35, 37, 43, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "get": [2, 5, 9, 11, 13, 14, 17, 24, 25, 28, 29, 34, 36, 42, 51, 52, 53, 55, 58, 59, 60, 64, 66, 67], "segment": [2, 17, 24, 52, 59, 71], "fault": [2, 24, 71], "your": [2, 3, 8, 11, 14, 15, 17, 25, 29, 51, 52, 54, 55, 57, 58, 59, 60, 62, 66, 71, 73, 74, 75], "seem": [2, 5, 17, 71], "ill": [2, 4, 9, 10, 17, 24, 26, 30, 34, 51, 55, 64, 71, 72], "go": [2, 5, 9, 17, 24, 30, 42, 51, 52, 54, 55, 57, 59, 60, 64, 67, 71, 75], "wrong": [2, 3, 17, 24, 44, 51, 54, 66, 72], "come": [2, 6, 8, 13, 17, 24, 27, 34, 43, 51, 52, 54, 55, 57, 59, 60, 64, 71], "Of": [2, 14, 42, 51, 57], "launch": [2, 13, 17, 25, 52, 53], "appli": [2, 3, 4, 5, 9, 10, 11, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 51, 53, 54, 55, 59, 60, 62, 66, 71, 72, 75], "shape": [2, 3, 57], "point": [2, 3, 11, 13, 17, 24, 25, 26, 32, 34, 35, 36, 39, 51, 52, 53, 54, 55, 57, 66, 71], "view": [2, 11, 17, 25, 26, 29, 32, 34, 39, 41, 52, 55, 60, 66], "about": [2, 3, 5, 11, 13, 14, 15, 17, 24, 25, 29, 30, 34, 37, 39, 41, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 72], "let02": [2, 77], "sai": [2, 3, 4, 17, 24, 26, 27, 28, 29, 31, 34, 42, 52, 53, 54, 55, 57, 58, 64, 71, 74], "though": [2, 8, 9, 17, 24, 29, 35, 37, 46, 51, 53, 54, 55, 64, 67, 71], "realist": [2, 42], "accept": [2, 3, 8, 13, 17, 24, 28, 29, 30, 32, 34, 40, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 60, 64, 66, 71, 72], "without": [2, 3, 5, 8, 9, 11, 13, 14, 17, 24, 26, 29, 32, 33, 34, 35, 37, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74, 75, 77], "below": [2, 4, 5, 8, 9, 10, 11, 13, 14, 17, 25, 26, 27, 31, 34, 35, 38, 40, 41, 43, 51, 52, 53, 54, 55, 57, 64, 66, 71, 72, 74, 75], "choos": [2, 3, 17, 32, 34, 42, 43, 52, 53, 54, 57, 58, 67, 71, 72, 75], "everyth": [2, 17, 52, 53], "slight": [2, 17, 24, 58], "modif": [2, 4, 11, 17, 36, 41, 58, 71], "find": [2, 3, 4, 5, 7, 11, 13, 14, 16, 17, 25, 27, 29, 34, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71, 72, 77], "Its": [2, 3, 11, 17, 24, 52, 55, 57, 60, 67, 74], "euclid": [2, 17, 24], "unari": [2, 3, 26, 29, 34, 64], "repres": [2, 3, 5, 11, 13, 14, 17, 24, 26, 27, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 64, 65, 66, 67, 71], "theorem": [2, 5, 7, 8, 11, 12, 17, 24, 25, 27, 29, 32, 33, 35, 37, 38, 42, 43, 51, 52, 57, 59, 60, 62, 65, 66, 71, 73, 74, 75, 77], "eucl_dev": 2, "whose": [2, 3, 4, 5, 11, 13, 14, 17, 24, 26, 30, 31, 33, 34, 35, 37, 39, 41, 42, 44, 46, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 75], "diveucl": 2, "quotient": [2, 5, 17, 40, 57, 64], "modulo": [2, 4, 5, 11, 17, 24, 34, 54, 57, 58, 59, 71], "assert": [2, 17, 24, 25, 26, 28, 34, 41, 54, 55, 57, 58, 62, 64, 66, 67, 71], "disappear": [2, 17, 24, 34, 55, 60, 67, 71], "wf_nat": [2, 17, 24], "gt_wf_rec": 2, "lt_wf_rec": [2, 24], "induction_ltof2": 2, "val": [2, 34, 55, 57], "sub": [2, 4, 8, 17, 36, 41, 46, 51, 53, 54, 57, 59, 60, 67, 71], "rec": [2, 17, 24, 35, 54, 55, 75], "le_lt_dec": [2, 17, 24], "n0": [2, 9, 31, 46, 57, 58, 67, 72], "n1": [2, 9, 34, 53, 57, 72], "le_gt_dec": 2, "divex": 2, "d": [2, 4, 5, 11, 14, 17, 24, 26, 34, 46, 51, 52, 53, 54, 57, 58, 62, 67, 75, 77], "q": [2, 3, 5, 7, 10, 11, 12, 17, 24, 27, 34, 35, 46, 51, 53, 54, 55, 57, 58, 59, 67, 71, 75], "r": [2, 3, 5, 7, 9, 11, 13, 14, 17, 24, 27, 28, 34, 35, 37, 41, 44, 51, 53, 54, 57, 58, 59, 60, 64, 67, 71, 72, 75, 77], "mandatori": [2, 8, 17, 32, 57, 66, 71], "enhanc": [2, 17, 52, 57], "past": [2, 17, 52, 64], "u": [2, 3, 4, 9, 10, 11, 14, 17, 24, 26, 27, 31, 34, 35, 38, 39, 41, 42, 46, 51, 53, 54, 55, 57, 58, 62, 64, 67, 71], "plai": [2, 17, 26, 42, 64, 66], "toplevel": [2, 10, 13, 14, 17, 24, 25, 27, 29, 35, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 71, 72, 74], "easier": [2, 10, 17, 24, 45, 52, 57, 58, 67, 71], "nat_of_int": 2, "int_of_nat": 2, "div": [2, 3, 5, 11, 17, 59], "173": [2, 14], "15": [2, 13, 25, 52, 53, 57, 66], "mere": [2, 17, 55, 57, 64, 71], "extrocamlintconv": 2, "concret": [2, 13, 14, 17, 25, 26, 29, 34, 42, 46, 51, 57, 64, 71], "patholog": 2, "success": [2, 3, 4, 5, 13, 17, 24, 25, 34, 51, 52, 55, 57, 59, 60, 62, 64, 66, 67, 74], "sever": [2, 3, 4, 5, 11, 17, 24, 25, 26, 28, 29, 30, 31, 32, 34, 40, 42, 44, 46, 51, 52, 54, 55, 57, 59, 60, 64, 65, 67, 71, 72, 75, 76], "chain": [2, 17, 25, 51, 64, 71, 74], "http": [2, 5, 17, 24, 25, 27, 50, 51, 52, 53, 59, 64, 75, 77], "github": [2, 5, 17, 51, 52], "com": [2, 5, 17, 51, 52, 54], "coq": [2, 8, 9, 11, 13, 15, 17, 25, 26, 29, 30, 46, 51, 53, 54, 55, 57, 58, 59, 63, 66, 71, 72, 73, 75, 76, 77], "commun": [2, 17, 24, 27, 29, 51], "hydra": 2, "battl": 2, "bdd": 2, "contrib": [2, 17, 24, 53, 55], "canon": [2, 4, 5, 11, 13, 17, 24, 25, 30, 32, 34, 35, 37, 38, 44, 45, 53, 57, 59, 71, 77], "chines": [2, 24], "continu": [2, 17, 24, 52, 53, 54, 55, 57, 71, 73], "fire": [2, 14, 17], "squad": 2, "founifi": 2, "graph": [2, 14, 17, 24, 25, 39, 54, 72], "higman": 2, "cf": [2, 9, 17, 24, 29, 34, 40, 42, 46, 59, 67], "nw": 2, "hardwar": [2, 8, 24], "multipli": [2, 57], "stalmarck": [2, 24], "probabl": [2, 17, 32, 44, 51, 54, 57, 58, 59, 75], "heavi": 2, "impred": [2, 12, 14, 17, 24, 25, 34, 51, 53, 77], "thank": [2, 5, 12, 17, 24, 34, 42, 55, 57, 64, 71], "matthieu": [3, 9, 14, 17, 77], "sozeau": [3, 9, 14, 17, 77], "equal": [3, 5, 8, 10, 11, 12, 13, 14, 17, 24, 25, 26, 30, 31, 32, 34, 35, 36, 39, 40, 42, 44, 46, 52, 54, 55, 57, 58, 60, 61, 65, 71, 72, 77], "equip": [3, 4, 17, 24, 27, 36, 42, 64], "equival": [3, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 32, 34, 35, 36, 37, 38, 41, 42, 46, 51, 52, 53, 54, 55, 59, 60, 62, 64, 66, 67, 71, 75], "behav": [3, 11, 17, 24, 28, 29, 31, 34, 35, 43, 53, 54, 55, 57, 58, 60, 62, 64, 67, 71], "weaker": [3, 17, 24, 60], "g": [3, 4, 5, 8, 9, 10, 13, 14, 17, 24, 27, 28, 29, 30, 31, 34, 35, 36, 41, 43, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75, 77], "system": [3, 8, 9, 11, 17, 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, 39, 46, 51, 52, 53, 54, 55, 57, 59, 60, 62, 71, 73, 77], "toolbox": [3, 17], "extend": [3, 4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 32, 34, 35, 37, 40, 41, 42, 45, 51, 52, 53, 55, 59, 60, 71, 77], "capabl": [3, 17, 51, 53, 54, 55, 64], "document": [3, 8, 9, 11, 12, 16, 17, 24, 25, 42, 51, 52, 54, 55, 57, 59, 64, 65, 66, 67, 71, 72, 74, 76], "adapt": [3, 7, 17, 24, 51, 57, 63], "claudio": [3, 17, 24], "sacerdoti": [3, 17, 24], "coen": [3, 17, 24], "base": [3, 5, 10, 11, 12, 13, 14, 17, 24, 25, 29, 33, 35, 39, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 60, 62, 63, 64, 66, 67, 71, 73, 74, 75, 77], "cl\u00e9ment": [3, 17], "renard": [3, 24], "implement": [3, 8, 11, 12, 13, 17, 24, 25, 29, 34, 35, 36, 37, 39, 43, 46, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 77], "drop": [3, 17, 51, 54, 59, 71], "old": [3, 11, 24, 25, 51, 53, 55, 58, 60, 66, 67], "complet": [3, 4, 5, 6, 7, 8, 9, 10, 11, 17, 24, 29, 30, 32, 34, 36, 40, 42, 51, 52, 53, 54, 57, 58, 59, 60, 62, 66, 67, 71], "typeclass": [3, 4, 5, 7, 17, 25, 35, 37, 38, 44, 45, 58, 60, 64, 66, 71], "infrastructur": [3, 25, 42, 53], "algorithm": [3, 7, 9, 11, 13, 17, 24, 25, 41, 51, 54, 57, 59, 62, 66, 77], "constraint": [3, 5, 8, 9, 10, 13, 17, 24, 25, 34, 35, 39, 43, 44, 51, 53, 54, 55, 58, 67, 71], "ml": [3, 5, 6, 8, 11, 17, 24, 25, 26, 29, 34, 36, 46, 51, 52, 53, 54, 57, 59, 60, 63, 64, 72, 77], "resolut": [3, 13, 17, 24, 25, 58, 60, 66, 71, 75], "anoth": [3, 4, 9, 11, 13, 14, 17, 24, 27, 31, 32, 34, 35, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 66, 67, 71], "pure": [3, 7, 11, 17, 55, 57, 64, 71, 72, 75], "again": [3, 13, 17, 24, 34, 42, 52, 53, 55, 57, 60, 64, 66, 71], "ordinari": [3, 17, 26, 37, 39, 71], "rocq": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 50, 52, 54, 55, 58, 59, 62, 63, 64, 65, 66, 67, 72, 73, 76], "manipul": [3, 9, 10, 17, 24, 25, 34, 37, 39, 55, 57, 63, 77], "put": [3, 5, 13, 14, 17, 34, 35, 43, 51, 53, 54, 57, 58, 59, 60, 66, 67, 71, 72, 75], "lemma": [3, 5, 11, 13, 14, 17, 24, 25, 32, 34, 35, 36, 38, 42, 44, 46, 54, 57, 58, 59, 60, 62, 64, 67, 72], "prove": [3, 5, 7, 8, 9, 11, 17, 24, 25, 27, 30, 32, 34, 35, 42, 43, 57, 58, 60, 62, 64, 72, 77], "higher": [3, 14, 17, 24, 25, 27, 40, 51, 54, 57, 58, 59, 60, 64, 67, 71, 73, 77], "depth": [3, 5, 13, 17, 29, 54, 57, 58, 59, 60, 62, 64, 71, 75], "solut": [3, 5, 13, 17, 42, 44, 58, 59, 63, 67], "fast": [3, 17, 24, 25, 53], "besid": [3, 17, 24, 34, 57], "necessari": [3, 4, 9, 13, 17, 24, 29, 31, 33, 37, 53, 55, 57, 59, 62, 64, 67, 71], "nicola": [3, 17, 77], "tabareau": [3, 17, 77], "glu": 3, "A": [3, 4, 5, 7, 9, 10, 11, 12, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 64, 66, 71, 72, 74, 75, 76, 77], "x1": [3, 9, 13, 17, 27, 42, 54, 57, 59, 60, 72], "t1": [3, 13, 17, 34, 42, 46, 57], "xn": [3, 9, 17, 57], "tn": [3, 13, 17, 57], "carrier": [3, 11, 14, 42, 57], "said": [3, 4, 17, 26, 34, 36, 42, 44, 55, 59, 71], "possibli": [3, 4, 17, 24, 34, 35, 42, 43, 51, 53, 54, 57, 59, 64, 67, 71, 73], "paramet": [3, 4, 5, 7, 8, 13, 14, 17, 24, 25, 28, 29, 34, 37, 40, 41, 42, 43, 44, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 72], "finit": [3, 5, 17, 24, 30, 34], "unord": [3, 17, 57], "set_eq": 3, "satisfi": [3, 4, 5, 11, 13, 14, 17, 30, 34, 35, 54, 55, 59, 64, 67, 71], "convert": [3, 4, 12, 13, 14, 17, 25, 26, 34, 37, 41, 44, 54, 55, 57, 58, 64, 67], "reflex": [3, 5, 6, 11, 13, 17, 24, 27, 34, 36, 51, 54, 57, 59, 60, 62, 64, 66, 67, 71], "symmetri": [3, 17, 24, 34, 44, 57, 60, 64], "transit": [3, 7, 8, 13, 14, 17, 24, 25, 26, 35, 41, 44, 51, 54, 57, 58, 59, 60, 64, 66, 74], "symmetr": [3, 17, 24, 31, 59, 64, 71], "a1": [3, 27, 34, 46, 57, 58, 71], "a2": [3, 27, 34, 58], "covariantli": 3, "r1": [3, 5, 17, 27, 41, 44, 57, 59], "r2": [3, 17, 27, 41, 44, 57, 59], "whenev": [3, 7, 14, 17, 27, 29, 42, 55, 57, 62, 64, 67, 71], "imag": [3, 11, 17, 24, 51, 52, 66], "input": [3, 4, 9, 10, 13, 14, 17, 25, 27, 29, 35, 44, 46, 51, 54, 57, 58, 60, 64, 71, 72, 74, 75], "monoton": [3, 4, 17], "i_": [3, 34, 57], "r_1": 3, "r_2": 3, "notic": [3, 4, 5, 17, 26, 34, 35, 38, 46, 51, 52, 54, 57, 58, 64, 66, 71, 72, 74], "arrow": [3, 4, 14, 17, 52, 57, 60, 64, 67], "reader": [3, 11, 24, 29, 31, 42, 57], "between": [3, 4, 10, 11, 13, 14, 17, 24, 25, 26, 27, 29, 33, 34, 38, 39, 43, 44, 46, 51, 52, 53, 54, 57, 58, 60, 64, 65, 67, 71, 72, 75], "introduc": [3, 5, 8, 10, 11, 13, 14, 17, 24, 25, 28, 30, 31, 34, 35, 37, 38, 43, 44, 46, 51, 52, 55, 57, 58, 59, 60, 62, 66, 67, 71, 72, 75], "straightforwardli": 3, "ari": [3, 17, 34], "simultan": [3, 17, 24, 25, 26, 30, 32, 34, 42, 53, 57, 58], "everi": [3, 9, 11, 12, 13, 14, 17, 28, 29, 34, 40, 51, 52, 54, 55, 57, 58, 64, 71], "argument": [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 40, 42, 43, 45, 51, 52, 54, 55, 58, 59, 60, 62, 64, 66, 72, 75], "invers": [3, 11, 17, 24, 25, 31, 58, 60, 64, 72, 77], "t_1": [3, 26, 31, 34, 35], "ldot": [3, 7, 34], "t_n": [3, 26, 34, 66], "union": [3, 13, 17, 54, 59, 66, 77], "append": [3, 17, 29, 35, 43, 53, 54, 66, 75], "binari": [3, 5, 7, 11, 14, 17, 24, 29, 37, 42, 51, 53, 57, 58, 60, 64, 71], "latter": [3, 11, 17, 28, 34, 35, 42, 51, 54, 55, 57, 58, 64, 66, 67, 75], "condit": [3, 4, 9, 11, 17, 24, 25, 30, 50, 53, 59, 60, 63, 64, 66, 67], "s1": [3, 30, 38, 57], "s2": [3, 30], "divis": [3, 11, 17, 24, 25, 57], "rdiv": [3, 5], "le": [3, 5, 13, 14, 17, 24, 27, 42, 46, 52, 55, 57, 64, 67, 77], "usual": [3, 8, 9, 12, 17, 25, 26, 27, 28, 30, 34, 35, 37, 40, 43, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74, 75], "leibniz": [3, 5, 7, 11, 13, 17, 24, 25, 27, 35, 40, 57, 58, 67], "unfortun": [3, 5, 17, 42, 46, 57], "intend": [3, 17, 24, 28, 32, 39, 51, 57, 64, 66, 71], "next": [3, 9, 13, 17, 24, 27, 29, 33, 34, 42, 44, 46, 51, 52, 54, 55, 57, 60, 64, 65, 66, 67, 71], "section": [3, 5, 6, 7, 8, 9, 10, 11, 12, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 67, 71, 74], "deal": [3, 5, 8, 13, 17, 24, 25, 42, 46, 57, 60, 64, 71, 72], "exact": [3, 12, 14, 17, 24, 25, 35, 40, 43, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71], "goal": [3, 6, 7, 8, 9, 12, 13, 14, 17, 24, 25, 27, 29, 31, 34, 35, 36, 37, 38, 42, 43, 44, 52, 53, 59, 60, 61, 62, 64, 71, 72, 74], "howev": [3, 4, 5, 9, 12, 13, 14, 17, 24, 27, 29, 34, 36, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 64, 66, 67, 71, 72], "verifi": [3, 7, 9, 11, 14, 17, 24, 25, 29, 31, 32, 33, 35, 51, 60, 66], "verif": [3, 24, 25, 32, 66, 67, 77], "consist": [3, 4, 5, 11, 13, 14, 17, 24, 27, 30, 31, 34, 35, 52, 55, 57, 58, 59, 64, 65, 66, 71], "composit": [3, 71], "some": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 71, 72, 73, 75], "obviou": [3, 34, 57, 71], "suppos": [3, 9, 17, 55, 57, 64], "hypothesi": [3, 9, 11, 17, 24, 25, 27, 28, 29, 34, 38, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 75], "h": [3, 4, 6, 9, 11, 12, 13, 14, 17, 24, 27, 34, 40, 44, 46, 51, 54, 55, 57, 58, 62, 64, 66, 67, 72, 75, 77], "These": [3, 11, 13, 14, 17, 24, 25, 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 52, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72, 73], "attribut": [3, 5, 9, 13, 14, 16, 25, 28, 30, 32, 34, 37, 40, 41, 42, 44, 51, 54, 55, 59, 60, 62, 64, 66, 71, 74], "univers": [3, 4, 8, 9, 12, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 39, 40, 44, 46, 51, 54, 57, 59, 62, 66, 67, 71, 77], "add": [3, 4, 5, 8, 9, 10, 11, 13, 14, 17, 24, 25, 29, 31, 32, 34, 37, 41, 42, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75], "one_term": [3, 5, 7, 11, 13, 29, 34, 54, 58, 60, 62, 64, 67, 71, 72], "aeq": 3, "\u03b1": [3, 14, 25, 54, 55, 57], "typeabl": 3, "fresh": [3, 14, 17, 24, 25, 31, 34, 53, 57, 58, 64, 66, 67, 71], "intern": [3, 5, 11, 14, 17, 24, 25, 31, 34, 37, 44, 51, 53, 54, 55, 58, 60, 62, 66, 67, 71, 72, 73, 74, 77], "although": [3, 5, 9, 17, 35, 37, 53, 55, 57, 58, 60, 64, 66], "depart": 3, "To": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 17, 24, 25, 27, 29, 30, 32, 34, 37, 39, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72, 74, 75], "eq": [3, 5, 11, 14, 17, 27, 35, 40, 42, 54, 57, 58, 59, 64, 67, 71], "refl_equ": [3, 17, 57], "properti": [3, 4, 6, 9, 11, 12, 13, 17, 24, 25, 26, 27, 30, 31, 32, 34, 38, 39, 42, 45, 46, 57, 58, 67, 72, 77], "deriv": [3, 5, 9, 13, 17, 24, 25, 26, 30, 34, 38, 40, 54, 64, 66, 73], "autorewrit": [3, 17, 24, 60], "abl": [3, 8, 11, 13, 14, 17, 24, 25, 34, 42, 44, 46, 51, 53, 55, 57, 58, 59, 61, 62, 67], "defined": 3, "interact": [3, 6, 10, 13, 17, 24, 25, 32, 33, 37, 38, 40, 42, 43, 52, 59, 65, 66, 67, 71, 75, 76, 77], "denot": [3, 4, 11, 17, 24, 26, 28, 29, 30, 34, 35, 39, 40, 42, 43, 52, 54, 57, 58, 67, 71], "small": [3, 5, 8, 11, 14, 17, 25, 26, 33, 34, 39, 42, 44, 52, 53, 57, 64], "theori": [3, 4, 5, 11, 17, 24, 25, 26, 27, 28, 29, 39, 42, 46, 51, 53, 57, 58, 60, 62, 67, 71, 77], "homogen": [3, 17], "export": [3, 5, 8, 9, 11, 13, 17, 24, 29, 35, 38, 51, 52, 54, 55, 59, 60, 71], "relation_definit": [3, 13, 17, 42, 59], "eq_set": 3, "axiom": [3, 6, 7, 9, 10, 11, 12, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 42, 44, 51, 52, 54, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74], "eq_set_refl": 3, "eq_set_sym": 3, "eq_set_tran": 3, "empty_neutr": 3, "union_compat": 3, "eq_set_rel": 3, "eq_set_rel_rel": 3, "eq_set_rel_reflex": 3, "eq_set_rel_symmetr": 3, "eq_set_rel_transit": 3, "union_mor": 3, "x0": [3, 13, 17, 37, 43, 44, 54, 66, 71], "y0": [3, 13, 43], "No": [3, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 30, 34, 35, 36, 40, 42, 44, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74], "qed": [3, 5, 6, 8, 9, 12, 13, 14, 17, 24, 29, 32, 34, 36, 38, 40, 42, 51, 52, 54, 57, 58, 59, 60, 62, 64, 66, 67, 72], "reduc": [3, 7, 8, 10, 11, 12, 13, 17, 24, 26, 31, 32, 34, 36, 37, 40, 41, 44, 51, 53, 57, 58, 59, 60, 64, 66, 67, 71], "burden": [3, 63], "maxim": [3, 13, 17, 25, 41, 51, 57, 71, 77], "insert": [3, 4, 9, 12, 13, 17, 24, 25, 29, 41, 46, 52, 53, 55, 57, 66, 71, 75], "write": [3, 4, 8, 11, 13, 14, 17, 24, 25, 26, 27, 29, 31, 32, 33, 34, 38, 39, 43, 51, 53, 54, 55, 57, 58, 59, 63, 66, 67, 71, 73, 75], "proce": [3, 11, 13, 52, 57, 71], "simpl": [3, 4, 10, 11, 17, 24, 25, 29, 37, 41, 42, 43, 46, 52, 53, 54, 57, 58, 59, 60, 62, 67, 72], "step": [3, 5, 7, 11, 13, 17, 24, 25, 26, 29, 41, 51, 52, 53, 54, 58, 60, 64, 65, 67], "applic": [3, 5, 10, 11, 13, 14, 17, 24, 25, 26, 29, 30, 35, 36, 37, 41, 46, 52, 55, 57, 59, 60, 64, 66, 67, 71, 72, 77], "establish": [3, 17, 57], "intro": [3, 5, 11, 12, 13, 17, 24, 25, 34, 42, 43, 44, 52, 54, 55, 60, 62, 64, 66, 67, 71, 72], "manag": [3, 13, 17, 24, 25, 32, 38, 51, 53, 57, 59, 60, 62, 73], "hypothes": [3, 5, 9, 13, 17, 24, 25, 28, 32, 34, 51, 57, 60, 62, 64, 67, 71], "One": [3, 8, 9, 13, 14, 17, 25, 31, 32, 34, 37, 38, 39, 44, 51, 53, 54, 55, 59, 60, 64, 66, 67, 71, 75], "cmd": [3, 17, 38, 51, 52, 54], "exist": [3, 4, 5, 9, 11, 13, 14, 17, 25, 26, 27, 28, 29, 31, 32, 34, 36, 37, 39, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74], "outsid": [3, 5, 9, 11, 12, 13, 14, 17, 28, 29, 35, 38, 40, 41, 42, 43, 53, 54, 59, 60, 66, 71], "suffix": [3, 17, 35, 51, 52, 53, 54, 57, 59, 71, 75], "_morphism": 3, "modifi": [3, 4, 8, 11, 13, 14, 17, 24, 25, 29, 36, 38, 41, 51, 52, 54, 55, 57, 58, 64, 66, 67, 71], "themselv": [3, 13, 14, 17, 26, 35, 37, 39, 41, 42, 53, 57, 59, 64, 71], "exploit": [3, 17, 24, 57, 67], "monotoni": 3, "hand": [3, 10, 12, 13, 17, 25, 27, 29, 33, 35, 52, 53, 54, 55, 57, 58, 64, 67, 71, 72], "partial": [3, 13, 17, 24, 34, 35, 37, 44, 51, 53, 54, 57, 59, 62, 66, 71, 72], "domain": [3, 5, 11, 14, 17, 24, 25, 26, 34, 42, 61, 64, 71], "compris": [3, 24], "eqo": 3, "smallest": [3, 5, 27, 34, 67], "nonzero": [3, 11, 37, 54], "eq0": 3, "open": [3, 5, 6, 11, 13, 17, 25, 27, 35, 36, 38, 50, 52, 54, 55, 57, 59, 60, 64, 66], "addit": [3, 4, 5, 8, 9, 13, 17, 24, 25, 27, 29, 31, 34, 35, 39, 51, 52, 53, 54, 55, 58, 59, 62, 64, 65, 66, 67, 71, 72, 73], "up": [3, 8, 13, 17, 24, 25, 26, 31, 34, 35, 38, 42, 43, 52, 53, 54, 55, 57, 58, 64, 66, 67, 71, 75], "longer": [3, 9, 17, 24, 31, 34, 38, 44, 52, 53, 58, 66, 67, 71], "posit": [3, 4, 5, 7, 9, 10, 11, 14, 17, 24, 25, 30, 36, 37, 39, 41, 44, 46, 51, 52, 54, 55, 57, 58, 59, 64, 66, 67, 71], "z": [3, 5, 7, 11, 13, 14, 17, 24, 26, 27, 28, 29, 34, 35, 37, 40, 41, 42, 43, 44, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71], "lt": [3, 9, 13, 17, 27, 42, 71, 72], "increas": [3, 5, 8, 17, 24, 53, 57, 62], "decreas": [3, 7, 9, 17, 30, 34, 55, 59, 72], "dualli": [3, 44, 57], "hold": [3, 4, 17, 30, 34, 35, 40, 42, 55, 58, 75], "On": [3, 10, 12, 17, 24, 27, 30, 32, 37, 40, 44, 46, 51, 52, 53, 54, 57, 58, 64, 71], "contrari": [3, 4, 9, 13, 17, 30, 40, 44, 57, 67], "messag": [3, 4, 8, 11, 12, 13, 14, 16, 17, 24, 26, 28, 29, 30, 34, 35, 37, 40, 41, 42, 43, 44, 46, 51, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "rewritten": [3, 9, 11, 24, 30, 46, 57, 58, 64], "compos": [3, 4, 34, 44, 57, 67, 71], "propag": [3, 11, 17, 41], "varianc": [3, 17], "annot": [3, 9, 14, 17, 24, 25, 27, 34, 41, 42, 45, 51, 53, 55, 57, 66], "switch": [3, 8, 13, 14, 17, 24, 25, 51, 53, 66], "travers": [3, 17, 57, 58, 67], "detail": [3, 5, 7, 14, 25, 31, 36, 37, 41, 42, 51, 52, 55, 57, 58, 59, 64, 66, 71, 72, 74, 75], "contravariantli": 3, "differ": [3, 4, 9, 11, 13, 14, 15, 17, 24, 25, 26, 29, 31, 34, 35, 37, 38, 41, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 71, 72, 73, 75, 77], "duplic": [3, 11, 17, 43, 57, 67, 71], "multiset_eq": 3, "repeat": [3, 17, 25, 43, 44, 52, 55, 57, 58, 59, 66, 67], "request": [3, 14, 17, 25, 43, 51, 64], "unclear": [3, 10, 54], "analog": [3, 17, 34, 54, 57, 58, 66], "crelat": 3, "cmorphism": [3, 17], "cequival": 3, "rewriterel": [3, 17, 57], "index": [3, 13, 17, 24, 25, 26, 27, 29, 39, 40, 44, 52, 58, 60, 64, 66, 67, 73, 75], "iff": [3, 17, 26, 27, 31, 57, 59, 71], "impl": [3, 5, 59], "flip": [3, 17], "pointwis": 3, "simpli": [3, 4, 11, 13, 14, 17, 24, 31, 39, 54, 55, 57, 59, 62, 67, 71, 75], "machineri": [3, 17, 57], "infer": [3, 4, 9, 10, 13, 14, 24, 25, 26, 34, 37, 40, 41, 42, 45, 46, 51, 57, 58, 60, 62, 67, 71], "face": [3, 17, 75], "situat": [3, 4, 11, 17, 46, 54, 57, 71], "instanti": [3, 10, 13, 14, 17, 24, 34, 35, 43, 44, 54, 55, 57, 58, 60, 62, 67, 71], "discharg": [3, 14, 17, 24, 25, 28, 38, 72], "That": [3, 27, 29, 30, 34, 36, 52, 54, 55, 58, 64, 66], "variou": [3, 16, 17, 24, 25, 28, 29, 34, 44, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 71], "hint": [3, 13, 14, 17, 24, 25, 27, 35, 38, 54, 62, 64, 75], "databas": [3, 13, 17, 25, 54, 57, 62, 64], "refl": [3, 17], "sym": [3, 17, 44], "tran": [3, 17], "id": [3, 4, 9, 10, 14, 17, 24, 26, 34, 35, 42, 44, 51, 52, 53, 54, 55, 57, 58, 64, 66, 71, 75], "equivalence_reflex": [3, 59], "equivalence_symmetr": [3, 59], "equivalence_transit": 3, "amount": [3, 5, 8, 14, 17, 51, 54, 58], "relationclass": [3, 17, 64], "further": [3, 17, 30, 35, 41, 51, 52, 54, 55, 57, 64, 66, 67, 71], "explan": [3, 13, 37, 45, 51, 58, 59, 67], "encod": [3, 13, 17, 24, 25, 27, 34, 53, 71, 75], "car": 3, "eq_rel": 3, "eq_rel_rel": 3, "eq_rel_reflex": 3, "eq_rel_symmetr": 3, "eq_rel_transit": 3, "x2": [3, 27, 42, 59, 60, 72], "apply_mor": 3, "setoid_": [3, 17], "moreov": [3, 5, 17, 28, 44, 46, 51, 52, 57, 62, 71], "unprefix": 3, "fall": [3, 9, 10, 13, 24, 53], "back": [3, 9, 14, 17, 24, 51, 52, 54, 57, 59, 66, 67], "involv": [3, 4, 9, 12, 17, 24, 25, 26, 34, 41, 42, 51, 52, 53, 54, 57, 59, 60, 62, 64, 67], "pass": [3, 5, 8, 10, 12, 17, 24, 37, 38, 42, 51, 52, 53, 54, 55, 57, 60, 64, 66, 67, 71, 75], "etransit": [3, 17, 43, 64], "one_term_with_bind": [3, 58, 64, 67, 72], "rewrite_occ": [3, 64], "int_or_var": [3, 54, 66, 71], "ltac_expr3": [3, 29, 54, 58, 64, 66], "defaultrel": 3, "By": [3, 4, 5, 11, 12, 13, 14, 17, 29, 37, 44, 46, 51, 53, 54, 55, 57, 60, 64, 66, 67, 71], "recent": [3, 24, 25, 53, 71], "environ": [3, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 28, 30, 31, 32, 34, 35, 38, 42, 43, 52, 53, 55, 57, 60, 62, 64, 66, 67, 71, 72, 75], "simul": [3, 17, 24, 57, 66], "understand": [3, 5, 10, 12, 15, 17, 24, 25, 29, 33, 51, 53, 54, 55, 59, 60], "congruenc": [3, 12, 17, 24, 25, 34, 54, 62, 64, 67], "pack": [3, 42, 53], "slightli": [3, 17, 24, 35, 51, 52, 54, 55, 57, 58, 67], "permut": [3, 17, 25, 55, 57], "bi": 3, "implic": [3, 17, 26, 27, 28, 42, 54, 57, 60, 66, 67, 71], "port": [3, 17, 24, 55, 72], "semant": [3, 11, 13, 14, 17, 24, 25, 26, 29, 35, 36, 39, 41, 44, 53, 54, 57, 58, 71, 77], "limit": [3, 5, 9, 10, 13, 14, 17, 24, 25, 29, 35, 41, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 71, 72], "lift": [3, 12, 14, 17], "were": [3, 11, 13, 17, 24, 34, 35, 36, 38, 42, 44, 51, 53, 54, 55, 59, 60, 66, 71, 72, 75], "discuss": [3, 17, 24, 25, 54], "setoid_rewrit": [3, 17, 24, 60, 64], "head": [3, 10, 13, 14, 17, 24, 26, 30, 35, 41, 42, 44, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71], "constr": [3, 5, 14, 17, 24, 34, 42, 54, 55, 57, 71], "bind": [3, 9, 10, 14, 17, 24, 25, 28, 32, 34, 35, 37, 40, 43, 44, 46, 51, 54, 57, 64, 66, 67, 72], "construct": [3, 4, 5, 8, 9, 10, 11, 13, 14, 17, 25, 27, 28, 29, 30, 31, 33, 35, 41, 42, 43, 46, 52, 53, 55, 57, 58, 62, 63, 64, 65, 66, 67, 71, 77], "ex": [3, 17, 24, 27, 44, 58, 67, 71], "existenti": [3, 6, 9, 10, 13, 17, 24, 25, 26, 34, 41, 45, 54, 58, 59, 60, 64, 66, 67], "morphisms_prop": [3, 17], "all_iff_morph": 3, "pointwise_rel": 3, "simpl_rel": [3, 17], "predic": [3, 9, 17, 24, 25, 26, 27, 30, 34, 40, 42, 54, 60, 64, 77], "onc": [3, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 32, 34, 41, 42, 44, 46, 51, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72], "implicitli": [3, 13, 14, 17, 24, 34, 51, 55, 59, 60, 64], "inde": [3, 4, 11, 12, 13, 14, 17, 25, 26, 29, 30, 34, 35, 40, 41, 42, 43, 44, 46, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72], "surround": [3, 17, 44, 57, 59, 71], "whatev": [3, 44, 64, 75], "map_morph": 3, "eqa": [3, 13], "eqb": [3, 5, 13, 17, 36, 59], "list_equiv": 3, "parameter": [3, 5, 11, 14, 17, 24, 25, 28, 37, 40, 54], "captur": [3, 17, 34, 44, 57, 64, 71], "bound": [3, 5, 6, 7, 10, 14, 17, 24, 25, 26, 28, 31, 32, 34, 39, 41, 42, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 72], "With": [3, 4, 13, 14, 17, 46, 53, 57, 58, 67, 71], "subterm": [3, 9, 10, 11, 17, 24, 25, 31, 34, 41, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72], "almost": [3, 17, 57, 67, 75], "recov": [3, 8, 14, 17, 30, 46, 51, 54, 67], "smaller": [3, 11, 14, 17, 32, 33, 34, 53, 58, 62, 67, 72], "dual": [3, 9, 24, 55], "why": [3, 11, 17, 34, 37, 43, 55], "conjunct": [3, 5, 11, 17, 24, 34, 57, 59, 60, 67, 71], "suffici": [3, 5, 11, 13, 53], "aris": [3, 9, 13, 17, 30, 67, 71], "through": [3, 4, 12, 17, 24, 28, 29, 30, 32, 34, 35, 36, 37, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 72, 73, 74], "prime": [3, 17, 29, 34, 57], "space": [3, 17, 29, 52, 53, 57, 59, 66, 71, 74, 75], "rewrite_strat": [3, 17], "rule": [3, 4, 5, 11, 12, 13, 14, 17, 24, 25, 29, 32, 33, 35, 36, 37, 39, 41, 42, 44, 46, 51, 53, 54, 55, 58, 59, 60, 62, 66, 67, 77], "slow": [3, 11, 17, 53, 54, 55], "down": [3, 14, 24, 25, 45, 51, 52, 54, 55, 57, 59], "wherea": [3, 17, 29, 54, 55, 57, 58, 62, 74], "opaqu": [3, 6, 8, 9, 14, 17, 24, 25, 31, 32, 35, 38, 51, 57, 59, 60, 64, 66, 67, 71, 75], "caus": [3, 8, 12, 14, 17, 32, 51, 52, 53, 54, 55, 57, 58, 59, 63, 64, 66, 71, 75], "miss": [3, 5, 10, 13, 17, 24, 35, 43, 51, 52, 55, 57, 58, 62, 64, 71, 75], "configur": [3, 8, 17, 24, 25, 29, 40, 51, 52, 59, 64, 66, 73], "transpar": [3, 4, 6, 9, 14, 17, 24, 25, 31, 32, 35, 37, 41, 51, 54, 55, 57, 59, 60, 64, 66, 67, 75], "unif": [3, 10, 13, 17, 24, 25, 37, 40, 42, 43, 54, 60, 64, 71], "eauto": [3, 17, 25, 43, 54, 57, 60], "individu": [3, 17, 53, 55, 64, 67, 71], "double_f": 3, "unifi": [3, 12, 13, 14, 17, 34, 41, 42, 43, 54, 57, 58, 64, 66], "assert_succe": [3, 17, 25], "bottomup": 3, "hide": [3, 17, 25, 34, 41, 44, 57, 58, 66, 71], "side": [3, 10, 13, 14, 17, 24, 25, 27, 32, 34, 35, 38, 43, 52, 54, 55, 57, 58, 60, 62, 64, 67, 71], "behind": [3, 4, 17, 28, 34, 57], "assert_fail": [3, 17, 25], "disallow": [3, 12, 14, 17, 37, 51], "substitut": [3, 10, 11, 17, 24, 25, 26, 34, 38, 46, 51, 55, 57, 58, 64, 67, 71], "distinct": [3, 9, 13, 17, 26, 34, 42, 44, 46, 53, 54, 55, 57, 60, 64, 67, 71], "eq_refl": [3, 5, 9, 11, 12, 13, 14, 17, 27, 40, 64, 66, 67, 71], "resolv": [3, 9, 13, 14, 17, 35, 43, 52, 55, 57, 58, 59, 60, 64, 66, 67, 71], "treat": [3, 9, 12, 13, 17, 29, 46, 53, 54, 57, 59, 60, 62, 64, 67, 71, 72], "lot": [3, 11, 17, 24, 52, 55], "tri": [3, 4, 5, 9, 13, 14, 17, 34, 35, 41, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 66, 67], "speed": [3, 13, 17, 24, 34, 64], "abbrevi": [3, 4, 5, 13, 14, 17, 24, 25, 27, 32, 35, 38, 59, 74], "typeclass_inst": [3, 13, 17, 60], "strat": 3, "rewstrategi": [3, 17], "conclus": [3, 11, 13, 17, 24, 28, 34, 54, 55, 57, 58, 60, 64, 66, 67, 71], "noth": [3, 17, 38, 41, 51, 54, 55, 57, 58, 60, 62, 64, 66, 67], "didn": [3, 17, 51, 53], "progress": [3, 17, 24, 25, 51, 52, 55, 60, 66, 77], "succeed": [3, 17, 54, 59, 72], "unabl": [3, 14, 34, 43, 46, 53, 57, 58, 59, 66, 67], "basic": [3, 9, 11, 17, 24, 25, 32, 33, 34, 35, 37, 40, 42, 44, 46, 51, 58, 59, 60, 63, 66, 67, 73], "db": [3, 17], "topdown": 3, "creat": [3, 8, 9, 13, 17, 24, 25, 29, 34, 38, 40, 42, 51, 52, 53, 54, 57, 58, 59, 64, 66, 67, 72, 75], "procedur": [3, 4, 11, 17, 24, 25, 54, 57, 60, 62, 64, 77], "programm": [3, 24, 25, 65], "visser": [3, 77], "et": [3, 24, 77], "al": [3, 57], "lv97": [3, 77], "vbt98": [3, 77], "core": [3, 13, 17, 24, 25, 27, 29, 41, 45, 51, 57, 59, 60, 62, 65, 71], "stratego": [3, 77], "transform": [3, 4, 11, 17, 29, 57, 58, 66, 67, 77], "languag": [3, 9, 11, 14, 26, 29, 36, 37, 39, 40, 41, 46, 53, 54, 63, 64, 65, 66, 74, 75, 77], "vis01": [3, 77], "rewstrategy1": [3, 17], "choic": [3, 17, 27, 34, 51, 52, 55, 62, 71, 75], "rewstrategy0": 3, "eval": [3, 5, 12, 14, 17, 24, 25, 29, 30, 31, 32, 35, 37, 42, 51, 52, 53, 55, 59], "red_expr": [3, 17, 32, 54, 64], "fold": [3, 17, 37, 57], "failur": [3, 8, 13, 14, 17, 24, 25, 46, 53, 55, 57, 59, 60, 62, 64, 71, 77], "catch": [3, 17, 25, 42, 46, 57], "zero": [3, 7, 11, 17, 26, 27, 37, 42, 46, 53, 54, 55, 58, 59, 60, 64], "nest": [3, 9, 17, 24, 25, 29, 32, 35, 38, 40, 54, 57, 58, 59, 64, 66, 71, 75], "andbc": [3, 57], "bottom": [3, 17, 37, 46, 52, 54, 55, 58, 64, 71], "top": [3, 8, 10, 12, 13, 14, 17, 24, 25, 29, 35, 37, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 67, 71, 73, 75], "oper": [3, 5, 9, 10, 11, 14, 17, 24, 25, 27, 32, 34, 36, 51, 52, 54, 55, 57, 60, 64, 66, 67, 71], "texttt": 3, "conceptu": [3, 34], "straightforward": [3, 55], "root": [3, 17, 25, 27, 46, 51], "iter": [3, 5, 13, 17, 25, 26, 28, 30, 71], "consider": [3, 9, 17, 37, 39, 46, 64, 67, 71], "stop": [3, 5, 12, 17, 24, 32, 38, 52, 54, 57, 71], "Their": [3, 17, 32, 34, 39, 55, 57, 59, 71], "mani": [3, 8, 11, 13, 14, 17, 24, 25, 27, 29, 33, 34, 35, 39, 42, 51, 52, 53, 54, 55, 57, 58, 60, 64, 66, 71, 73], "stronger": [3, 12, 17, 34], "interpret": [3, 5, 9, 11, 13, 17, 24, 25, 27, 29, 32, 34, 35, 41, 44, 51, 52, 53, 54, 55, 59, 75], "ssrbool": [3, 17, 57], "ssrmatch": [3, 17, 57], "scope": [3, 5, 11, 17, 24, 25, 27, 29, 32, 36, 38, 43, 45, 52, 54, 55, 57, 59, 60, 64, 66], "bool_scop": [3, 17, 41, 71], "abort": [3, 11, 17, 34, 42, 44, 54, 55, 57, 64, 66, 67], "amokran": [4, 24], "sa\u00efbi": [4, 24], "prover": [4, 5, 15, 17, 24, 26, 29, 31, 33, 52, 55, 59, 65, 73, 75, 76], "power": [4, 5, 11, 17, 24, 54, 57, 67, 71, 72], "our": [4, 5, 7, 11, 17, 24, 34, 35, 54], "determin": [4, 13, 17, 31, 34, 36, 40, 41, 43, 53, 54, 57, 58, 64, 66, 67, 71, 72, 75], "appropri": [4, 13, 14, 17, 29, 53, 55, 57, 59, 62, 64, 66, 67, 75], "sens": [4, 24, 26, 30, 54, 55, 57, 71], "subtyp": [4, 9, 14, 17, 25, 31, 35, 39, 77], "certain": [4, 11, 17, 24, 29, 44, 46, 51, 54, 57, 58, 59, 64, 67, 71], "categori": [4, 8, 13, 17, 35, 51, 59, 61, 74, 75], "biject": [4, 17], "morphism": [4, 11, 17, 25, 59, 71], "famili": [4, 14, 17, 24, 25, 34, 40, 54, 55, 63, 67, 71], "coercion_class": [4, 71], "user": [4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 25, 29, 32, 33, 34, 35, 36, 37, 39, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77], "sortclass": [4, 17, 57, 71], "funclass": [4, 17, 41, 71], "formal": [4, 6, 10, 17, 24, 25, 26, 29, 31, 32, 34, 37, 39, 41, 51, 55, 57, 67, 77], "don": [4, 10, 13, 14, 17, 28, 34, 35, 37, 46, 52, 53, 54, 57, 58, 60, 62, 64, 66], "confus": [4, 10, 13, 17, 24, 26, 29, 34, 44, 46, 52, 55, 57, 71], "target": [4, 11, 17, 25, 51, 58, 71], "x\u2081": 4, "a\u2081": 4, "x\u2096": 4, "a\u2096": 4, "v\u2081": 4, "v\u2099": [4, 55], "u\u2081": 4, "u\u2098": 4, "new": [4, 5, 6, 8, 10, 13, 14, 15, 25, 27, 29, 31, 32, 34, 36, 37, 39, 42, 43, 46, 51, 52, 54, 55, 58, 59, 60, 61, 64, 66, 67, 71, 72, 73, 75, 77], "ignor": [4, 13, 14, 17, 24, 29, 31, 34, 35, 44, 51, 52, 53, 54, 57, 58, 60, 64, 66, 71], "exactli": [4, 10, 11, 13, 17, 26, 27, 34, 40, 42, 44, 46, 51, 52, 54, 55, 57, 59, 66, 67, 71], "uniform": [4, 17, 24, 34, 40, 44, 54, 55], "recommend": [4, 8, 13, 14, 15, 17, 32, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 72, 74, 75], "guarante": [4, 14, 17, 51, 52, 53, 55], "spuriou": [4, 17, 57, 71], "coerc": [4, 41, 57, 60, 64], "t\u2081": 4, "t\u2099": 4, "toward": [4, 17, 53], "intuit": [4, 11, 17, 24, 29, 55, 58, 62], "synthes": [4, 17, 24, 27, 28, 42, 46, 77], "precis": [4, 8, 13, 17, 24, 26, 29, 31, 33, 34, 35, 37, 39, 46, 51, 57, 64, 71], "doesn": [4, 14, 17, 29, 31, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 66, 67, 71, 73], "look": [4, 8, 9, 11, 13, 14, 16, 17, 25, 51, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 72, 75], "incom": [4, 17], "necessarili": [4, 46, 67, 72], "semi": [4, 11, 17], "lattic": 4, "forget": [4, 11, 37, 55, 59, 60, 67], "harder": [4, 17, 58], "There": [4, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 34, 37, 38, 39, 40, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72, 75], "subclass": [4, 10, 13, 27, 39, 42, 59], "oldest": [4, 17], "notat": [4, 5, 9, 10, 11, 14, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 38, 40, 41, 45, 46, 51, 52, 53, 57, 58, 60, 64, 67, 73, 74, 75, 77], "f\u2081": 4, "f\u2096": 4, "ident_decl": [4, 9, 13, 28, 30, 32, 34, 37, 38, 40, 42, 59], "def_bodi": [4, 32, 38, 42], "unspecifi": [4, 14, 17, 43, 55, 62, 67], "ye": [4, 9, 11, 14, 17, 29, 34, 37, 42, 51, 53, 59, 67], "field": [4, 5, 7, 12, 13, 14, 17, 24, 25, 42, 51, 53, 55, 59, 61, 74], "nonuniform": [4, 17], "silenc": [4, 17, 24, 41, 46, 57, 62, 74], "18": [4, 13, 25, 57, 58, 59, 60, 64], "futur": [4, 9, 10, 13, 14, 17, 32, 41, 51, 52, 53, 57, 62, 66, 71, 77], "ambigu": [4, 17, 25, 46, 53, 57, 59, 60, 66, 71], "yield": [4, 11, 17, 24, 31, 46, 54, 55, 58, 67, 71], "f\u2099": 4, "report": [4, 8, 12, 17, 24, 29, 52, 54, 55, 59, 64, 72, 77], "definition": [4, 12, 17, 31, 32, 35, 37, 64], "circular": [4, 17, 57], "assumpt": [4, 10, 17, 24, 25, 26, 32, 33, 34, 35, 36, 44, 51, 52, 53, 54, 58, 59, 60, 66, 67, 77], "induct": [4, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 29, 30, 31, 32, 33, 35, 37, 41, 42, 44, 52, 54, 55, 57, 58, 59, 60, 62, 64, 65, 66, 73, 75, 77], "of_typ": [4, 17, 28], "src": [4, 53], "dest": [4, 17], "x\u2099": [4, 55], "t\u2098": 4, "word": [4, 14, 17, 30, 42, 51, 52, 53, 55, 58, 66], "context": [4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 29, 30, 31, 32, 34, 35, 38, 41, 43, 44, 51, 52, 59, 60, 62, 64, 66, 67, 71], "forc": [4, 8, 11, 17, 24, 34, 42, 44, 52, 53, 54, 57, 60, 64, 66, 67, 71], "updat": [4, 8, 15, 17, 24, 36, 37, 46, 52, 53, 58, 59, 67, 71], "last": [4, 5, 9, 17, 24, 32, 34, 35, 37, 38, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 72], "record_definit": [4, 13, 30, 34, 37], "redefin": [4, 17, 54, 55, 57, 66, 71, 75], "forgotten": 4, "atom": [4, 5, 8, 14, 17, 26, 60, 62, 67, 71], "bool_in_nat": 4, "unset": [4, 5, 12, 14, 17, 24, 25, 34, 35, 37, 38, 42, 44, 46, 51, 54, 55, 57, 59, 66, 67, 71], "none": [4, 5, 13, 17, 24, 27, 34, 40, 42, 46, 51, 54, 55, 57, 66, 71], "remark": [4, 17, 24, 25, 32, 34], "co": [4, 10, 11, 17, 24, 25, 42, 44, 54, 57, 59, 64, 67, 71, 77], "fg": 4, "bij": 4, "ap": [4, 11], "ssort": 4, "sstuff": 4, "s_nat": 4, "compar": [4, 5, 11, 14, 17, 24, 25, 37, 42, 53, 54, 55, 57, 58, 64, 66, 67, 73], "fct": 4, "incr_fct": 4, "fct_of_incr_fct": 4, "illeg": 4, "id_fct_funclass": 4, "reverse_coercion": [4, 17], "reversecoercionsourc": 4, "reversecoerciontarget": 4, "fr\u00e9d\u00e9ric": [5, 17, 57], "besson": [5, 17], "evgeni": [5, 17], "makarov": [5, 17], "mathbb": [5, 7, 17], "lqa": 5, "incomplet": [5, 8, 10, 17, 24, 46, 58, 66, 67, 71], "option": [5, 8, 9, 10, 11, 13, 14, 16, 24, 25, 26, 27, 34, 35, 38, 40, 42, 44, 46, 50, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 71, 74], "john": [5, 77], "harrison": 5, "hol": 5, "light": [5, 17, 24, 52, 66, 75], "driver": 5, "csdp": 5, "gener": [5, 7, 8, 9, 12, 13, 17, 24, 25, 27, 28, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 43, 46, 51, 52, 53, 58, 59, 60, 61, 62, 64, 66, 75, 77], "cach": [5, 12, 17], "rerun": 5, "script": [5, 8, 17, 24, 25, 35, 42, 43, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 73], "info": [5, 17, 54, 60], "dump": [5, 17, 24, 51, 75], "arith": [5, 11, 17, 24, 53, 59, 60, 72], "profil": [5, 17, 25, 53, 59, 64], "statist": [5, 17, 66], "pivot": 5, "detect": [5, 8, 17, 25, 41, 44, 52, 53, 57, 66], "ineffici": [5, 17, 24, 57], "formula": [5, 7, 26, 57, 58, 62, 77], "numer": [5, 11, 17, 24, 27, 29, 59, 71], "subtract": [5, 57], "exponenti": [5, 17, 29], "implb": [5, 17, 27], "negb": [5, 13, 27, 62, 71], "comparison": [5, 14, 17, 24, 42], "gtb": 5, "ltb": [5, 17, 59], "geb": 5, "leb": [5, 9, 17, 57, 59], "rather": [5, 11, 13, 17, 24, 29, 30, 34, 35, 53, 54, 55, 57, 58, 59, 64, 67, 71], "resp": [5, 17, 34, 36, 46, 57], "rang": [5, 17, 26, 29, 52, 55, 58, 71], "r0": [5, 17], "rmult": [5, 11], "rplu": 5, "rminu": 5, "izr": [5, 17, 71], "q2r": [5, 57], "rinv": 5, "decim": [5, 17, 27, 29, 59, 71], "hilbert": [5, 7, 17], "nullstellensatz": [5, 7, 17], "reli": [5, 17, 24, 30, 32, 33, 34, 38, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71], "notion": [5, 11, 17, 24, 25, 26, 27, 33, 34, 46, 51, 54, 55, 58, 64, 71, 77], "cone": [5, 17], "polynomi": [5, 7, 17, 24, 25, 61], "mathit": [5, 26, 34], "under": [5, 9, 11, 17, 25, 32, 40, 44, 46, 52, 53, 54, 55, 59, 64, 66, 67], "dfrac": 5, "quad": 5, "p_1": [5, 7, 34, 35], "p_2": [5, 35], "join": [5, 24], "inequ": [5, 17, 24, 60], "belong": [5, 8, 11, 26, 29, 34, 37, 39, 53, 54, 57, 59, 60, 63, 67, 71, 75], "bigwedge_": 5, "ge": [5, 17, 27], "unsatisfi": [5, 60], "neg": [5, 17, 29, 30, 37, 64, 66, 71], "absurd": [5, 27, 34, 51, 58], "squar": [5, 17, 24, 44, 54, 59, 71, 75], "bigwedge_i": 5, "c_i": [5, 34, 35], "j": [5, 6, 8, 14, 17, 24, 25, 26, 34, 36, 39, 43, 51, 54, 57, 64, 72, 77], "s_i": [5, 7, 34], "p_j": [5, 34], "oracl": 5, "within": [5, 17, 24, 28, 29, 31, 33, 35, 37, 38, 41, 42, 44, 51, 52, 54, 55, 58, 59, 60, 64, 66, 71], "upon": [5, 11, 36, 43, 51], "equat": [5, 6, 14, 17, 24, 25, 27, 34, 40, 42, 46, 53, 55, 58, 60, 61, 64, 67, 72], "explor": [5, 17, 59], "subset": [5, 9, 17, 24, 25, 34, 39, 44, 55, 57, 58, 66, 71, 77], "lincon": 5, "sum_": [5, 7, 57], "alpha_p": 5, "deduct": [5, 24, 57], "overlap": [5, 17, 42, 46, 53, 57, 59, 66], "xlra": 5, "ltac_expr": [5, 9, 11, 29, 54, 55, 60, 62, 64, 66, 71], "wlra": 5, "advanc": [5, 17, 25, 33, 34, 42, 53, 54, 58, 64, 71, 74], "coq_micromega": 5, "mli": [5, 17, 53], "decid": [5, 8, 11, 17, 24, 25, 29, 34, 51, 53, 55, 57, 60, 71], "mathtt": 5, "remedi": [5, 17], "weak": [5, 17, 25, 27, 35, 55, 64, 67, 71], "account": [5, 9, 13, 14, 17, 24, 26, 34, 37, 41, 44, 54, 57, 60, 67, 71], "discret": 5, "round": [5, 17, 53], "ceil": 5, "rightarrow": [5, 7, 26, 75], "lceil": 5, "rceil": 5, "deduc": [5, 17, 44, 51, 57, 58, 67], "lfloor": 5, "rfloor": 5, "conclud": [5, 13, 17, 34, 54, 57, 64, 67], "exhibit": 5, "equiv": [5, 34, 39], "enumer": [5, 17, 34, 40], "c_1": [5, 26, 34, 35], "c_2": 5, "bigvee_": 5, "subgoal": [5, 11, 13, 17, 24, 25, 54, 57, 58, 60, 62, 64, 67], "enrich": [5, 17, 24, 26, 27, 67], "xlia": 5, "wlia": 5, "experiment": [5, 10, 12, 14, 17, 24, 51, 53, 54, 62, 66, 67, 71, 72], "monomi": [5, 11], "e_1": [5, 35], "e_2": [5, 35], "xnra": 5, "wnra": 5, "xnia": 5, "wnia": 5, "nat_or_var": [5, 13, 17, 54, 58, 60, 67], "degre": [5, 73], "provabl": [5, 11, 17, 34, 39, 57, 58, 66], "eventu": [5, 17, 34, 42, 43, 52, 54, 55, 57, 58, 60, 66], "approxim": [5, 12, 14, 17, 60], "optim": [5, 9, 17, 24, 25, 36, 58, 64, 66, 77], "techniqu": [5, 9, 30, 42, 57, 59, 62, 67], "illustr": [5, 17, 34, 46, 57, 60, 64], "zarith": [5, 11, 17, 24, 29, 53, 60], "z_scope": [5, 11, 17, 71], "shown": [5, 9, 13, 14, 17, 27, 29, 31, 34, 37, 38, 42, 43, 51, 52, 53, 54, 57, 58, 59, 60, 66, 71, 75], "xso": 5, "xpsatz": 5, "wso": 5, "wpsatz": 5, "zifybool": [5, 17], "zifycomparison": 5, "unsign": [5, 17, 36], "63": [5, 17, 29, 36, 71], "zifyuint63": 5, "sign": [5, 8, 11, 17, 29, 36, 46, 52, 53, 60], "zifysint63": 5, "pow": [5, 17, 59], "zifynat": [5, 17], "zifyn": [5, 17], "rebind": [5, 17, 52], "zify_pre_hook": [5, 17], "zify_post_hook": [5, 17], "divid": [5, 15, 17, 24, 58], "ltac": [5, 13, 24, 25, 35, 38, 43, 52, 53, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 77], "divide_to_equ": 5, "div_mod_to_equ": [5, 17], "rem": [5, 17], "quot_rem_to_equ": [5, 17], "to_euclidean_division_equ": [5, 17], "zify_convert_to_euclidean_division_equations_flag": 5, "pose": [5, 17, 24, 34, 54, 55, 57, 58, 67], "characterist": 5, "euclidean_division_equations_cleanup": [5, 17], "imposs": [5, 17, 34, 46, 53, 58, 67], "presuppos": [5, 75], "euclidean_division_equations_find_duplicate_quoti": 5, "q1": [5, 10, 13, 46, 57], "q2": [5, 10, 57], "relat": [5, 6, 7, 9, 10, 11, 13, 14, 17, 24, 25, 26, 27, 31, 34, 35, 40, 41, 42, 44, 51, 52, 53, 57, 58, 59, 60, 64, 67, 71, 72, 75], "zifyclass": [5, 17, 57], "zifyinst": 5, "add_zifi": 5, "injtyp": [5, 17], "binop": 5, "unop": 5, "cstop": 5, "binrel": 5, "unopspec": [5, 17], "binopspec": [5, 17], "propop": 5, "propbinop": 5, "propuop": 5, "satur": [5, 17], "show_zifi": 5, "spec": [5, 17], "elim": [5, 17, 24, 25, 54, 58, 67], "op": [5, 42, 44, 53, 57, 66, 71], "qarith": [5, 17], "q_scope": [5, 71], "micromega_cor": [5, 11, 29, 54, 55, 57, 60], "example_lra": 5, "hood": [5, 17], "curiou": 5, "own": [5, 10, 17, 24, 25, 35, 42, 44, 54, 57, 59, 60, 62, 66, 67, 75], "mathemat": [5, 17, 24, 25, 29, 34, 37, 51, 52, 57, 64, 66, 75, 77], "speak": [5, 11], "land": [5, 17, 59, 71], "p_0": 5, "2y": 5, "2x": [5, 11], "ringmicromega": 5, "qmicromega": 5, "envr": 5, "tauto": [5, 17, 24, 34, 54, 62], "__arith": 5, "__x2": 5, "__x1": 5, "__wit": 5, "psatzadd": 5, "psatzin": 5, "psatzmul": 5, "psatzc": 5, "__varmap": 5, "varmap": 5, "elt": 5, "__ff": 5, "isprop": 5, "flh": 5, "peadd": [5, 11], "pex": [5, 11], "pemul": [5, 11], "pec": [5, 11], "fop": 5, "opl": 5, "frh": 5, "tt": [5, 13, 14, 17, 27, 40, 46, 54, 57], "oplt": 5, "qtautochecker_sound": 5, "qtautocheck": 5, "reifi": [5, 17], "stand": [5, 10, 17, 24, 26, 28, 34, 53, 71], "wit": [5, 14, 17, 24, 27, 39, 55, 64], "ff": 5, "bformula": 5, "unfold": [5, 9, 13, 14, 17, 24, 25, 31, 32, 34, 37, 54, 55, 57, 60, 62, 66, 71], "wlra_q": 5, "qwit": 5, "eval_bf": 5, "qeval_formula": 5, "vm_comput": [5, 17, 25, 32, 36, 51, 58], "coin": 5, "variant": [5, 13, 14, 17, 24, 25, 27, 28, 29, 32, 33, 34, 35, 37, 38, 42, 51, 54, 55, 59, 60, 63, 64, 66, 67, 71, 72], "extens": [6, 9, 10, 11, 12, 14, 17, 25, 26, 29, 32, 41, 42, 52, 53, 59, 62, 63], "style": [6, 17, 24, 25, 30, 37, 52, 55, 57, 62, 67], "bird": 6, "meerten": 6, "refin": [6, 13, 14, 17, 24, 27, 30, 32, 34, 35, 38, 43, 46, 52, 54, 55, 57, 58, 66, 71], "open_bind": [6, 28, 58, 64], "suchthat": [6, 17], "ident__i": 6, "shelv": [6, 13, 17, 25, 43, 57, 58, 60], "visibl": [6, 17, 24, 38, 52, 57, 60, 66, 71, 75], "mul_add_distr_l": 6, "focus": [6, 17, 25, 43, 55, 57, 58, 59, 60], "goal0": [6, 43, 58, 66], "rewrit": [6, 11, 14, 17, 24, 25, 33, 34, 35, 52, 54, 55, 58, 59, 60, 61, 77], "nat_scop": [6, 27, 31, 34, 38, 46, 57, 66, 71], "execut": [6, 17, 24, 25, 29, 36, 51, 52, 53, 55, 57, 59, 64, 66, 67, 71], "obsolet": [6, 17, 24, 51, 58], "avoid": [6, 8, 11, 12, 13, 17, 24, 25, 29, 34, 37, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "lo\u00efc": [7, 17, 24], "pottier": [7, 17, 24, 57], "tactic": [7, 8, 9, 10, 13, 16, 25, 26, 29, 30, 31, 32, 33, 34, 35, 38, 40, 41, 46, 51, 52, 53, 59, 62, 65, 66, 73, 75], "altern": [7, 8, 9, 11, 13, 17, 24, 25, 29, 30, 35, 40, 43, 44, 46, 52, 53, 55, 57, 59, 62, 64, 65, 66, 71, 75, 77], "prefer": [7, 17, 25, 34, 51, 53, 57, 58, 59, 62, 66, 71], "nsatztact": [7, 17], "ring": [7, 17, 24, 25, 29, 37, 54, 55, 57, 59, 60, 61, 62, 72], "radicalmax": 7, "strategi": [7, 9, 13, 17, 24, 25, 26, 55, 57, 59, 60, 71, 77], "x_1": [7, 26, 34, 35], "x_n": 7, "q_1": [7, 34], "p_": [7, 34], "q_": 7, "commut": [7, 11, 17, 24, 44, 59], "divisor": [7, 17], "exampl": [7, 8, 9, 13, 24, 25, 32, 36, 45], "setoid": [7, 10, 11, 17, 24, 25, 42, 57], "wedg": 7, "introduct": [7, 13, 17, 24, 30, 34, 62, 67, 71], "buchberg": [7, 24, 77], "gmn": [7, 77], "91": [7, 60, 77], "revers": [7, 15, 17, 25, 34, 41, 57, 58, 60, 66], "lexicograph": [7, 11, 53], "newest": [7, 54, 55], "x_": [7, 34], "i_1": [7, 11, 34, 35], "i_k": [7, 34, 35], "among": [7, 13, 17, 24, 25, 26, 34, 44, 53, 54, 55, 57, 64], "ration": [7, 17, 24, 25, 37, 61, 71], "fraction": [7, 11, 17, 24, 29, 37, 57, 71], "coeffici": [7, 11, 17], "nonconst": 7, "lvar": 7, "especi": [7, 15, 17, 24, 26, 34, 44, 46, 54, 57, 60, 62, 64, 71], "geometri": [7, 24], "algebra": [7, 14, 17, 24, 39, 42, 54, 55, 64, 77], "easi": [7, 11, 13, 17, 27, 46, 52, 53, 60, 67], "p_i": [7, 34], "method": [7, 13, 17, 24, 30, 53, 59, 60, 77], "s_1": [7, 34, 35], "s_": [7, 34], "q_i": [7, 34], "achiev": [7, 11, 13, 17, 24, 54, 57, 71], "gr\u00f6bner": [7, 17], "basi": [7, 17, 52, 59], "ideal": 7, "reific": [7, 17, 64], "enrico": [8, 17, 42, 57, 77], "tassi": [8, 17, 42, 57, 77], "explain": [8, 13, 17, 24, 29, 42, 51, 52, 57, 60, 71, 72, 74], "reactiv": [8, 17, 59], "coqid": [8, 25, 35, 51, 53, 54, 66, 76], "advantag": [8, 17, 24, 46, 51, 53, 57, 62, 64, 67], "batch": [8, 17, 25, 54, 66], "decoupl": [8, 17], "statement": [8, 9, 17, 24, 28, 32, 33, 41, 42, 44, 51, 57, 58, 59, 64, 66, 67, 71], "huge": [8, 11, 17, 54, 57, 66], "character": [8, 17, 34, 40, 42], "long": [8, 14, 17, 25, 30, 51, 52, 53, 58, 59, 67, 71], "benefici": 8, "short": [8, 14, 17, 24, 25, 31, 35, 36, 38, 51, 53, 55, 57, 59, 64, 75], "technic": [8, 17, 27, 34, 44, 51, 57, 77], "unsuit": 8, "kernel": [8, 9, 10, 12, 24, 25, 29, 32, 33, 36, 37, 38, 41, 45, 46, 53, 55, 58, 59, 64, 66], "late": [8, 17, 24, 25, 64], "At": [8, 11, 14, 24, 26, 27, 33, 34, 42, 51, 52, 54, 55, 57, 59, 60, 71, 74], "admit": [8, 9, 13, 17, 30, 32, 37, 42, 46, 51, 52, 57, 66], "window": [8, 17, 24, 51, 52, 53], "stabl": [8, 17, 24, 53], "quantifi": [8, 14, 17, 24, 25, 26, 28, 34, 39, 44, 57, 58, 62, 67], "enter": [8, 17, 25, 30, 32, 34, 35, 38, 44, 46, 52, 54, 55, 59, 60, 71], "exit": [8, 17, 25, 30, 32, 34, 38, 51, 52, 54, 59, 60, 75], "presenc": [8, 17, 24, 34, 44, 46, 57, 64, 72], "strictli": [8, 11, 14, 17, 41, 57, 71], "did": [8, 11, 17, 26, 29, 57, 58, 59, 66, 67], "auxiliari": [8, 17, 53, 54, 57, 66], "along": [8, 17, 24, 34, 53, 57, 58, 66, 74], "vo": [8, 17, 24, 25, 53, 59], "pff": 8, "2372": 8, "precisionnotzero": 8, "ftorradix": 8, "pgivesbound": 8, "radix": [8, 66], "radixmorethanon": 8, "radixmorethanzero": 8, "minim": [8, 17, 24, 25, 34, 51, 53, 57, 67], "unnecessari": [8, 17, 57, 62, 66], "unneed": [8, 17, 58], "extra": [8, 9, 17, 24, 25, 30, 34, 41, 42, 46, 53, 54, 57, 62, 64, 66, 71, 75], "attempt": [8, 14, 17, 24, 41, 52, 54, 66], "save": [8, 11, 17, 25, 35, 51, 53, 57, 66], "earlier": [8, 17, 53, 54], "accordingli": [8, 17, 40], "bail": 8, "out": [8, 17, 24, 29, 42, 52, 53, 54, 57, 58, 59, 60, 66, 71, 75], "confin": 8, "indent": [8, 17, 25, 66, 71, 75], "four": [8, 17, 25, 34, 52, 54, 55, 57, 71], "api": [8, 17, 25, 59, 63], "curli": [8, 25, 44, 59, 71], "delimit": [8, 17, 33, 35, 41, 44, 59, 66, 71, 75], "par": [8, 17, 52, 54], "selector": [8, 17, 25, 43, 53, 58, 59, 64, 66], "bullet": [8, 17, 25, 34, 59, 67], "level": [8, 13, 14, 17, 24, 25, 26, 27, 31, 35, 36, 37, 41, 42, 46, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71, 72, 73, 75], "subsequ": [8, 14, 17, 29, 37, 38, 51, 54, 55, 58, 59, 66, 67, 71], "bogu": 8, "async": [8, 17, 52, 54], "recoveri": [8, 17, 52], "select": [8, 13, 17, 25, 35, 37, 41, 42, 52, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 75, 77], "activ": [8, 9, 14, 17, 24, 25, 29, 32, 35, 37, 42, 43, 44, 46, 52, 53, 54, 59, 60, 64, 66, 71], "blocktyp": 8, "vscoq": [8, 17, 51, 53, 66], "master": [8, 17, 52, 53, 77], "feedback": [8, 17], "soon": [8, 9, 17, 24, 42, 52, 54, 57], "skip": [8, 17, 41, 42, 46, 51, 53, 54, 57, 58, 64, 66, 67], "deleg": [8, 17, 25, 29], "job": [8, 52, 53, 54, 57], "panel": [8, 17, 52, 66], "statu": [8, 12, 13, 14, 17, 51, 52, 53, 54, 57, 71], "red": [8, 17, 51, 52, 54, 64, 66], "button": [8, 17, 24, 52], "jump": [8, 17, 52, 57], "color": [8, 17, 25, 51, 52, 66, 75], "lighter": [8, 13], "lazili": [8, 17, 30, 54], "finish": [8, 13, 17, 29, 46, 54, 60, 64, 66, 67], "click": [8, 17, 52], "gear": [8, 52], "workmgr": 8, "util": [8, 17, 42, 51, 53, 57], "maximum": [8, 13, 17, 46, 60, 62, 64, 66], "background": [8, 17, 31, 51, 52, 54, 66], "assign": [8, 13, 17, 25, 27, 29, 43, 51, 52, 53, 54, 55, 58, 66, 71], "rocqworkmgr_socket": 8, "localhost": 8, "45634": 8, "shell": [8, 51, 53, 57, 59, 75], "bash": [8, 17, 52], "memori": [8, 11, 17, 24, 25, 29, 51, 53], "consumpt": [8, 17, 54, 55], "too": [8, 9, 11, 17, 54, 55, 57, 58, 67, 71], "littl": [8, 9, 11, 14, 17, 35, 57, 64], "threshold": [8, 17, 64, 71], "03": [8, 17, 53], "skeleton": 9, "rich": [9, 17, 57, 73], "soz07": [9, 77], "thought": [9, 26, 29, 63], "extract": [9, 25, 26, 27, 29, 34, 36, 51, 53, 57, 59, 71, 72, 73, 77], "regular": [9, 10, 13, 17, 36, 46, 51, 55, 57, 60, 64, 75], "whilst": 9, "desir": [9, 11, 17, 34, 52, 53, 54, 57, 59, 73, 75], "code": [9, 10, 11, 12, 17, 24, 25, 29, 33, 36, 51, 52, 53, 54, 55, 57, 59, 60, 63, 64, 71, 72, 73, 74, 75], "apparatu": 9, "pv": [9, 77], "ros98": [9, 77], "constrain": [9, 14, 24, 60, 67], "catherin": 9, "parent": [9, 17, 24, 77], "par95": [9, 77], "had": [9, 13, 17, 24, 42, 53, 54, 55, 66], "maintain": [9, 13, 17, 39, 46, 51, 53, 57, 58, 71], "permit": [9, 17, 24, 25, 34, 37, 38, 53, 54, 55, 58, 60, 64, 66, 67, 71], "coercion": [9, 13, 17, 24, 25, 28, 35, 37, 38, 41, 42, 45, 57, 58, 59, 77], "russel": [9, 17, 24], "process": [9, 11, 14, 17, 24, 25, 26, 30, 32, 35, 41, 42, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 75, 76], "plain": [9, 17, 35, 57, 75], "apart": [9, 13, 31, 35, 55], "proper": [9, 17, 24, 25, 54, 55, 59, 67], "claus": [9, 13, 14, 17, 24, 25, 28, 29, 30, 32, 34, 35, 40, 41, 51, 53, 54, 55, 57, 59, 60, 62, 64, 67, 71, 72], "disequ": [9, 60], "intersect": 9, "div2": [9, 17, 72], "coercibl": [9, 57], "deactiv": [9, 17, 24, 25, 46, 59], "mode": [9, 13, 14, 17, 24, 25, 29, 30, 32, 34, 38, 41, 46, 54, 58, 59, 60, 65, 75], "typecheck": [9, 17, 41, 51, 55, 58, 59, 64, 66], "act": [9, 17, 37, 46, 52, 54, 55, 67], "unresolv": [9, 13, 17, 57, 58, 60, 64, 67], "hole": [9, 13, 17, 24, 25, 40, 43, 46, 55, 57, 58, 59, 62, 66, 67, 71], "commonli": [9, 14, 17, 27, 40, 53, 54, 55, 57, 58, 66], "legaci": [9, 14, 17, 29, 40, 60, 71, 72], "legacy_attr": [9, 14, 29, 35, 40], "elsewher": [9, 17, 52, 59, 71], "likewis": [9, 17, 55], "reflect": [9, 11, 14, 17, 24, 25, 40, 52, 53, 62, 64, 66, 72, 77], "dec": [9, 24, 46], "sumbool_of_bool": [9, 59], "pred": [9, 17, 27, 54, 57, 59, 60, 64], "tupl": [9, 17, 37, 42, 46, 55, 57, 58], "potenti": [9, 13, 25, 42, 46, 52, 54, 55, 57, 67, 71], "preterm": [9, 17, 55], "aforement": [9, 51], "monomorph": [9, 17, 25, 29], "absenc": [9, 17, 71], "enforc": [9, 12, 14, 17, 26, 32, 34, 44, 55, 57, 58, 66, 71], "mutual": [9, 17, 24, 25, 29, 30, 32, 37, 54, 55, 67, 71, 72], "fixannot": [9, 34, 72], "measur": [9, 17, 34, 54, 72], "div2_obligation_1": 9, "heq_n": 9, "proj1_sig": [9, 17, 46, 57], "div3": 9, "p0": [9, 31, 67, 72], "heq_n0": 9, "wildcard": [9, 13, 25, 28], "program_branch_0": [9, 13], "div2_obligation_2": 9, "program_branch_1": [9, 13], "div2_obligation_3": 9, "well_found": [9, 27], "mr": 9, "recarg": 9, "pars": [9, 17, 25, 27, 29, 41, 42, 46, 51, 54, 57, 59, 60, 74, 75], "explicit": [9, 10, 13, 17, 24, 25, 28, 31, 34, 37, 39, 41, 46, 55, 58, 60, 64, 66, 67, 71], "prototyp": [9, 17, 24], "guarded": [9, 66], "rid": [9, 17, 54, 57], "unsolv": [9, 17, 43, 66], "afterward": [9, 17, 41, 44, 52, 57, 60, 66, 67], "similarli": [9, 10, 13, 14, 17, 26, 28, 36, 38, 42, 44, 46, 52, 53, 54, 55, 57, 62, 64, 71, 75], "persist": [9, 17, 24, 29, 35, 36, 38, 64, 77], "reappli": 9, "addition": [9, 13, 14, 17, 34, 46, 53, 54, 58, 59, 64, 66], "solver": [9, 17, 25, 65], "fed": [9, 17, 55], "program_simpl": 9, "wrap": [9, 12, 13, 17, 36, 38, 53], "reject": [9, 17, 26, 34, 57, 64, 67, 71], "wellfound": [9, 17], "drawback": [9, 17, 67, 71], "underli": [9, 11, 17, 24, 26, 54, 57, 67, 71], "isn": [9, 10, 17, 28, 52, 57, 58, 60, 64, 66, 67], "anymor": [9, 17, 55, 59], "highli": [10, 43, 60, 63], "mistyp": 10, "anomali": [10, 17, 24, 59], "unlik": [10, 13, 17, 24, 30, 39, 52, 54, 55, 57, 58, 59, 60, 64, 67, 71], "pplu": 10, "rewrite_rul": 10, "univ_decl": [10, 14, 28, 35], "rw_pattern": 10, "namespac": [10, 14, 17, 35, 42, 53, 59], "against": [10, 13, 17, 44, 54, 57, 58, 59, 60, 62], "align": [10, 59, 71], "collect": [10, 17, 27, 51, 53, 60, 66, 72], "pplus_rewrit": 10, "rigid": [10, 13, 14, 17, 24, 60, 72], "enough": [10, 11, 14, 17, 34, 44, 57, 58, 67, 71], "discrimine": [10, 12, 46], "furthermor": [10, 17, 24, 25, 26, 29, 31, 33, 34, 51, 52, 55, 57, 63, 66], "grammar": [10, 17, 25, 28, 29, 54, 55, 57, 58, 62, 71], "rw_head_pattern": 10, "elimin": [10, 12, 14, 17, 24, 25, 26, 27, 30, 31, 34, 35, 37, 40, 54, 55, 58, 67, 71, 72, 77], "rw_pattern_arg": 10, "univ_annot": [10, 14, 29, 37], "bear": 10, "raise_nat": 10, "93": [10, 53], "118": 10, "break": [10, 12, 17, 28, 29, 30, 52, 57, 59, 64, 66, 71, 73, 74], "subject": [10, 17, 25, 26, 30, 31, 50, 51, 72], "22": [10, 12, 54, 57], "u0": [10, 14, 46], "sr": 10, "id_rew": 10, "qualiti": [10, 14, 17], "u1": [10, 13, 14, 17, 57], "u2": 10, "superfici": 10, "typed": [10, 55], "entir": [10, 13, 17, 24, 25, 31, 33, 34, 41, 44, 52, 53, 57, 60, 64, 66, 71], "neither": [10, 14, 17, 46, 54, 55, 57, 64, 67], "nor": [10, 11, 17, 26, 34, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 67, 71], "plan": [10, 17, 25, 53, 55, 72], "triangl": [10, 52], "criterion": [10, 17, 33, 34, 60], "ctw21": [10, 77], "expans": [10, 12, 13, 17, 25, 34, 53, 55, 57, 64, 71], "contract": [10, 17, 24, 31, 34, 54, 62, 71, 77], "integr": [10, 11, 17, 24, 25, 51, 52, 57, 61, 73], "upper": [10, 14, 17, 39, 44, 52], "layer": [10, 17, 25], "notabl": [10, 17, 24, 37, 51, 55, 57, 64, 67], "machin": [10, 17, 24, 25, 32, 36, 51, 54, 55, 64], "cbn": [10, 17, 41, 64], "cbv": [10, 14, 17, 24, 31, 57, 64], "manner": [10, 24, 51], "untyp": [10, 17, 25, 55, 71], "vm": [10, 17, 58, 59, 64], "risk": [10, 17, 24, 51, 59, 66], "segfault": [10, 17], "\u03b2\u03b4\u03b9": 11, "rightarrow_": [11, 37], "delta": [11, 17, 24, 32, 35, 37, 55, 64], "leftarrow_": 11, "peeval": 11, "pphi_dev": 11, "norm": 11, "bruno": [11, 17, 24], "barra": [11, 17, 24], "benjamin": [11, 17, 77], "gr\u00e9goir": [11, 17], "assia": [11, 17, 42, 57, 77], "mahboubi": [11, 17, 42, 57, 77], "laurent": [11, 17, 24], "th\u00e9ry": [11, 17, 24], "dedic": [11, 17, 24, 29, 36, 55, 57], "semir": [11, 17], "oplu": 11, "otim": 11, "distribut": [11, 17, 24, 25, 50, 73, 75], "uniti": 11, "v_0": 11, "v_1": [11, 31], "dot": [11, 14, 17, 24, 35, 37, 52, 59, 71], "v_": [11, 26], "i_n": [11, 57], "i_2": [11, 57], "sum": [11, 17, 24, 27, 35, 38, 40, 55, 62, 67, 71], "yx": 11, "25": [11, 44], "zx": 11, "28x": 11, "24": [11, 17, 44, 53, 77], "xz": 11, "xxy": 11, "yz": 11, "zy": 11, "frequent": [11, 17, 25, 53, 57, 66, 67, 71], "rare": [11, 17, 66], "gallina": [11, 17, 25, 41, 66, 75], "mult": [11, 17, 24, 26, 27, 57], "mapsto": 11, "v_2": 11, "paragraph": [11, 27, 35, 40, 57, 75], "polynom": 11, "common": [11, 14, 17, 25, 26, 27, 29, 31, 32, 34, 42, 55, 57, 60, 67, 71, 74], "predefin": [11, 24, 25, 51, 52, 66], "arithr": 11, "zarithr": 11, "narithr": [11, 17], "narith": [11, 17], "zifi": [11, 17, 25, 29, 54, 55, 57, 60], "micromega": [11, 17, 25, 29, 54, 55, 57, 60, 61, 66], "btauto": [11, 17, 29, 57, 62], "30": [11, 17, 24, 27, 71], "Not": [11, 17, 32, 44, 51, 52, 54, 55, 58, 64, 67, 72, 75, 77], "ring_simplifi": [11, 17], "invok": [11, 17, 34, 51, 53, 60, 66, 67, 75], "lookup": 11, "ltac_expr0": [11, 54], "protect": [11, 17, 30, 57], "fv": 11, "ring_theori": 11, "semi_ring_theori": 11, "mk_rt": 11, "radd_0_l": 11, "radd_sym": 11, "radd_assoc": 11, "rmul_1_l": 11, "rmul_sym": 11, "rmul_assoc": 11, "rdistr_l": 11, "rsub_def": 11, "ropp_def": 11, "mk_srt": 11, "sradd_0_l": 11, "sradd_sym": 11, "sradd_assoc": 11, "srmul_1_l": 11, "srmul_0_l": 11, "srmul_sym": 11, "srmul_assoc": 11, "srdistr_l": 11, "surject": [11, 37], "ring_morph": 11, "mkmorph": 11, "morph0": 11, "morph1": 11, "ci": [11, 17, 53, 57, 73], "morph_add": 11, "morph_sub": 11, "morph_mul": 11, "morph_opp": 11, "morph_eq": 11, "semi_morph": 11, "mkrmorph": 11, "smorph0": 11, "smorph1": 11, "smorph_add": 11, "smorph_mul": 11, "smorph_eq": 11, "c0": [11, 59], "cpow": 11, "cp_phi": 11, "rpow": 11, "power_theori": 11, "mkpow_th": 11, "rpow_pow_n": 11, "pow_n": 11, "ring_mod": 11, "preprocess": [11, 17], "postprocess": 11, "tailor": 11, "setoid_theori": [11, 17], "ring_eq_ext": 11, "sring_eq_ext": 11, "initialr": 11, "notconst": 11, "nontrivi": [11, 17, 46, 51, 57], "preliminari": 11, "better": [11, 14, 17, 24, 51, 52, 53, 57, 59, 60, 64, 67, 71, 72], "undo": [11, 17, 52, 54, 58, 59, 66], "preprocessor": [11, 24], "expon": [11, 17, 29, 71], "realfield": 11, "minu": [11, 17, 29, 41, 72], "get_sign": 11, "euclidean": [11, 17, 24, 25, 57], "div_theori": 11, "7x": 11, "good": [11, 17, 53, 54, 55, 57, 66], "philosoph": 11, "calculu": [11, 14, 17, 24, 25, 27, 29, 31, 33, 34, 35, 37, 46, 54, 57, 58, 62, 64, 66, 67, 71, 77], "strongli": [11, 15, 17, 34, 35, 44, 53, 54, 57, 59], "advis": [11, 17, 24, 25, 28, 29, 30, 54, 60], "ring_polynom": 11, "pexpr": 11, "pesub": 11, "peopp": 11, "pepow": 11, "pol": 11, "pc": 11, "pinj": 11, "px": [11, 24, 57], "v_i": [11, 31], "big": [11, 14, 17, 57, 59, 71], "pphi_dev_ok": 11, "pe": 11, "npe": 11, "piec": [11, 42, 43, 53, 55, 57], "summar": [11, 51, 57, 66], "diagram": 11, "chosen": [11, 34, 54, 55, 57, 58, 66, 71], "denomin": [11, 17, 37, 71], "neq": 11, "broken": [11, 17, 71], "proven": [11, 17, 52, 58, 64, 66, 67], "rbase": [11, 17, 24], "qcanon": 11, "r_scope": [11, 71], "auto": [11, 13, 14, 17, 24, 29, 34, 41, 44, 51, 52, 54, 57, 58, 59, 60, 62, 66, 67, 72], "h1": [11, 17, 34, 43, 54, 55, 57, 58, 62, 66, 67], "f_1": [11, 34], "f_2": [11, 34], "n_1": [11, 26], "d_1": 11, "n_2": 11, "d_2": 11, "cancel": [11, 38, 41, 57, 66], "field_theori": 11, "semi_field_theori": 11, "semifield": 11, "mk_field": 11, "f_r": 11, "ro": 11, "ri": [11, 17, 51], "radd": 11, "rmul": 11, "rsub": 11, "ropp": 11, "req": 11, "f_1_neq_0": 11, "fdiv_def": 11, "finv_l": 11, "mk_sfield": 11, "sf_sr": 11, "sf_1_neq_0": 11, "sfdiv_def": 11, "sfinv_l": 11, "mk_linear": 11, "num": [11, 17], "denum": 11, "field_mod": 11, "samuel": [11, 17, 24], "boutin": [11, 24, 77], "acdsimpl": 11, "zmult_comm": 11, "eq_ind_r": [11, 27], "z0": [11, 17, 71], "mul_comm": [11, 59], "hundr": [11, 64], "rewrot": [11, 17], "bou97": [11, 77], "later": [11, 17, 25, 31, 32, 43, 44, 50, 53, 55, 57, 58, 66, 67, 71], "patrick": [11, 24], "loiseleur": [11, 24], "interleav": [11, 17, 58], "he": [11, 17, 24, 57], "wrote": [11, 17, 24], "larg": [11, 14, 17, 25, 26, 29, 34, 35, 39, 52, 53, 54, 57, 61, 64, 66, 67, 71, 75], "motiv": [11, 17, 55, 57, 77], "34": [11, 53, 71, 77], "12": [11, 25, 29, 53, 54, 57, 58, 60, 71], "46": [11, 77], "ominu": 11, "v_3": 11, "far": [11, 24, 46, 52, 57, 66, 71], "faster": [11, 17, 24, 51, 58, 59, 62, 64], "free": [11, 17, 24, 26, 34, 44, 52, 54, 55, 57, 58, 62, 64, 71, 75, 77], "difficult": [11, 17, 29, 55, 72], "ultim": 11, "answer": [11, 46, 53], "intens": [11, 17, 24, 64], "classic": [11, 17, 24, 25, 34, 51, 55, 57, 66], "tautologi": [11, 17, 24, 54, 62], "backtrack": [11, 13, 17, 24, 25, 52, 58, 60, 67], "clearli": [11, 24, 71, 74], "significantli": [11, 17, 24, 57, 66], "idea": [11, 17, 34, 42, 54], "suggest": [11, 17, 24, 25, 34, 51, 52, 53, 57, 66], "werner": [11, 17, 24, 77], "coupl": [11, 17, 46, 53, 57, 75], "tool": [11, 14, 25, 29, 51, 52, 53, 54, 57, 59, 66, 71, 72, 75, 77], "model": [11, 17, 24, 57, 77], "trace": [11, 13, 17, 25, 32, 51, 53, 57, 58, 59], "replai": [11, 57], "footnot": [11, 38, 57, 71], "bytecod": [12, 17, 59, 64], "gcst19": [12, 39, 77], "strictprop": [12, 17], "startup": [12, 51, 53, 60], "purpos": [12, 14, 17, 24, 27, 34, 35, 42, 51, 52, 54, 55, 57, 64, 66, 67, 71], "hx": [12, 57, 58], "\u03b7": [12, 17, 25, 30], "tractabl": 12, "cumul": [12, 13, 17, 24, 25, 26, 29, 30, 31, 34, 37, 40, 71], "forbidden": [12, 17, 24, 25], "relev": [12, 17, 24, 28, 30, 32, 34, 40, 46, 51, 53, 54, 57, 58, 64, 66, 71], "world": [12, 17, 24, 55, 57, 77], "escap": [12, 17, 25, 51, 53, 71], "box": [12, 17, 29, 54, 71], "box_rect": 12, "box_ind": 12, "box_rec": 12, "box_sind": 12, "box_irrelev": 12, "squash": [12, 14, 17], "isquash": 12, "isquash_sind": 12, "Or": [12, 17, 41, 53, 58, 71], "sempti": 12, "sempty_rect": 12, "sempty_ind": 12, "sempty_rec": 12, "sempty_sind": 12, "foo_sind": 12, "foo_ind": [12, 17, 57], "sprod": 12, "sfst": 12, "ssnd": 12, "extension": [12, 17, 27, 30, 57], "rbox": 12, "runbox": 12, "ssig": 12, "spr1": 12, "spr2": 12, "trivial": [12, 13, 14, 17, 34, 46, 53, 54, 55, 57, 58, 60, 66, 67], "sunit": 12, "stt": 12, "sunit_rect": 12, "is_tru": [12, 57], "is_true_eq_tru": 12, "eq_true_is_tru": 12, "seq": [12, 13, 30, 46, 55, 57, 67], "srefl": [12, 46], "seq_rect": [12, 46], "seq_ind": [12, 46], "seq_rec": [12, 46], "seq_sind": [12, 46], "hidden_arrow": 12, "stuck": [12, 13, 17], "Such": [12, 30, 35, 42, 44, 53, 55, 59, 71, 75], "around": [12, 17, 24, 29, 46, 52, 53, 55, 57, 58, 59, 64, 67, 71, 75], "ac19": [12, 77], "all_eq": 12, "transport": [12, 17], "timeout": [12, 17, 25, 59, 64], "infinit": [12, 30, 34, 39], "binder": [12, 13, 17, 24, 25, 30, 32, 34, 37, 38, 40, 52, 54, 55, 58, 59, 63, 64, 67, 75], "bug": [12, 17, 24, 52, 54, 66], "incorrectli": [12, 17, 55], "leav": [12, 13, 17, 32, 35, 52, 54, 57, 58, 59, 60, 64, 66, 67], "silent": [12, 14, 17, 24, 29, 51, 53, 59, 66, 72], "repair": [12, 17], "affect": [12, 17, 24, 29, 34, 41, 44, 46, 53, 54, 55, 57, 59, 60, 64, 66, 71], "programmat": 13, "quick": [13, 17, 24, 27, 54, 57, 66, 74], "paper": [13, 24, 42, 54, 57, 72, 77], "so08": [13, 77], "literatur": [13, 34], "class": [13, 17, 24, 25, 27, 28, 35, 39, 42, 44, 57, 59, 60, 62, 64], "classnam": 13, "p1": [13, 17, 37, 57, 67], "pn": [13, 17, 57], "f1": [13, 17, 41, 51, 57, 71], "fm": 13, "um": [13, 57], "instancenam": 13, "qm": 13, "tm": 13, "pi": [13, 17, 52], "ti": [13, 57], "fi": 13, "rise": [13, 24], "ll": [13, 17, 34, 52, 53], "eqdec": [13, 38, 60], "eqb_leibniz": 13, "unit_eqdec": 13, "member": [13, 42, 55], "oblig": [13, 17, 25, 37, 57, 62, 72], "eq_bool": 13, "discrimin": [13, 17, 24, 54, 57, 58, 59, 60, 62, 64, 66], "richer": [13, 25], "facil": [13, 17, 24, 52, 54, 55, 57, 59], "neqb": 13, "generaliz": [13, 17, 44], "neqb_implicit": 13, "prod_eqb": 13, "ea": 13, "eb": 13, "la": [13, 17, 24, 52, 55, 77], "ra": 13, "lb": 13, "rb": 13, "prod_eqb_obligation_1": 13, "eas": [13, 17, 37, 53, 55, 57, 58, 66], "eqdec_def": 13, "option_eqb": 13, "program_branch_2": 13, "y1": [13, 27, 42, 46, 59], "option_eqb_obligation_1": 13, "option_eqb_obligation_2": 13, "option_eqb_obligation_3": 13, "type_scop": [13, 14, 17, 25, 34, 44, 46, 52, 54, 58, 66, 67], "1182": 13, "1383": 13, "redeclar": [13, 17], "ord": [13, 57], "le_eqb": 13, "compon": [13, 17, 24, 25, 30, 33, 34, 35, 37, 42, 51, 52, 53, 54, 57, 59, 60, 71], "preorder": [13, 57, 59], "preorder_reflex": [13, 59], "preorder_transit": 13, "easili": [13, 17, 53, 57, 72], "useless": [13, 14, 17, 24, 25, 37, 46, 60], "templat": [13, 17, 25, 30, 37, 40, 66], "privat": [13, 14, 17, 25, 29, 30, 34, 37], "queri": [13, 17, 25], "hint_info": [13, 60], "field_val": [13, 37], "prioriti": [13, 17, 37, 46, 52, 57, 59, 66, 71], "one_pattern": [13, 59, 60], "trigger": [13, 17, 25, 29, 44, 54, 55, 57, 60, 71], "bf": [13, 17], "df": [13, 17], "best": [13, 17, 53, 54, 57, 60, 71], "effort": [13, 17, 24, 63, 74], "engin": [13, 17, 24, 33, 43, 55, 57, 58, 64, 77], "multi": [13, 17, 25, 52, 54, 55, 66, 75], "analys": 13, "hintdb": [13, 17, 55, 60], "full": [13, 14, 17, 24, 25, 30, 34, 43, 46, 52, 57, 58, 64, 66, 71, 77], "suspend": [13, 17, 66], "until": [13, 14, 17, 24, 26, 31, 32, 34, 40, 52, 54, 55, 57, 60, 64, 66, 67, 72], "reach": [13, 52, 58], "breadth": 13, "deepen": 13, "best_effort": [13, 17], "couldn": 13, "unbound": [13, 14, 17, 54, 55, 58], "count": [13, 17, 25, 51, 57, 58, 59, 64, 66, 67], "faithfulli": 13, "mimic": [13, 37, 57], "move": [13, 17, 24, 25, 43, 52, 53, 55, 66, 67, 71], "autoappli": [13, 17], "shortcut": [13, 17, 25, 52, 55, 64, 71], "prevent": [13, 17, 29, 34, 41, 42, 51, 53, 54, 57, 64, 71], "releas": [13, 15, 17, 24, 25, 52, 53, 57, 63, 74], "filter": [13, 17, 30, 51, 53, 59, 60], "eta": [13, 17, 25, 31, 37], "expens": [13, 17, 54, 66], "rebuild": [13, 17], "benefit": [13, 17, 51, 57], "invert": [13, 17, 57, 67, 72], "elabor": [13, 14, 17, 25, 33, 37, 41, 44, 45, 51, 55, 58], "stricter": [13, 14, 17], "freez": 13, "verbos": [13, 17, 42, 51, 59], "successfulli": [13, 51, 52, 54, 57, 62, 63], "reus": [14, 17, 41, 57, 58, 59, 63, 64, 66], "sometim": [14, 17, 24, 25, 31, 34, 46, 53, 54, 55, 57, 59, 60, 66, 67, 71], "incompat": [14, 24, 25, 34, 41, 46, 57, 59, 66, 71], "self": [14, 17, 54, 55, 67, 71], "selfid": 14, "pident": 14, "167": 14, "176": 14, "selfpid": 14, "monoid": [14, 55], "ourselv": [14, 34], "mon_car": 14, "mon_unit": 14, "mon_op": 14, "build_monoid": 14, "function_scop": [14, 17, 25, 34, 46, 57, 67], "unit_monoid": 14, "greater": [14, 17, 24, 34, 52, 71], "pprod": 14, "max": [14, 17, 24, 39, 46, 54, 59], "ppair": 14, "pfst": 14, "psnd": 14, "40": [14, 17, 27, 41, 71], "core_scop": [14, 71], "cartesian": [14, 54], "monoid_op": 14, "prod_monoid": 14, "monoids_monoid": 14, "live": [14, 17, 51, 55], "coinduct": [14, 17, 25, 26, 32, 33, 34, 37, 40, 46, 54, 59, 67, 71], "attribtu": 14, "list_rect": [14, 34, 41, 44, 46, 57, 67], "list_ind": [14, 34, 41, 44, 46, 57, 67], "list_rec": [14, 34, 41, 44, 46, 57, 67], "list_sind": [14, 34, 41, 44, 46, 57, 67], "invari": [14, 17, 55], "covari": 14, "irrelev": [14, 17, 25, 32, 33, 34, 39, 54, 55, 57, 64, 77], "contravari": 14, "\u03b3": [14, 26, 31, 34, 35, 38, 55], "\u03b2\u03b4\u03b9\u03b6\u03b7": [14, 26, 31, 34, 35], "packtyp": 14, "pk": [14, 57], "1604": 14, "1612": 14, "lower": [14, 17, 25, 52, 54, 55, 57, 60, 64, 71], "monad": [14, 17, 55], "build_monad": 14, "dummy_rect": 14, "dummy_ind": 14, "dummy_rec": 14, "dummy_sind": 14, "2170": 14, "2175": 14, "insuffici": [14, 17, 51], "101": 14, "invariant_rect": 14, "invariant_ind": 14, "invariant_rec": 14, "invariant_sind": 14, "covariant_rect": 14, "covariant_ind": 14, "covariant_rec": 14, "covariant_sind": 14, "irrelevant_rect": 14, "irrelevant_ind": 14, "irrelevant_rec": 14, "irrelevant_sind": 14, "low": [14, 17, 25], "high": [14, 17, 24, 25, 35, 59, 60, 66, 72], "inv_low": 14, "inv_high": 14, "co_low": 14, "co_high": 14, "irr_low": 14, "irr_high": 14, "eq_rect": [14, 17, 27, 34, 40, 67], "eq_ind": [14, 27, 40], "eq_rec": [14, 27, 34, 40], "eq_sind": [14, 27, 40], "inhabit": [14, 29, 31, 32, 34, 37, 40, 43, 46, 51], "fit": [14, 17, 29, 34, 52, 55, 57, 71], "funext_typ": 14, "funext_down": 14, "145": [14, 53], "146": 14, "delai": [14, 17, 25, 40, 64], "flexibl": [14, 17, 55, 58, 64], "discard": [14, 17, 52, 54, 55, 58, 64, 75], "predict": [14, 17, 54, 64], "indistinguish": [14, 37], "accomplish": [14, 57], "cut": [14, 17, 24, 25, 29, 52, 57, 58, 60], "tend": [14, 57], "inclus": [14, 17, 54, 55], "id0": 14, "toset": [14, 17], "collaps": [14, 17, 51], "float": [14, 17, 24, 25, 59, 71], "universe_nam": [14, 39], "univ_level_or_qu": 14, "univ_constraint": 14, "cumul_univ_decl": [14, 34], "undeclar": [14, 17], "wizard": 14, "diagnos": 14, "appar": [14, 17, 51, 54, 57], "subgraph": [14, 17], "debug_univ_nam": 14, "adjust": [14, 17, 38, 71], "kept": [14, 17, 24, 36, 53, 67, 75], "init": [14, 17, 27, 28, 35, 51, 54, 55, 58, 59, 60, 66, 67, 71], "make_b_lt_c": 14, "make_a_le_b": 14, "extrem": [14, 17, 29, 57], "unstabl": [14, 17], "hierarchi": [14, 17, 24, 25, 34, 39, 51], "filenam": [14, 17, 25, 51, 52, 59, 64, 75], "gv": [14, 17], "graphviz": [14, 17], "format": [14, 17, 24, 26, 35, 37, 42, 51, 52, 53, 57, 71, 75], "shadow": [14, 17, 44, 66], "foobar": 14, "155": 14, "4041": 14, "4045": 14, "anonym": [14, 17, 24, 25, 44, 54, 66], "attach": [14, 17, 29, 52, 59, 71, 74], "underscor": [14, 17, 29, 37, 44, 51, 71, 75], "160": 14, "161": 14, "162": [14, 53], "freeli": [14, 57], "mainli": [14, 60, 75], "165": 14, "xxx": 14, "168": 14, "public": [14, 17, 25, 50, 59, 74], "169": [14, 17], "regard": [14, 17, 51, 58], "4305": 14, "4308": 14, "170": 14, "4429": 14, "4432": 14, "174": 14, "baz": [14, 53], "outer": [14, 17, 46, 66], "parser": [14, 17, 24, 29, 53, 57, 71], "regardless": [14, 17, 42, 57, 60, 66], "fof": 14, "idtac": [14, 17, 25, 52, 55, 57, 60, 66, 71, 74], "distinguish": [14, 17, 24, 26, 34, 37, 57, 64, 71], "ground": [14, 17, 54, 62, 71, 75], "uip": [14, 17, 25, 46, 59], "squash_ind": 14, "squash_sind": 14, "squash_prop_rect": 14, "squash_prop_srect": 14, "sigma": [14, 17, 37, 67, 71], "pr1": 14, "pr2": 14, "contrast": [14, 17, 34, 53, 57, 60, 62, 64, 67], "mononorph": 14, "mix": [14, 17, 24, 27, 42, 54, 57, 71], "sensibl": [14, 24], "chronolog": 15, "major": [15, 17, 24, 26, 42, 51, 53, 55, 73, 74], "read": [15, 17, 26, 29, 42, 51, 52, 57, 59, 64, 71, 75], "advic": [15, 17], "upgrad": [15, 17, 25], "quickli": [16, 17, 25, 44], "glossari": [16, 17, 25, 29], "19164": 17, "ga\u00ebtan": 17, "gilbert": [17, 77], "increment": [17, 24, 30, 31, 32, 33, 34, 38, 55, 66], "19250": 17, "19254": 17, "19263": 17, "mari": 17, "p\u00e9drot": 17, "backward": [17, 25, 51, 52, 55, 57, 63, 66, 71], "19262": 17, "guard": [17, 24, 25, 27, 30, 32, 34, 41, 44, 46, 57, 59, 64, 66, 67, 71, 72, 77], "regress": 17, "19671": 17, "19661": 17, "hugo": [17, 24, 46], "herbelin": [17, 24, 46], "18762": 17, "jan": [17, 24, 77], "oliv": 17, "kaiser": 17, "systemat": [17, 24, 44, 55, 57, 64], "univ": 17, "18960": 17, "19092": 17, "18951": 17, "mishandl": 17, "19257": 17, "16906": 17, "19295": 17, "19296": 17, "7913": 17, "19329": 17, "19327": 17, "of_type_inst": [17, 34, 37], "keyword": [17, 24, 25, 28, 29, 32, 37, 40, 46, 55, 57, 64, 71, 75], "changelog": [17, 24], "entri": [17, 24, 25, 28, 29, 37, 51, 52, 53, 54, 55, 67], "former": [17, 29, 30, 57, 75], "19519": 17, "roux": 17, "proj": [17, 24, 54], "lh": [17, 55, 57, 59], "19611": 17, "19773": 17, "10407": 17, "19775": 17, "12417": 17, "evar": [17, 24, 54, 55, 57, 58, 59, 64, 71], "19833": 17, "quentin": 17, "vermand": 17, "syntax_modifi": [17, 71], "19653": 17, "19541": 17, "19673": 17, "19658": 17, "unicod": [17, 25, 75], "19693": 17, "19512": 17, "guillaum": 17, "melquiond": 17, "hnf": [17, 24, 41, 42, 57, 58, 64, 67], "insensit": 17, "prescrib": [17, 57], "exception": [17, 24, 64], "18580": 17, "refold": [17, 64], "destructor": [17, 25, 30, 31, 37], "occasion": [17, 24, 29, 53, 66], "scrupul": 17, "18591": 17, "16040": 17, "19436": 17, "15432": 17, "ncring_tac": 17, "extra_reifi": 17, "matter": [17, 37, 51, 57, 64, 67], "ncring": 17, "19501": 17, "19675": 17, "19668": 17, "lia": [17, 25, 54, 55, 57, 60], "nia": [17, 25], "nra": [17, 25], "19703": 17, "gintuit": 17, "19704": 17, "metavari": [17, 24, 25, 54, 55, 62], "19769": 17, "17314": 17, "19817": 17, "jim": 17, "fehrl": 17, "20004": 17, "20003": 17, "14289": 17, "19032": 17, "benni": 17, "smit": 17, "jason": 17, "gross": 17, "of_int": [17, 36], "uint63": [17, 36], "19197": 17, "19575": 17, "ltac2_quot": [17, 55], "ltac2_delta_reduct": [17, 55], "19589": 17, "19590": 17, "noccur_between": 17, "noccurn": 17, "19614": 17, "occur_between": 17, "occurn": 17, "opposit": [17, 31, 32, 46, 58, 64], "hyp_valu": 17, "19630": 17, "focuss": 17, "19961": 17, "daniil": 17, "iaitskov": 17, "sym_equ": [17, 57], "not_locked_false_eq_tru": 17, "19382": 17, "findlib": [17, 53, 59], "18385": 17, "emilio": 17, "jes\u00fa": 17, "gallego": 17, "aria": 17, "clear": [17, 24, 25, 29, 38, 41, 44, 54, 55, 58, 64, 67, 71], "19216": 17, "eg": [17, 53], "19277": 17, "lsp": [17, 29, 74], "19300": 17, "surviv": [17, 24, 60, 71], "19361": 17, "19360": 17, "19362": 17, "classifi": 17, "19383": 17, "19390": 17, "19473": 17, "19517": 17, "19528": 17, "misord": 17, "19624": 17, "19640": 17, "19678": 17, "colon": [17, 51, 53, 57, 66], "19730": 17, "19768": 17, "19767": 17, "eras": [17, 44, 57, 58, 67, 75], "19808": 17, "19872": 17, "synterp": 17, "schedul": 17, "19981": 17, "19370": 17, "coq_makefil": [17, 24, 52], "makefil": [17, 25, 51, 52, 59], "instal": [17, 25, 35, 51, 52, 64, 66, 72, 73], "cmx": [17, 51], "19841": 17, "coqdep": [17, 53], "19863": 17, "buffer": [17, 25, 35, 53], "restart": [17, 51, 52, 53, 54, 57, 66], "19166": 17, "sylvain": [17, 77], "chiron": 17, "tab": [17, 29, 52, 53], "reorder": [17, 25, 52], "19188": 17, "dialog": [17, 52, 65], "margin": [17, 57], "spin": 17, "19417": 17, "ok": [17, 29, 52, 58], "immedi": [17, 24, 27, 54, 55, 57, 58, 59, 60, 66], "item": [17, 24, 25, 29, 52, 54, 55, 58, 60, 64, 66, 67, 71, 75], "unjustifi": 17, "packag": [17, 24, 25, 35, 42, 51, 52, 59, 67, 73, 75], "who": [17, 24, 54, 57, 59], "19530": 17, "cep": 17, "83": 17, "repositori": [17, 53, 63, 74], "19975": 17, "dune": [17, 25, 51, 59], "19378": 17, "coqc": [17, 24, 53], "prof": [17, 53], "gz": [17, 51, 53], "19428": 17, "coqchk": 17, "bump": 17, "19621": 17, "19834": 17, "xdg": [17, 53], "coqpath": 17, "loadpath": [17, 24, 51, 53, 59], "19842": 17, "host": 17, "virtual": [17, 24, 32, 53, 64], "highlight": [17, 51, 52, 53, 57, 63, 66], "went": [17, 54, 55], "docker": 17, "keeper": 17, "fold_left2": 17, "fold_right2": 17, "ing": [17, 74], "mutabl": 17, "mutat": 17, "some_expr": 17, "smooth": [17, 24, 57], "th\u00e9o": 17, "zimmermann": [17, 77], "ali": 17, "caglayan": 17, "coqbot": 17, "pull": [17, 55], "task": [17, 57, 75], "erik": 17, "martin": [17, 24, 27, 34, 77], "dorel": 17, "date": [17, 24, 53], "cyril": [17, 29], "cohen": 17, "vincent": 17, "laport": 17, "nix": 17, "rudi": 17, "grinberg": 17, "rodolph": 17, "lepigr": 17, "opam": [17, 25, 27, 73], "claret": 17, "karl": 17, "palmskog": 17, "contribut": [17, 25, 53, 71], "websit": [17, 75, 76], "lass": [17, 77], "blaauwbroek": 17, "andrej": 17, "dudenhefn": 17, "andr": 17, "erbsen": 17, "ralf": 17, "jung": 17, "chantal": 17, "keller": 17, "olivi": [17, 24], "yishuai": 17, "li": 17, "ralph": 17, "matth": 17, "pit": 17, "claudel": 17, "rousselin": 17, "michael": 17, "soegtrop": 17, "soukouki": 17, "niel": 17, "van": 17, "der": 17, "weid": 17, "nickolai": 17, "zeldovich": 17, "team": [17, 24], "book": [17, 25], "page": [17, 25, 27, 51, 52, 71, 75], "59": [17, 57], "contributor": 17, "timur": 17, "aminev": 17, "bj\u00f6rn": 17, "brandenburg": 17, "nikolao": 17, "chatzikonstantin": 17, "chluebi": 17, "anton": 17, "danilkin": 17, "louis": 17, "duboi": 17, "de": [17, 24, 31, 33, 59, 77], "prisqu": 17, "d\u00e9n\u00e8": 17, "david": [17, 24, 72, 77], "fissor": 17, "andrea": [17, 77], "florath": 17, "yannick": 17, "forster": 17, "mario": 17, "frank": [17, 77], "georg": [17, 57, 77], "gonthier": [17, 57, 77], "stefan": 17, "haan": 17, "lennart": 17, "jablonka": 17, "evgenii": 17, "kosogorov": 17, "yann": [17, 24], "lerai": 17, "cook": 17, "munch": 17, "maccagnoni": 17, "julien": [17, 72], "puydt": 17, "ramkumar": 17, "ramachandra": 17, "kazuhiko": 17, "sakaguchi": 17, "bernhard": 17, "schommer": 17, "remi": 17, "seassau": 17, "romain": 17, "tetlei": 17, "alexei": 17, "trili": 17, "turner": 17, "yao": 17, "xia": 17, "club": 17, "inria": [17, 24, 25, 27, 53, 75, 77], "fr": [17, 24, 25, 27, 53, 75, 77], "mail": 17, "discours": [17, 52], "forum": 17, "zulip": [17, 52, 54], "chat": 17, "span": 17, "month": 17, "470": 17, "merg": [17, 44], "pr": 17, "113": 17, "toulous": 17, "septemb": [17, 24, 77], "2024": 17, "17986": 17, "grant": 17, "18038": 17, "18973": 17, "offer": [17, 29, 46, 51, 52, 54, 57, 59, 71], "opportun": 17, "codebas": 17, "bewar": [17, 53, 55, 63, 67], "bin": [17, 53], "awk": 17, "startclass": 17, "inclass": 17, "indefclass": 17, "definitionalclass": 17, "18590": 17, "18743": 17, "cofixpoint": [17, 29, 30, 32, 34, 38, 57, 59, 64, 66], "bypass_guard": 17, "clearbodi": [17, 24, 38, 58], "18754": 17, "18834": 17, "13812": 17, "14841": 17, "18873": 17, "3889": 17, "18915": 17, "11766": 17, "11988": 17, "ins": [17, 58, 59], "18921": 17, "5777": 17, "11030": 17, "11586": 17, "18929": 17, "1956": 17, "18958": 17, "18920": 17, "19100": 17, "19099": 17, "reserv": [17, 25, 29, 35, 40, 54, 57, 59], "16329": 17, "16262": 17, "longest": [17, 29, 34, 41, 42, 57, 71, 75], "19149": 17, "postfix": [17, 57, 71], "unusu": 17, "18588": 17, "19049": 17, "correctli": [17, 24, 29, 34, 51, 52, 53, 54], "18445": 17, "18447": 17, "18342": 17, "virtu": 17, "q\u2081": 17, "q\u2082": 17, "minor": [17, 51, 57, 71], "variat": [17, 59, 77], "thereof": 17, "euclidean_division_equations_flag": 17, "default_with": 17, "find_duplicate_quoti": 17, "to_euclidean_division_equations_with": 17, "17934": 17, "opac": [17, 59, 64], "18327": 17, "18281": 17, "convention": [17, 53, 71], "18395": 17, "18909": 17, "coqlib": [17, 53], "19115": 17, "18887": 17, "cutrewrit": 17, "19027": 17, "19006": 17, "undocu": [17, 24, 59], "19129": 17, "destauto": [17, 67], "11537": 17, "19179": 17, "17927": 17, "doubl": [17, 24, 27, 29, 34, 44, 52, 53, 54, 57, 59, 71, 75], "18729": 17, "19060": 17, "13480": 17, "18576": 17, "4056": 17, "18577": 17, "7982": 17, "18601": 17, "unnam": [17, 44, 52, 57, 66, 71], "18616": 17, "17897": 17, "18618": 17, "9086": 17, "18094": 17, "13702": 17, "18463": 17, "18411": 17, "believ": [17, 54, 55], "pleas": [17, 24, 44, 53, 54, 55, 62, 66, 67, 72, 77], "18432": 17, "17477": 17, "18706": 17, "18713": 17, "18940": 17, "pretyp": [17, 51, 55], "open_constr_flag": 17, "mislead": [17, 71], "open_constr": [17, 55, 71], "18765": 17, "fst": [17, 24, 27, 35, 42, 46, 71], "snd": [17, 24, 27, 35, 42, 46, 71], "18370": 17, "ltac1": [17, 25], "of_preterm": 17, "to_preterm": 17, "18551": 17, "of_intro_pattern": 17, "to_intro_pattern": 17, "18558": 17, "unshelv": [17, 43, 66], "18604": 17, "unus": [17, 25, 53, 58, 71], "18641": 17, "numgoal": [17, 25], "18690": 17, "intropattern": [17, 55, 58, 67], "18757": 17, "18764": 17, "18766": 17, "18656": 17, "pretti": [17, 24, 25, 27, 51, 53, 57, 59, 71], "printer": [17, 24, 29, 46, 57, 59, 71], "18988": 17, "18989": 17, "19204": 17, "new_goal": 17, "shelf": [17, 66], "19141": 17, "19138": 17, "18224": 17, "ssrfun": [17, 57], "15121": 17, "18449": 17, "18017": 17, "fun_scop": 17, "18374": 17, "ssrewrit": 17, "19213": 17, "19229": 17, "refman": 17, "closer": [17, 24, 31, 57, 60, 72], "doc": [17, 24, 25, 51, 53, 63, 71, 74, 76, 77], "18705": 17, "focu": [17, 24, 34, 43, 54, 55, 57, 66, 67], "18707": 17, "18351": 17, "18867": 17, "clarifi": [17, 24], "18880": 17, "fragil": [17, 54, 57, 59, 60, 63, 66], "18895": 17, "19016": 17, "3132": 17, "19069": 17, "17403": 17, "18248": 17, "18299": 17, "marker": [17, 59], "18444": 17, "import_categori": [17, 35, 59], "18536": 17, "18725": 17, "18785": 17, "18983": 17, "with_declar": [17, 35], "19144": 17, "18442": 17, "15020": 17, "18458": 17, "18537": 17, "18298": 17, "18662": 17, "18657": 17, "18852": 17, "12948": 17, "scheme_typ": 17, "19017": 17, "10816": 17, "19201": 17, "sigint": 17, "interrupt": [17, 52, 54, 59], "18716": 17, "dir": [17, 51, 53, 75], "redirect": [17, 51, 59, 75], "17392": 17, "8649": 17, "coqdoc": [17, 24, 53, 75], "18527": 17, "18516": 17, "ui": [17, 51], "icon": [17, 52], "18523": 17, "11024": 17, "kei": [17, 25, 41, 42, 55, 57, 59, 64, 66, 71], "navig": [17, 24, 52, 57, 75], "menu": [17, 24, 52, 66], "alt": [17, 52], "maco": [17, 51, 52], "ctrl": [17, 52], "hid": 17, "cursor": [17, 52, 66], "movement": [17, 58], "home": [17, 51, 52, 53], "ve": [17, 52, 53, 66, 67], "edit": [17, 24, 25, 29, 51, 53, 57, 66, 71], "pgup": 17, "pgdn": 17, "18717": 17, "toggleabl": 17, "shift": [17, 52, 57], "f2": [17, 41, 51, 52, 55, 57], "16141": 17, "drag": [17, 24], "18524": 17, "3977": 17, "xml": [17, 24], "protocol": [17, 77], "19040": 17, "18682": 17, "tooltip": [17, 52], "19153": 17, "19152": 17, "app_length": 17, "becam": [17, 24], "length_app": 17, "migrat": 17, "xarg": 17, "sed": 17, "rev_length": 17, "length_rev": 17, "map_length": 17, "length_map": 17, "fold_left_length": 17, "fold_left_s_o": 17, "split_length_l": 17, "length_fst_split": 17, "split_length_r": 17, "length_snd_split": 17, "combine_length": 17, "length_combin": 17, "prod_length": 17, "length_prod": 17, "firstn_length": 17, "length_firstn": 17, "skipn_length": 17, "length_skipn": 17, "seq_length": 17, "length_seq": 17, "concat_length": 17, "length_concat": 17, "flat_map_length": 17, "length_flat_map": 17, "list_power_length": 17, "length_list_pow": 17, "18564": 17, "crelationclass": 17, "ifft": 17, "18910": 17, "ndigit": 17, "ndist": 17, "bytevector": 17, "18936": 17, "zbinari": 17, "natpair": 17, "znatpair": 17, "nbinari": [17, 53], "peanonat": [17, 59], "binnat": [17, 59], "binint": [17, 53], "18500": 17, "natint": 17, "nzproperti": 17, "nzmulord": 17, "nzprop": 17, "nzmulorderprop": 17, "18501": 17, "bool_nat": 17, "18538": 17, "nzdomain": 17, "18539": 17, "zdiveucl": 17, "zeuclid": 17, "18544": 17, "niso": 17, "ndefop": 17, "18668": 17, "bvector": 17, "encourag": [17, 46, 53, 54], "18947": 17, "vector": [17, 46, 67], "awar": [17, 51, 52, 55, 58, 59, 62, 66], "bundl": 17, "intent": [17, 24, 28, 57], "18032": 17, "nodup_app": 17, "nodup_iff_forallordpair": 17, "nodup_map_nodup_forallpair": 17, "nodup_concat": 17, "18172": 17, "haani": 17, "in_iff_nth_error": 17, "nth_error_app": 17, "nth_error_cons_0": 17, "nth_error_cons_succ": 17, "nth_error_rev": 17, "nth_error_firstn": 17, "nth_error_skipn": 17, "hd_error_skipn": 17, "nth_error_seq": 17, "18563": 17, "strong_induction_l": 17, "binary_induct": 17, "even_even": 17, "odd_even": [17, 67], "odd_odd": 17, "even_odd": [17, 67], "b2n_le_1": 17, "testbit_odd_succ": 17, "testbit_even_succ": 17, "testbit_div2": 17, "div2_0": 17, "div2_1": 17, "div2_le_mono": 17, "div2_even": 17, "div2_odd": 17, "le_div2_diag_l": 17, "div2_le_upper_bound": 17, "div2_le_lower_bound": 17, "lt_div2_diag_l": 17, "le_div2": 17, "lt_div2": 17, "div2_decr": 17, "land_even_l": 17, "land_even_r": 17, "land_odd_l": 17, "land_odd_r": 17, "land_even_even": 17, "land_odd_even": 17, "land_even_odd": 17, "land_odd_odd": 17, "land_le_l": 17, "land_le_r": 17, "ldiff_even_l": 17, "ldiff_odd_l": 17, "ldiff_even_r": 17, "ldiff_odd_r": 17, "ldiff_even_even": 17, "ldiff_odd_even": 17, "ldiff_even_odd": 17, "ldiff_odd_odd": 17, "ldiff_le_l": 17, "shiftl_lower_bound": 17, "shiftr_upper_bound": 17, "ones_0": 17, "ones_succ": 17, "pow_lower_bound": 17, "18628": 17, "18818": 17, "18770": 17, "18359": 17, "jesu": 17, "vio": 17, "vio2vo": 17, "18424": 17, "4007": 17, "4013": 17, "4123": 17, "5308": 17, "5223": 17, "6720": 17, "8402": 17, "9637": 17, "11471": 17, "18380": 17, "17808": 17, "memprof": 17, "recompil": [17, 51, 52, 53, 59, 64], "18906": 17, "17760": 17, "stack": [17, 25, 41, 54, 55, 57, 59, 71], "action": [17, 24, 52, 53, 57, 60], "18771": 17, "exposit": 17, "18270": 17, "18212": 17, "wrongli": [17, 46], "17321": 17, "16288": 17, "wrapper": [17, 53, 67, 71, 72], "period": [17, 24, 29, 52, 54, 60, 66, 74], "temporarili": [17, 53, 57, 59, 66, 71], "cpu": [17, 59], "linux": [17, 35, 51, 52, 53, 59, 64], "thierri": [17, 24, 34, 77], "martinez": 17, "awai": [17, 54], "gitlab": 17, "runner": 17, "jaim": 17, "yve": [17, 24, 72], "bertot": [17, 24, 72], "ana": 17, "borg": 17, "tej": [17, 58], "chaje": [17, 58], "corbineau": [17, 24], "courtieu": [17, 24], "kenji": 17, "maillard": 17, "semeria": 17, "arnaud": 17, "spiwack": 17, "trunov": 17, "quarkcool": 17, "khalid": 17, "abdullah": 17, "tanaka": 17, "akira": 17, "isaac": 17, "bakel": 17, "jouvelot": 17, "robbert": 17, "krebber": 17, "l\u00e9chenet": 17, "sotaro": 17, "okada": 17, "portegi": 17, "swasei": 17, "shengyi": 17, "wang": 17, "285": 17, "70": [17, 27, 36, 42, 57, 71, 72], "nant": 17, "januari": [17, 24, 77], "17836": 17, "18331": 17, "18507": 17, "18503": 17, "term_forall_or_fun": [17, 28, 29], "term_let": [17, 29, 32, 38], "term_fix": [17, 29, 34, 54], "term_cofix": [17, 29, 30, 54], "term_if": [17, 29, 46], "200": [17, 52, 71], "term10": [17, 29, 32], "camlp5": [17, 71], "coqpp": 17, "18014": 17, "18254": 17, "disjunct": [17, 25, 34, 57, 58, 59, 60, 67, 71], "17857": 17, "18005": 17, "17854": 17, "18004": 17, "18176": 17, "18163": 17, "18393": 17, "12755": 17, "18392": 17, "intepret": 17, "18104": 17, "address": [17, 52], "18096": 17, "t_scope": [17, 71], "6134": 17, "14959": 17, "ba": 17, "spitter": 17, "14928": 17, "11486": 17, "12157": 17, "14305": 17, "deep": [17, 24, 57, 67], "token": [17, 29, 42, 51, 52, 53, 54, 55, 58, 59, 66, 71, 75], "17123": 17, "17856": 17, "17845": 17, "17988": 17, "17985": 17, "17115": 17, "17094": 17, "invalid": [17, 24, 40, 52, 54, 59, 64, 66, 71], "17841": 17, "15221": 17, "17844": 17, "15322": 17, "17861": 17, "17860": 17, "17891": 17, "17782": 17, "17892": 17, "17071": 17, "17902": 17, "11237": 17, "18230": 17, "18223": 17, "17704": 17, "17745": 17, "17789": 17, "6714": 17, "17832": 17, "17964": 17, "17959": 17, "cleanup": 17, "17984": 17, "17991": 17, "std": [17, 55], "resolve_tc": 17, "13071": 17, "17503": 17, "18190": 17, "evarconv": 17, "17788": 17, "17774": 17, "17887": 17, "17417": 17, "necess": 17, "overli": 17, "sensit": [17, 24, 29, 59], "17935": 17, "recip": [17, 53], "recaptur": 17, "robust": [17, 51, 57, 60, 66, 75], "albeit": 17, "slower": [17, 51, 60, 62], "17936": 17, "17993": 17, "12521": 17, "3488": 17, "f_equal": [17, 27], "18106": 17, "5481": 17, "9979": 17, "18152": 17, "18151": 17, "tail": [17, 24, 46, 54, 55, 57, 60, 71], "18159": 17, "18158": 17, "18195": 17, "18194": 17, "18243": 17, "18239": 17, "coqtop": [17, 24, 51, 52, 53, 66], "debugg": [17, 24, 25], "18068": 17, "18067": 17, "empty_context": 17, "thunk": [17, 55], "17534": 17, "eexact": [17, 43, 58], "18157": 17, "12827": 17, "fold_left": 17, "fold_right": 17, "18197": 17, "16485": 17, "red_flag": 17, "rstrength": 17, "18273": 17, "18209": 17, "quotat": [17, 24, 25, 66, 75], "eq_pattern": 17, "17667": 17, "transparentst": 17, "17777": 17, "is_float": 17, "is_uint63": 17, "is_arrai": 17, "17894": 17, "ref": [17, 59], "redflag": 17, "18095": 17, "10112": 17, "18102": 17, "investig": [17, 24, 77], "18139": 17, "frame": [17, 52], "18293": 17, "ikfprintf": 17, "18311": 17, "18292": 17, "18082": 17, "17576": 17, "17795": 17, "17801": 17, "17796": 17, "17805": 17, "16126": 17, "9148": 17, "17702": 17, "took": [17, 24], "17744": 17, "18193": 17, "8032": 17, "17987": 17, "17963": 17, "18008": 17, "18006": 17, "17946": 17, "10156": 17, "glob": [17, 24, 51, 75], "gnu": [17, 51, 53], "18077": 17, "18076": 17, "18165": 17, "inadvert": [17, 52], "18448": 17, "18434": 17, "reimplement": 17, "nsatz": [17, 25, 61], "cring": 17, "18325": 17, "cyclic": [17, 64], "zmodulo": 17, "retain": 17, "cyclicaxiom": 17, "17258": 17, "zdigit": 17, "favor": [17, 41, 51], "testbit": [17, 59], "18025": 17, "gt": [17, 27, 42], "min": [17, 24, 59], "arith_prebas": 17, "18164": 17, "disus": 17, "volunt": 17, "17732": 17, "byte": [17, 24, 25, 51, 59, 66, 71], "18022": 17, "naryfunct": 17, "continut": 17, "18026": 17, "cardinal_add_in": 17, "add_transpose_neqkei": 17, "unequ": 17, "12096": 17, "app_eq_con": 17, "app_inj_pivot": 17, "rev_inj": 17, "17787": 17, "unfold_nth_error": 17, "nth_error_nil": 17, "nth_error_con": 17, "nth_error_o": 17, "nth_error_": 17, "17998": 17, "antisymmetr": 17, "asymmetr": [17, 46], "rle": 17, "rge": 17, "rlt": 17, "rgt": 17, "18059": 17, "17889": 17, "17817": 17, "18596": 17, "18630": 17, "18594": 17, "corrupt": [17, 24], "18599": 17, "18670": 17, "18640": 17, "18636": 17, "18560": 17, "18556": 17, "fmap": [17, 60], "18649": 17, "18635": 17, "conf": [17, 53], "libc": 17, "dev": [17, 24, 51, 53, 71], "python": [17, 53], "18565": 17, "comit": 17, "symlink": 17, "git": [17, 53], "setup": [17, 25], "18550": 17, "18548": 17, "19088": 17, "19082": 17, "18089": 17, "18914": 17, "18945": 17, "18942": 17, "19096": 17, "772": 17, "18772": 17, "18769": 17, "18741": 17, "multibyt": 17, "utf": [17, 52, 75], "19137": 17, "19136": 17, "18863": 17, "commit": [17, 53, 54, 55], "pick": [17, 42, 51, 52, 53, 57, 58, 66, 67], "fine": [17, 41, 51, 52, 57, 64], "particularli": [17, 25, 42, 51, 53, 64, 71], "teach": 17, "analysi": [17, 24, 25, 30, 34, 37, 40, 46, 57, 58, 72, 77], "41": [17, 51, 53, 57], "reynald": 17, "affeldt": 17, "bati": 17, "kate": 17, "deplaix": 17, "paolo": 17, "giarrusso": 17, "gruetter": 17, "yoshihiro": 17, "imai": 17, "meven": 17, "lennon": 17, "bertrand": 17, "radziuk": 17, "julin": 17, "shaji": 17, "weng": 17, "shiwei": 17, "hao": 17, "yang": 17, "grate": 17, "sophia": [17, 24], "antipoli": [17, 24], "2023": 17, "17172": 17, "17452": 17, "9608": 17, "native_comput": [17, 25, 32, 36, 51, 58], "17872": 17, "17871": 17, "16903": 17, "overhead": [17, 53, 64], "17008": 17, "volatil": [17, 32, 41, 46], "hidden": [17, 24, 25, 27, 53, 57, 71, 75], "16992": 17, "16918": 17, "uninterpret": [17, 62], "some_term": 17, "17221": 17, "substructur": [17, 25], "17754": 17, "17451": 17, "hook": [17, 53], "metalanguag": 17, "elpi": [17, 57, 63], "17794": 17, "17206": 17, "17079": 17, "17305": 17, "17303": 17, "16788": 17, "16785": 17, "17117": 17, "17484": 17, "formerli": 17, "16937": 17, "12467": 17, "17050": 17, "17217": 17, "14975": 17, "17318": 17, "17316": 17, "17478": 17, "fring": 17, "17322": 17, "17352": 17, "\u03b2\u03b9": [17, 41, 57, 64], "17541": 17, "eqdep_dec": [17, 67], "17670": 17, "uncondition": 17, "17564": 17, "16910": 17, "hresolve_cor": 17, "hget_evar": 17, "17035": 17, "elimtyp": 17, "casetyp": 17, "16904": 17, "revert": [17, 52, 57, 58, 59], "misleadingli": 17, "17669": 17, "13448": 17, "13428": 17, "indirect": [17, 64], "16960": 17, "17304": 17, "17295": 17, "field_simplifi": 17, "17591": 17, "8905": 17, "4721": 17, "5351": 17, "16859": 17, "13976": 17, "17347": 17, "16409": 17, "antiquot": [17, 25], "17359": 17, "13977": 17, "start_profil": 17, "stop_profil": 17, "show_profil": 17, "17371": 17, "10111": 17, "17468": 17, "17475": 17, "ltac2val": [17, 55], "oppos": [17, 57], "17575": 17, "17232": 17, "15864": 17, "17508": 17, "17491": 17, "multi_match": 17, "multi_match0": 17, "multi_goal_match0": 17, "match_failur": [17, 57], "not_found": [17, 24], "17597": 17, "17594": 17, "16258": 17, "plural": [17, 28, 38], "16989": 17, "17274": 17, "17489": 17, "16287": 17, "17585": 17, "17718": 17, "unknown": [17, 29, 42, 43, 58, 60, 66, 71], "17747": 17, "16909": 17, "16911": 17, "parametr": [17, 24, 25, 34, 40, 64], "17042": 17, "counterproduct": 17, "17114": 17, "17108": 17, "workspac": 17, "17394": 17, "17333": 17, "subsum": [17, 57], "inherit": [17, 24, 25, 42, 52, 55], "17716": 17, "17544": 17, "16796": 17, "16817": 17, "16890": 17, "12266": 17, "16902": 17, "15893": 17, "16994": 17, "17430": 17, "17467": 17, "17285": 17, "13927": 17, "rectyp": 17, "re": [17, 24, 29, 32, 38, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66], "camlflag": [17, 53], "coqmakefil": [17, 25, 52], "17038": 17, "17045": 17, "13155": 17, "t_ind": [17, 35, 71], "17118": 17, "lib": [17, 24, 51, 53, 55, 59, 75], "vernac": [17, 24, 51, 53, 71, 75], "vernacular": [17, 24, 35, 38, 59, 63, 75], "17364": 17, "coqtimelog2html": 17, "render": [17, 24, 75], "17411": 17, "surpass": 17, "17697": 17, "17721": 17, "send": 17, "column": [17, 46, 53, 57], "decod": 17, "client": 17, "17382": 17, "17023": 17, "nth": [17, 58], "16731": 17, "16738": 17, "nodup": 17, "set_diff_nodup": 17, "listset": 17, "16926": 17, "traian": 17, "florin": 17, "\u015ferb\u0103nu\u0163\u0103": 17, "decidableclass": 17, "17021": 17, "17281": 17, "xorb": [17, 27, 59, 62], "simpler": [17, 24, 57, 58, 62, 64], "17427": 17, "rineq": 17, "completeness_weak": 17, "upper_bound_thm": 17, "le_epsilon": 17, "rle_epsilon": 17, "rplus_eq_r0": 17, "rplus_eq_0": 17, "req_em_t": 17, "req_dec_t": 17, "rinv_r_simpl_m": 17, "rmult_inv_r_id_m": 17, "rinv_r_simpl_l": 17, "rmult_inv_r_id_l": 17, "rinv_r_simpl_r": 17, "rmult_inv_m_id_r": 17, "tech_rgt_minu": 17, "rgt_minus_po": 17, "tech_rplu": 17, "rplus_le_lt_0_neq_0": 17, "izr_pos_xi": 17, "izr_pos_xo": 17, "rge_refl": 17, "17036": 17, "prod_curri": 17, "prod_uncurri": 17, "prodt_curri": 17, "prodt_uncurri": 17, "prod_curry_uncurri": 17, "prod_uncurry_curri": 17, "leb_implb": 17, "skipn_non": 17, "zdiv": 17, "z_div_mod_eq": 17, "div_zdiv": 17, "mod_zmod": 17, "floatop": [17, 36], "frexp": 17, "ldexp": 17, "floatlemma": 17, "frexp_spec": 17, "ldexp_spec": 17, "rlist": 17, "rlength": 17, "rtrigo_calc": 17, "cos3pi4": 17, "sin3pi4": 17, "msetrbt": 17, "filter_app": 17, "16920": 17, "app_nil_end": 17, "app_assoc_revers": 17, "ass_app": 17, "app_ass": 17, "forall2_refl": 17, "forall2_nil": 17, "17646": 17, "functin": 17, "17733": 17, "int31": 17, "cyclic31": 17, "nnumber": 17, "ring31": 17, "int63": [17, 71], "17734": 17, "inser_trans_r": 17, "izr_neq": 17, "double_var": 17, "rinv_mult_simpl": 17, "rle_rinv": 17, "rlt_rminu": 17, "rminus_eq_0": 17, "rminus_gt_0_lt": 17, "ropp_div": 17, "ropp_minus_distr": 17, "rplus_sqr_eq_0_l": 17, "sum_inequa_rle_lt_depr": 17, "s_o_plus_inr_depr": 17, "single_z_r_r1_depr": 17, "tech_single_z_r_r1_depr": 17, "l_inj": 17, "r_inj": 17, "l_r_neq": 17, "case_l_r": 17, "fin": [17, 71], "nil_spec": 17, "nth_append_l": 17, "nth_append_r": 17, "in_nth": 17, "nth_replace_eq": 17, "nth_replace_neq": 17, "replace_append_l": 17, "replace_append_r": 17, "append_const": 17, "map_append": 17, "map2_ext": 17, "append_inj": 17, "in_cons_iff": 17, "forall_cons_iff": 17, "forall_map": 17, "forall_append": 17, "forall_nth": 17, "forall2_nth": 17, "forall2_append": 17, "map_shiftin": 17, "fold_right_shiftin": 17, "in_shiftin": 17, "forall_shiftin": 17, "rev_nil": 17, "rev_con": 17, "rev_shiftin": 17, "rev_rev": 17, "map_rev": 17, "fold_left_rev_right": 17, "in_rev": 17, "forall_rev": 17, "vectorspec": 17, "16765": 17, "6459": 17, "iter_swap_gen": 17, "iter_swap": 17, "iter_succ": 17, "iter_succ_r": 17, "iter_add": 17, "iter_ind": 17, "iter_rect": 17, "iter_invari": 17, "17013": 17, "zbitwis": 17, "relationship": [17, 29], "bitwis": [17, 59], "arithmet": [17, 24, 25, 36, 44, 57, 60, 61, 71], "17022": 17, "forallb_filt": 17, "forallb_filter_id": 17, "partition_as_filt": 17, "filter_length": 17, "filter_length_l": 17, "filter_length_forallb": 17, "17027": 17, "eq_izr_contraposit": 17, "inr_0": 17, "inr_1": 17, "inr_archim": 17, "inr_unbound": 17, "ipr_2_xh": 17, "ipr_2_xi": 17, "ipr_2_xo": 17, "ipr_eq": 17, "ipr_ge_1": 17, "ipr_gt_0": 17, "ipr_ipr_2": 17, "ipr_l": 17, "ipr_lt": 17, "ipr_not_1": 17, "ipr_xh": 17, "ipr_xi": 17, "ipr_xo": 17, "le_ipr": 17, "lt_1_ipr": 17, "lt_ipr": 17, "minus_ipr": 17, "mult_ipr": 17, "not_1_ipr": 17, "not_ipr": 17, "plus_ipr": 17, "pow_ipr": 17, "rdiv_0_l": 17, "rdiv_0_r": 17, "rdiv_1_l": 17, "rdiv_1_r": 17, "rdiv_def": 17, "rdiv_diag_eq": 17, "rdiv_diag": 17, "rdiv_diag_uniq": 17, "rdiv_eq_compat_l": 17, "rdiv_eq_compat_r": 17, "rdiv_eq_reg_l": 17, "rdiv_eq_reg_r": 17, "rdiv_mult_distr": 17, "rdiv_mult_l_l": 17, "rdiv_mult_l_r": 17, "rdiv_mult_r_l": 17, "rdiv_mult_r_r": 17, "rdiv_neg_neg": 17, "rdiv_neg_po": 17, "rdiv_opp_l": 17, "rdiv_pos_cas": 17, "rdiv_pos_neg": 17, "rdiv_pos_po": 17, "rexists_between": 17, "rge_gt_or_eq_dec": 17, "rge_gt_or_eq": 17, "rge_lt_dec": 17, "rgt_le_dec": 17, "rgt_or_l": 17, "rgt_or_not_gt": 17, "rinv_0_lt_contravar": 17, "rinv_eq_compat": 17, "rinv_eq_reg": 17, "rinv_lt_0_contravar": 17, "rinv_neg": 17, "rinv_po": 17, "rle_gt_dec": 17, "rle_half_plu": 17, "rle_lt_or_eq": 17, "rle_or_gt": 17, "rle_or_not_l": 17, "rlt_0_2": 17, "rlt_0_minu": 17, "rlt_ge_dec": 17, "rlt_half_plu": 17, "rlt_minus_0": 17, "rlt_or_g": 17, "rlt_or_not_lt": 17, "rminus_def": 17, "rminus_diag": 17, "rminus_eq_compat_l": 17, "rminus_eq_compat_r": 17, "rminus_plus_distr": 17, "rminus_plus_l_l": 17, "rminus_plus_l_r": 17, "rminus_plus_r_l": 17, "rminus_plus_r_r": 17, "rmult_div_assoc": 17, "rmult_div_l": 17, "rmult_div_r": 17, "rmult_div_swap": 17, "rmult_gt_reg_r": 17, "rmult_inv_l": 17, "rmult_inv_r": 17, "rmult_inv_r_uniq": 17, "rmult_neg_cas": 17, "rmult_neg_neg": 17, "rmult_neg_po": 17, "rmult_pos_cas": 17, "rmult_pos_neg": 17, "rmult_pos_po": 17, "ropp_div_distr_l": 17, "ropp_eq_reg": 17, "ropp_neg": 17, "ropp_po": 17, "rplus_0_l_uniq": 17, "rplus_ge_reg_r": 17, "rplus_gt_reg_r": 17, "rplus_minus_assoc": 17, "rplus_minus_l": 17, "rplus_minus_r": 17, "rplus_minus_swap": 17, "rplus_neg_lt": 17, "rplus_neg_neg": 17, "rplus_neg_npo": 17, "rplus_nneg_g": 17, "rplus_nneg_nneg": 17, "rplus_nneg_po": 17, "rplus_npos_l": 17, "rplus_npos_neg": 17, "rplus_npos_npo": 17, "rplus_pos_gt": 17, "rplus_pos_nneg": 17, "rplus_pos_po": 17, "rsqr_def": 17, "r_ifp": 17, "int_part_spec": 17, "rplus_int_part_frac_part": 17, "int_part_frac_part_spec": 17, "flat_map_constant_length": 17, "17082": 17, "sphinx": 17, "esc": 17, "17772": 17, "15778": 17, "17344": 17, "10739": 17, "enviro": [17, 59], "experi": [17, 24, 51, 77], "slowdown": 17, "50": [17, 27, 41, 42, 44, 53, 57, 59, 71, 77], "readi": [17, 51, 57, 60], "hu\u1ef3nh": 17, "tr\u1ea7n": 17, "khanh": 17, "www": [17, 24, 25, 27, 50, 75, 77], "platform": [17, 24, 36, 53, 54, 72], "45": [17, 77], "stephan": 17, "boyer": [17, 24], "franti\u0161ek": 17, "farka": 17, "alban": 17, "gruin": 17, "wolf": 17, "bodo": 17, "igler": 17, "jerri": 17, "jame": 17, "wojciech": 17, "karpiel": 17, "thoma": 17, "klausner": 17, "sudha": 17, "parimala": 17, "valentin": 17, "robert": [17, 77], "dmitri": 17, "shachnev": 17, "naveen": 17, "srinivasan": 17, "sergei": 17, "stepanenko": 17, "karolina": 17, "surma": 17, "414": 17, "105": 17, "februari": [17, 24], "vulner": 17, "repeatedli": [17, 31, 57, 71], "16958": 17, "16957": 17, "unexpect": [17, 24, 44, 53, 55, 71, 73], "inaccess": 17, "17116": 17, "17073": 17, "16135": 17, "lost": [17, 30, 44, 57, 67], "17138": 17, "17137": 17, "17174": 17, "17173": 17, "contigu": [17, 29], "letter": [17, 24, 26, 27, 29, 37, 46, 51, 55, 71, 75], "middl": [17, 29, 54, 57, 71, 75], "16322": 17, "4712": 17, "12324": 17, "16945": 17, "lionel": 17, "rieg": 17, "16472": 17, "add_top": [17, 71], "add_bottom": [17, 71], "consolid": 17, "descript": [17, 24, 25, 27, 29, 31, 38, 40, 42, 46, 51, 53, 55, 57, 66, 67], "assur": [17, 53], "autom": [17, 24, 25, 43, 54, 59, 61, 64, 66, 67, 77], "15015": 17, "16498": 17, "16659": 17, "16289": 17, "5163": 17, "16282": 17, "eager": 17, "cost": [17, 51, 55, 60], "prior": [17, 51, 54], "discrep": [17, 57], "16293": 17, "16062": 17, "16323": 17, "tac1": 17, "tac2": 17, "absurd_hyp": 17, "year": [17, 24], "ago": 17, "contradict": [17, 34, 54, 57, 60, 67], "16670": 17, "progress_evar": 17, "16843": 17, "intuition_solv": [17, 62], "star": [17, 60, 62], "forward": [17, 24, 52, 53, 57, 62, 66], "16026": 17, "16407": 17, "16302": 17, "15814": 17, "6332": 17, "16605": 17, "16743": 17, "5239": 17, "redefinit": [17, 54, 55], "16106": 17, "hyp": [17, 24, 55, 57, 59, 66, 71], "typ": [17, 24], "16764": 17, "boolnot": 17, "16536": 17, "in_context": 17, "16547": 17, "16540": 17, "matches_go": 17, "lazy_goal_match0": 17, "one_goal_match0": 17, "16655": 17, "16023": 17, "16179": 17, "to_str": [17, 55], "concat": [17, 46, 55], "cat": [17, 74], "is_empti": 17, "16217": 17, "liftn": 17, "16413": 17, "closedn": 17, "is_clos": 17, "16414": 17, "16429": 17, "16466": 17, "16418": 17, "16415": 17, "for_all2": 17, "16535": 17, "meta": [17, 24, 25, 39, 53, 59], "16537": 17, "16538": 17, "16552": 17, "10117": 17, "pun": [17, 55], "16556": 17, "12803": 17, "16740": 17, "math": [17, 75, 77], "comp": [17, 53], "872": 17, "874": 17, "olift": 17, "pred_oapp": 17, "all_sig2_cond": 17, "compa": 17, "obindeapp": 17, "omapebind": 17, "omapeapp": 17, "omap_comp": 17, "oapp_comp": 17, "olift_comp": 17, "ocan_comp": 17, "eqblr": 17, "eqbrl": 17, "can_in_pcan": 17, "pcan_in_inj": 17, "in_inj_comp": 17, "can_in_comp": 17, "pcan_in_comp": 17, "ocan_in_comp": 17, "16158": 17, "firstord": [17, 29, 62], "parti": [17, 51, 52, 53, 75], "15274": 17, "15072": 17, "16004": 17, "13394": 17, "16340": 17, "16690": 17, "16686": 17, "spawn": [17, 54], "16837": 17, "16519": 17, "untouch": [17, 41], "16842": 17, "16230": 17, "16224": 17, "16168": 17, "16438": 17, "16375": 17, "nontermin": [17, 29, 54, 55, 71], "adhoc": [17, 37], "16440": 17, "16395": 17, "14141": 17, "16931": 17, "16929": 17, "16981": 17, "16602": 17, "17069": 17, "12575": 17, "unsupport": [17, 29, 35, 38, 52, 59], "17113": 17, "17110": 17, "cover": [17, 44, 54, 57, 65], "_coqproject": [17, 25, 51, 52], "15888": 17, "16308": 17, "raci": 17, "16757": 17, "omiss": 17, "17090": 17, "15933": 17, "operand": [17, 64], "16355": 17, "behalf": 17, "bedrock": 17, "inc": 17, "rememb": [17, 52, 57, 58, 75], "r_dist": 17, "spell": 17, "rdist": 17, "16874": 17, "superflu": [17, 24], "rs_r": 17, "_r": [17, 41], "a_right": 17, "ls_l": 17, "_l": [17, 34], "lbase": 17, "a_left": 17, "redund": [17, 24, 43, 46, 57], "gcd_uniqu": 17, "gcd_unique_alt": 17, "divide_gcd_iff": 17, "gcd_mul_diag_l": 17, "16203": 17, "jmeq": [17, 67], "16436": 17, "finite_alt": 17, "finfun": 17, "newli": [17, 60, 67], "finite_dec": 17, "16489": 17, "16479": 17, "zmod": 17, "zdiv_eucl_po": 17, "zmod_pos_bound": 17, "zmod_neg_bound": 17, "16892": 17, "nz": 17, "16914": 17, "permutation_incl_cons_inv_r": 17, "permutation_pigeonhol": 17, "permutation_pigeonhole_rel": 17, "forall2_cons_iff": 17, "forall2_length": 17, "forall2_impl": 17, "forall2_flip": 17, "forall_exists_exists_forall2": 17, "15986": 17, "dominiqu": 17, "larchei": 17, "wendl": 17, "div0": [17, 59], "lcm0": 17, "16186": 17, "measure_induct": 17, "induction_ltof1": 17, "lemmata": 17, "listing_decidable_eq": 17, "nodup_list_decid": 17, "listdec": 17, "not_nodup": 17, "nodup_app_remove_l": 17, "nodup_app_remove_r": 17, "16588": 17, "skipn_skipn": 17, "16632": 17, "nth_error_ext": 17, "map_repeat": 17, "rev_repeat": 17, "to_list_nil_iff": 17, "to_list_inj": 17, "16756": 17, "extgcd": 17, "euclid_rec": 17, "euclid_intro": 17, "znumtheori": 17, "16915": 17, "15560": 17, "16007": 17, "16118": 17, "diff": [17, 24, 25, 51, 53, 54], "absolut": [17, 24, 35, 51, 53, 55, 71], "strip": [17, 58], "16268": 17, "ondemand": [17, 51], "16997": 17, "got": [17, 34, 67], "16512": 17, "nomacintegr": 17, "16531": 17, "15494": 17, "16925": 17, "16947": 17, "16959": 17, "16988": 17, "16991": 17, "16996": 17, "16999": 17, "17010": 17, "17015": 17, "offici": [17, 54], "15867": 17, "alphabet": [17, 60], "16725": 17, "varieti": [17, 24], "17270": 17, "16571": 17, "17324": 17, "12813": 17, "14843": 17, "16677": 17, "redo": [17, 57, 67], "byextend": 17, "17495": 17, "17488": 17, "mathcomp": [17, 57], "17743": 17, "strong": [17, 24, 27, 31, 34, 64, 67, 77], "fullfil": 17, "reorgan": 17, "57": 17, "bodin": 17, "minki": 17, "cho": 17, "juan": 17, "conejero": 17, "cran": 17, "adrian": 17, "dapprich": 17, "st\u00e9phane": 17, "desarzen": 17, "christian": 17, "doczkal": 17, "attila": 17, "g\u00e1sp\u00e1r": 17, "jasper": 17, "hugunin": 17, "bart": 17, "jacob": 17, "jurgensen": 17, "ethan": 17, "kuefner": 17, "fabian": 17, "kunz": 17, "francoi": 17, "monin": [17, 24], "peterson": 17, "seth": 17, "poulsen": 17, "takafumi": 17, "saikawa": 17, "gabriel": 17, "scherer": 17, "kartik": 17, "singhal": 17, "356": 17, "99": [17, 27, 71], "june": [17, 24], "2022": 17, "artifici": [17, 24, 67, 71], "obstacl": [17, 42], "restor": [17, 29, 54, 57, 66], "physic": [17, 24, 35, 51, 53, 59, 75], "decad": 17, "specialist": 17, "truth": [17, 54, 57], "15434": 17, "incident": 17, "5702": 17, "15668": 17, "15621": 17, "15965": 17, "inlin": [17, 24, 25, 28, 35, 64, 66, 72, 75], "15412": 17, "15403": 17, "cheap": 17, "15575": 17, "14015": 17, "blowup": 17, "noncumul": [17, 25, 29], "15662": 17, "11741": 17, "14563": 17, "15693": 17, "freedom": 17, "15789": 17, "2828": 17, "4593": 17, "3115": 17, "5222": 17, "9696": 17, "8540": 17, "princip": [17, 24, 34, 57, 72, 77], "15581": 17, "13157": 17, "arg": [17, 24, 28, 37, 44, 51, 53, 55, 57, 60, 67], "15754": 17, "15291": 17, "7911": 17, "15884": 17, "15843": 17, "13969": 17, "7916": 17, "14138": 17, "13618": 17, "15215": 17, "15214": 17, "15426": 17, "3051": 17, "15448": 17, "closur": [17, 24, 31, 54, 55, 62, 66], "15728": 17, "10970": 17, "15277": 17, "14137": 17, "4632": 17, "5384": 17, "5521": 17, "6278": 17, "7675": 17, "8739": 17, "11011": 17, "12240": 17, "15279": 17, "aka": [17, 72], "15921": 17, "15289": 17, "5304": 17, "nomatch": [17, 41], "15657": 17, "3989": 17, "15206": 17, "15559": 17, "15554": 17, "toplevel_selector": [17, 29, 54, 58], "obei": [17, 24, 37], "buggi": [17, 25, 33], "15378": 17, "asr": 17, "lsl": 17, "lsr": 17, "lor": [17, 59], "lxor": [17, 59], "lnot": [17, 75], "15637": 17, "eappli": [17, 54, 58, 60, 66, 67, 71], "15741": 17, "suff": [17, 25], "wlog": [17, 25], "15355": 17, "15366": 17, "15424": 17, "15410": 17, "subproof": [17, 34, 66, 67], "autogener": 17, "15442": 17, "15268": 17, "15669": 17, "simplex": 17, "15690": 17, "workflow": 17, "15652": 17, "wild": [17, 57], "15752": 17, "15526": 17, "15527": 17, "15650": 17, "15600": 17, "15683": 17, "14907": 17, "4436": 17, "7730": 17, "15760": 17, "15802": 17, "15853": 17, "filtered_import": [17, 35, 59], "15945": 17, "14872": 17, "15347": 17, "3556": 17, "coqplugininstal": [17, 53], "15788": 17, "15886": 17, "15511": 17, "15497": 17, "16070": 17, "signaturet": 17, "15446": 17, "permutation_app": 17, "permutation_con": 17, "15597": 17, "15596": 17, "npeano": 17, "arith_bas": [17, 59], "pariti": 17, "even_alt": 17, "odd_alt": 17, "even_odd_ind": 17, "odd_even_ind": 17, "even_alt_even": 17, "odd_alt_odd": 17, "peano": [17, 24, 27, 34, 57, 60, 71], "phase": [17, 24, 52, 54, 55, 57, 64, 72], "discourag": [17, 29, 32, 35, 53, 54, 55, 58, 59, 60, 66], "14736": 17, "15411": 17, "logic_typ": 17, "nott": [17, 27], "15256": 17, "p_rmin": 17, "rmin_cas": 17, "15388": 17, "15382": 17, "count_occ_rev": 17, "15397": 17, "oddt": 17, "event_oddt_dec": 17, "event_oddt_rect": 17, "oddt_event_rect": 17, "15427": 17, "sin": 17, "15599": 17, "geb_g": 17, "gtb_gt": 17, "15620": 17, "rinv_inv": 17, "rinv_mult": 17, "rinv_opp": 17, "rinv_div": 17, "rdiv_opp_r": 17, "rsqr_div": 17, "rsqr_inv": 17, "sqrt_inv": 17, "rabs_inv": 17, "pow_inv": 17, "powerrz_inv": 17, "powerrz_neg": 17, "powerrz_mult": 17, "cv_infty_cv_0": 17, "15644": 17, "15719": 17, "le_add_l": 17, "naddord": 17, "le_plus_r": 17, "16184": 17, "lablgtk3": 17, "15947": 17, "consequ": [17, 24, 26, 29, 34, 38, 39, 42, 43, 44, 46, 52, 57, 60], "aac": 17, "15220": 17, "7698": 17, "minimum": 17, "15483": 17, "16005": 17, "16030": 17, "15496": 17, "09": 17, "ocamlfind": [17, 53, 59], "16046": 17, "14260": 17, "16015": 17, "extrocamlint63": [17, 36], "sint63": [17, 36], "15294": 17, "15280": 17, "pervas": 17, "15333": 17, "nicolo": 17, "07": [17, 77], "15967": 17, "15098": 17, "hexadecim": [17, 29, 36, 52, 59], "conflict": [17, 24, 25, 46, 54, 55, 71], "13460": 17, "7017": 17, "13288": 17, "16651": 17, "16645": 17, "16768": 17, "16752": 17, "16845": 17, "16831": 17, "16850": 17, "16829": 17, "buys": 17, "16434": 17, "16411": 17, "won": [17, 25, 38, 52, 53, 54, 55, 58, 62, 64, 67, 71, 73], "16142": [17, 52], "13550": 17, "net": 17, "visual": [17, 51, 52, 54, 66, 71], "zimmerman": [17, 24], "coqdev": 17, "384": 17, "143": [17, 53], "functori": 17, "15385": 17, "9555": 17, "wait": [17, 55, 66], "14705": 17, "14573": 17, "11099": 17, "control_command": [17, 29, 59], "sentenc": [17, 24, 29, 36, 52, 54, 55, 57, 59, 75], "14750": 17, "14606": 17, "4167": 17, "14668": 17, "3527": 17, "role": [17, 26, 33, 42, 55, 71, 75], "14967": 17, "14938": 17, "14672": 17, "14819": 17, "14525": 17, "15340": 17, "15335": 17, "14379": 17, "11402": 17, "14493": 17, "12777": 17, "14486": 17, "14713": 17, "14708": 17, "15338": 17, "15334": 17, "13837": 17, "13759": 17, "circumv": 17, "observ": [17, 34, 37, 40, 54, 55, 59, 66, 71], "14679": 17, "14874": 17, "recognit": [17, 75], "14722": 17, "undiscrimin": [17, 60], "14848": 17, "14989": 17, "6109": 17, "uconstr": [17, 54, 71], "15171": 17, "15204": 17, "4555": 17, "7674": 17, "14527": 17, "capit": [17, 29, 74], "15193": 17, "15194": 17, "15314": 17, "15300": 17, "po": [17, 24, 59, 71], "nsucc_doubl": 17, "ndoubl": 17, "succ_doubl": 17, "succ_po": 17, "to_po": 17, "10998": 17, "13952": 17, "13942": 17, "14125": 17, "14439": 17, "14657": 17, "13778": 17, "5394": 17, "13189": 17, "14673": 17, "4415": 17, "14693": 17, "13859": 17, "14650": 17, "14651": 17, "14662": 17, "14683": 17, "5548": 17, "14732": 17, "14731": 17, "14758": 17, "14734": 17, "6976": 17, "14984": 17, "11689": 17, "14986": 17, "5369": 17, "15245": 17, "15244": 17, "15250": 17, "15122": 17, "14314": 17, "5706": 17, "ssrsearch": 17, "ssr": [17, 57, 59, 66], "13760": 17, "757": 17, "negpp": 17, "orpp": 17, "andpp": 17, "implypp": 17, "15059": 17, "14660": 17, "12770": 17, "14687": 17, "14678": 17, "14596": 17, "13830": 17, "14685": 17, "14513": 17, "14802": 17, "14801": 17, "15078": 17, "14529": 17, "notempl": 17, "grab": 17, "outputst": 17, "14940": 17, "usag": [17, 24, 25, 27, 51, 53, 54, 58, 60, 64], "15056": 17, "13296": 17, "15272": 17, "14697": 17, "mangl": [17, 51, 58, 66], "_0": 17, "_foo": 17, "14695": 17, "14548": 17, "14699": 17, "13150": 17, "14892": 17, "15139": 17, "14930": 17, "submodul": [17, 35], "subsect": [17, 24, 34, 42, 75], "14780": 17, "14446": 17, "14901": 17, "14899": 17, "coqlib_path": 17, "coqlib_url": [17, 75], "14059": 17, "unquot": [17, 53, 55], "14558": 17, "unambigu": [17, 32, 44, 53, 59], "preced": [17, 25, 27, 29, 46, 54, 57, 58, 60, 66, 75], "14718": 17, "coqbin": [17, 51, 53], "14787": 17, "14957": 17, "phoni": [17, 53], "opt": [17, 24, 53, 55, 71], "subdirectori": [17, 51, 53, 59, 60], "docroot": [17, 53], "installcoqdocroot": 17, "disambigu": [17, 44, 57, 71], "11631": 17, "14539": 17, "13541": 17, "9319": 17, "14996": 17, "7393": 17, "bracket": [17, 24, 26, 44, 54, 57, 59, 66, 71, 75], "langl": 17, "cjk": [17, 29], "14452": 17, "uninstal": [17, 25], "desktop": 17, "14696": 17, "14310": 17, "breakpoint": [17, 25], "14644": 17, "13967": 17, "14863": 17, "14574": 17, "14571": 17, "epsilon_smallest": 17, "formul": [17, 42], "le_not_lt": 17, "lt_not_l": 17, "14601": 17, "ascii": [17, 52, 53, 71, 75], "14234": 17, "_invol": 17, "_involut": 17, "15085": 17, "incoher": [17, 46], "adjoint": 17, "adjointif": 17, "13408": 17, "slexprod": 17, "relation_oper": 17, "wf_slexprod": 17, "lexicographic_product": 17, "14809": 17, "theri": [17, 24], "sigt": [17, 27, 67, 71], "sigtnot": 17, "14813": 17, "sigt_of_prod": 17, "prod_of_sigt": 17, "sigt_prod_sigt": 17, "prod_sigt_prod": 17, "split_combin": 17, "14458": 17, "artifact": 17, "facilit": [17, 51, 57], "bleed": 17, "edg": [17, 52], "reliabl": 17, "12425": 17, "gone": 17, "caml": [17, 24, 75], "vmbyteflag": 17, "topbin": 17, "toolchain": [17, 51], "nodebug": 17, "flambda": 17, "bindir": [17, 51], "coqdocdir": 17, "camldir": 17, "14189": 17, "etcdir": 17, "docdir": [17, 53], "14844": 17, "14879": 17, "14963": 17, "big_int_z": 17, "extrocamlnatbigint": 17, "extrocamlzbigint": 17, "extrocamlbigintconv": 17, "8252": 17, "extrocamlstr": 17, "extrocamlnativestr": 17, "15075": 17, "15076": 17, "15498": 17, "15451": 17, "15839": 17, "15838": 17, "15628": 17, "15619": 17, "15577": 17, "15568": 17, "15612": 17, "8080": 17, "15634": 17, "15606": 17, "15653": 17, "15567": 17, "vok": [17, 51], "15745": 17, "15532": 17, "15531": 17, "15633": 17, "15578": 17, "busi": 17, "accur": [17, 52, 53, 57, 71], "15714": 17, "15733": 17, "15675": 17, "15725": 17, "15537": 17, "15420": 17, "dintuit": [17, 62, 71], "hardcod": 17, "15866": 17, "7725": 17, "uncaught": [17, 55], "unabletounifi": 17, "bidirection": [17, 25], "16066": 17, "16063": 17, "15938": 17, "15861": 17, "15939": 17, "15882": 17, "15964": 17, "15799": 17, "15984": 17, "15873": 17, "15996": 17, "15912": 17, "15903": 17, "sfclassifi": 17, "16101": 17, "16096": 17, "cleaner": 17, "carri": 17, "coqn": 17, "omega": [17, 24], "greatli": [17, 24], "54": [17, 54], "arthur": 17, "azevedo": 17, "amorim": 17, "simon": [17, 77], "frii": 17, "vindum": 17, "jacqu": 17, "henri": [17, 24], "jourdan": 17, "barri": 17, "trager": 17, "oscar": 17, "gariano": 17, "shenlebantongi": 17, "avi": 17, "shinnar": 17, "slrnsc": 17, "hendrik": 17, "tew": 17, "karolin": 17, "varner": 17, "ziliani": [17, 77], "522": 17, "150": [17, 55], "2021": [17, 77], "compact": [17, 24, 25, 34, 54, 57, 59, 66, 71], "static": [17, 24, 25, 53, 71], "\u03b2": [17, 25, 26, 57], "uncommon": 17, "breakag": 17, "tip": [17, 60], "repr": 17, "md": [17, 71], "13563": 17, "3166": 17, "13853": 17, "13849": 17, "14395": 17, "14317": 17, "14392": 17, "13911": 17, "14041": 17, "14386": 17, "9711": 17, "12975": 17, "14261": 17, "14207": 17, "unduli": 17, "14371": 17, "14374": 17, "13840": 17, "xxx_scope": 17, "yyy_scop": 17, "13965": 17, "13842": 17, "13519": 17, "13484": 17, "13517": 17, "abbr": 17, "my_scop": 17, "ahead": [17, 54], "sequenti": [17, 54, 55, 58, 64], "14070": 17, "14183": 17, "13654": 17, "gave": [17, 24, 58], "fatal": [17, 25, 57], "14257": 17, "14211": 17, "14377": 17, "13966": 17, "13568": 17, "13566": 17, "gfail": [17, 54, 60], "13469": 17, "trail": [17, 25, 57, 74, 75], "13509": 17, "13741": 17, "convert_concl_no_check": 17, "change_no_check": [17, 58, 64], "13761": 17, "13762": 17, "13696": 17, "13781": 17, "14528": 17, "13715": 17, "z_div_mod_eq_ful": 17, "14037": 17, "11447": 17, "14089": 17, "14083": 17, "inversion_sigma": 17, "ex2": [17, 24, 27, 55, 67], "exists2": [17, 27, 29, 57], "14174": 17, "14408": 17, "collis": [17, 24, 51], "13512": 17, "13413": 17, "13699": 17, "13579": 17, "invis": [17, 57], "erron": 17, "13882": 17, "12011": 17, "14033": 17, "9000": 17, "14009": 17, "14378": 17, "14124": 17, "diff_failur": 17, "14457": 17, "14425": 17, "15099": 17, "11504": 17, "14090": 17, "14610": 17, "14609": 17, "14128": 17, "printf": 17, "macro": [17, 24, 46, 66, 75], "13236": 17, "10108": 17, "emb": [17, 24, 71], "13442": 17, "12871": 17, "13774": 17, "12317": 17, "13914": 17, "13920": 17, "10095": 17, "13939": 17, "12806": 17, "ffi": [17, 25, 55], "13997": 17, "13996": 17, "lazy_and": 17, "lazy_or": 17, "lazy_impl": 17, "14081": 17, "13964": 17, "14094": 17, "11866": 17, "13473": 17, "backport": 17, "13490": 17, "13725": 17, "13724": 17, "alpha": [17, 31, 54, 55], "13852": 17, "13727": 17, "adjoin": 17, "13909": 17, "13912": 17, "13758": 17, "searchhead": 17, "headconcl": [17, 59], "13763": 17, "intead": 17, "13764": 17, "14208": 17, "13562": 17, "14336": 17, "13202": 17, "ho": [17, 29, 58], "rakam": [17, 64], "14093": 17, "14092": 17, "14148": 17, "14102": 17, "14100": 17, "14382": 17, "13589": 17, "bruijn": [17, 24, 31, 33, 77], "14664": 17, "14652": 17, "tho": 17, "13876": 17, "unread": [17, 59], "14024": 17, "14023": 17, "delete_on_error": 17, "14238": 17, "13822": 17, "12411": 17, "10912": 17, "13624": 17, "13581": 17, "14285": 17, "14283": 17, "chargu\u00e9raud": 17, "14265": 17, "14309": 17, "standalon": [17, 51], "hybrid": 17, "13287": 17, "prompt": [17, 24, 52, 54, 59], "13783": 17, "13810": 17, "rpower": 17, "exp_ineq1": 17, "exp_ineq1_l": 17, "13582": 17, "uniformli": [17, 24, 51], "14086": 17, "bring": [17, 59], "eq_ex_uncurri": 17, "eq_ex2_uncurri": 17, "eq_ex": 17, "eq_ex2": 17, "eq_ex_hprop": 17, "eq_ex2_hprop": 17, "eq_ex_intro_uncurri": 17, "eq_ex_intro2_uncurri": 17, "eq_ex_intro": 17, "eq_ex_intro2": 17, "eq_ex_intro_hprop": 17, "eq_ex_intro2_hprop": 17, "39": [17, 53, 71], "cauchi": 17, "qextra": 17, "q_factordenom": 17, "qmult_frac_l": 17, "q_reduce_fl": 17, "qreduce_num_l": 17, "qle_neq": 17, "qlt_leneq": 17, "qmult_lt_le_compat_nonneg": 17, "qmult_le_lt_compat_po": 17, "qpower_pos_lt": 17, "qpower_0_lt": 17, "qpower_lt_1_increas": 17, "qpower_1_lt_po": 17, "qpower_1_lt": 17, "qpower_le_1_increas": 17, "qpower_1_le_po": 17, "qpower_1_l": 17, "qzero_eq": 17, "qreduce_zero": 17, "qpower_lt_compat": 17, "qpower_lt_compat_l": 17, "qpower_le_compat": 17, "qpower_le_compat_l": 17, "qpower_lt_compat_inv": 17, "qpower_lt_compat_l_inv": 17, "qpower_le_compat_inv": 17, "qpower_le_compat_l_inv": 17, "qpower_decomp": 17, "qpower_decomp_po": 17, "qarchimedeanexp2_po": 17, "qarchimedean_power2_po": 17, "qinv_swap_po": 17, "qinv_po": 17, "qinv_swap_neg": 17, "qinv_neg": 17, "delet": [17, 52, 54, 57, 66], "q_factornum_l": 17, "q_factornum": 17, "qopp_lt_compat": 17, "qround": 17, "qarith_bas": 17, "exclud": [17, 34, 41, 51, 53, 54, 55, 57, 59], "14293": 17, "14343": 17, "13307": 17, "if_then_els": [17, 71], "IF": [17, 71], "13871": 17, "13986": 17, "13895": 17, "13080": 17, "remaind": [17, 34, 55], "13559": 17, "12109": 17, "to_list": 17, "length_to_list": 17, "of_list_to_list_opp": 17, "to_list_nil": 17, "to_list_con": 17, "to_list_hd": 17, "to_list_last": 17, "to_list_const": 17, "to_list_nth_ord": 17, "to_list_tl": 17, "to_list_append": 17, "to_list_rev_append_tail": 17, "to_list_rev_append": 17, "to_list_rev": 17, "to_list_map": 17, "to_list_fold_left": 17, "to_list_fold_right": 17, "to_list_foral": 17, "to_list_exist": 17, "to_list_in": 17, "to_list_forall2": 17, "13671": 17, "count_occ": 17, "count_occ_app": 17, "count_occ_elt_eq": 17, "count_occ_elt_neq": 17, "count_occ_bound": 17, "count_occ_repeat_eq": 17, "count_occ_repeat_neq": 17, "count_occ_uniqu": 17, "count_occ_repeat_excl": 17, "count_occ_sgt": 17, "permutation_count_occ": 17, "13804": 17, "exists_map": 17, "exists_concat": 17, "exists_flat_map": 17, "forall_concat": 17, "forall_flat_map": 17, "nth_error_map": 17, "nth_repeat": 17, "nth_error_repeat": 17, "13955": 17, "cantor": [17, 34], "to_nat": 17, "of_nat": 17, "14008": 17, "qeq_from_part": 17, "qden_cancel": 17, "qnum_cancel": 17, "qreduce_l": 17, "qreduce_r": 17, "qmult_inject_z_l": 17, "qmult_inject_z_r": 17, "qden": 17, "qnum": 17, "14087": 17, "ordersex": 17, "string_as_ot": 17, "ascii_as_ot": 17, "14096": 17, "app_eq_app": 17, "forall_nil_iff": 17, "14153": 17, "1803": 17, "hex_z_scop": 17, "hex_positive_scop": 17, "hex_n_scop": 17, "14263": 17, "14384": 17, "firstn": 17, "skipn": 17, "14406": 17, "ghc": 17, "unsafecoerc": 17, "newer": 17, "14345": 17, "14256": 17, "12567": 17, "compatibl": 17, "datadir": 17, "customiz": 17, "patch": 17, "13617": 17, "oldroot": 17, "coqprefixinstal": 17, "destdir": [17, 53], "akin": [17, 30, 55], "14258": 17, "13885": 17, "alter": [17, 35, 75], "stale": 17, "clean": [17, 53, 57, 67, 72], "13405": 17, "unix": [17, 24], "13586": 17, "store": [17, 52, 53, 57, 59, 60], "15081": 17, "15070": 17, "14666": 17, "14505": 17, "14671": 17, "10796": 17, "15046": 17, "15043": 17, "14669": 17, "14670": 17, "imper": [17, 24, 55], "bugfix": 17, "rational": [17, 55, 57], "guidelin": 17, "io": [17, 25], "v8": 17, "51": 17, "blaudeau": 17, "coolen": 17, "matthew": 17, "dempski": 17, "ignat": 17, "insarov": 17, "larri": [17, 24], "lee": [17, 77], "jr": 17, "letan": 17, "lott": 17, "yusuk": 17, "matsushita": 17, "carl": 17, "patenaud": 17, "poulin": 17, "edward": 17, "400": 17, "100": [17, 54, 60, 64, 71], "novemb": [17, 24, 77], "2020": 17, "10390": 17, "data": [17, 24, 27, 34, 36, 39, 53, 54, 55, 57, 64, 66, 77], "11604": 17, "13356": 17, "13354": 17, "loss": [17, 57], "12537": 17, "12525": 17, "12647": 17, "13501": 17, "13495": 17, "attr": [17, 29, 51], "13312": 17, "10331": 17, "12414": 17, "13188": 17, "6042": 17, "tweak": 17, "frequenc": 17, "mess": 17, "12756": 17, "12001": 17, "6785": 17, "13106": 17, "synonym": [17, 29, 37, 51, 57, 58, 64], "12653": 17, "serv": [17, 24, 25, 26, 40, 55, 57, 60], "12768": 17, "12762": 17, "13183": 17, "12586": 17, "13290": 17, "13278": 17, "13166": 17, "13165": 17, "13217": 17, "13216": 17, "illtypedinst": 17, "13376": 17, "13266": 17, "13383": 17, "11816": 17, "13386": 17, "9971": 17, "13387": 17, "12348": 17, "realli": [17, 32, 57], "presum": [17, 71], "11841": 17, "9514": 17, "modal": 17, "12099": 17, "pow_po": [17, 71], "blow": 17, "102e": 17, "reprint": [17, 66], "02": [17, 29, 53, 77], "12218": 17, "12685": 17, "12950": 17, "4738": 17, "9682": 17, "12908": 17, "mitig": [17, 57, 73], "adopt": [17, 57, 73, 75], "12986": 17, "12984": 17, "7443": 17, "10824": 17, "12979": 17, "11986": 17, "12035": 17, "12765": 17, "13265": 17, "12960": 17, "9403": 17, "10803": 17, "12965": 17, "9569": 17, "13092": 17, "13078": 17, "13415": 17, "13303": 17, "orient": [17, 24, 25, 54, 55, 57, 60, 64], "7825": 17, "4095": 17, "4413": 17, "13237": 17, "13235": 17, "occs_num": [17, 55, 58, 64], "complement": [17, 57], "13403": 17, "psatz": [17, 25], "13417": 17, "prolog": [17, 24, 60], "12399": 17, "12423": [17, 54], "info_eauto": [17, 60], "13381": 17, "11906": 17, "12246": 17, "9816": 17, "12552": 17, "zifyint63": 17, "12648": 17, "tmp": 17, "13337": 17, "13336": 17, "13373": 17, "13363": 17, "13232": 17, "10110": 17, "13028": 17, "9716": 17, "13004": 17, "dup": [17, 57], "13317": 17, "13458": 17, "13459": 17, "prim": [17, 71], "13096": 17, "13139": 17, "6261": 17, "13016": 17, "13384": 17, "12516": 17, "13388": 17, "13255": 17, "13244": 17, "noinit": [17, 29, 51, 66], "13339": 17, "13345": 17, "13344": 17, "precompil": [17, 25, 51, 64], "48": [17, 51], "13352": 17, "folder": [17, 52, 53], "coqlibinstal": [17, 53], "coqdocinstal": [17, 53], "12389": 17, "12613": 17, "12862": 17, "12845": 17, "12874": 17, "13145": 17, "epsilon": [17, 60], "modulu": 17, "converg": 17, "creal": 17, "coarser": 17, "12186": 17, "int63not": 17, "unqualifi": [17, 35, 55, 71], "12479": 17, "12454": 17, "primfloat": [17, 36, 59, 71], "primfloatnot": 17, "12556": 17, "bignum": [17, 53], "coqprim": 17, "6f62bda": 17, "12801": 17, "suppli": [17, 37, 57, 62], "12861": 17, "12860": 17, "uncurri": 17, "curri": [17, 24, 26, 66, 77], "12716": 17, "repeat_app": 17, "repeat_eq_app": 17, "repeat_eq_con": 17, "repeat_eq_elt": 17, "forall_eq_repeat": 17, "permutation_repeat": 17, "12799": 17, "app_inj_tail_iff": 17, "app_inv_head_iff": 17, "app_inv_tail_iff": 17, "12094": 17, "12093": 17, "negat": [17, 27, 54, 57, 58, 60, 62, 67], "12420": 17, "fix_f_inv": [17, 27], "fix_eq": [17, 27], "13365": 17, "gc": [17, 66], "polici": [17, 57, 74], "welcom": [17, 54], "tune": [17, 38, 42, 64], "ocamlrunparam": [17, 51, 66], "13040": 17, "11277": 17, "gmp": 17, "upstream": [17, 53], "bigint": [17, 29, 71], "11742": 17, "13007": 17, "vicent": 17, "overriden": 17, "overridden": [17, 27, 54, 57, 71, 75], "13556": 17, "opcod": 17, "13867": 17, "13870": 17, "crash": 17, "irreduc": [17, 37, 64, 71], "parrai": [17, 36], "14005": 17, "13998": 17, "marshal": 17, "14007": 17, "14006": 17, "incur": [17, 66], "14012": 17, "14011": 17, "coher": [17, 41], "organ": [17, 24, 25, 53, 54, 57], "11295": 17, "charg": 17, "chanc": [17, 53], "pool": [17, 62], "maintaint": 17, "31": 17, "abhishek": 17, "anand": 17, "boulier": 17, "carbonneaux": 17, "erika": 17, "rrika": 17, "nikita": 17, "eshkeev": 17, "xavier": [17, 77], "leroi": [17, 24, 77], "ik": 17, "mulder": 17, "antonio": 17, "nikishaev": 17, "lar": 17, "rasmusson": 17, "daniel": [17, 24], "rauglaudr": [17, 24], "talia": 17, "ringer": 17, "scinart": 17, "treinen": 17, "wiedemann": 17, "gitter": 17, "500": 17, "nan": [17, 71], "12484": 17, "12483": 17, "11368": 17, "simonbouli": 17, "postpon": [17, 58, 66], "stage": [17, 34, 42, 55, 66], "10858": 17, "9058": 17, "10202": 17, "11098": 17, "4696": 17, "5173": 17, "9098": 17, "11235": 17, "inhibit": [17, 57], "11261": 17, "10366": 17, "11600": 17, "12121": 17, "11579": 17, "7253": 17, "11585": 17, "12323": 17, "12322": 17, "12422": 17, "12418": 17, "beforehand": [17, 51, 55], "11120": 17, "11172": 17, "nicer": 17, "15e": 17, "11848": 17, "11113": 17, "uint": [17, 59, 71], "11948": 17, "11602": 17, "11650": 17, "0x2a": 17, "0xb": 17, "2ap": 17, "8808": 17, "10832": 17, "6092": 17, "7766": 17, "4690": 17, "11091": 17, "uselessli": 17, "11590": 17, "9741": 17, "12163": 17, "12159": 17, "rappli": [17, 58], "codomain": [17, 42, 71], "loop": [17, 24, 25, 51, 53, 55, 58, 60, 63], "10760": 17, "fewer": [17, 51, 58, 64, 66], "spurious": 17, "11018": 17, "nativecomput": [17, 64], "11025": 17, "11962": 17, "11963": 17, "preomega": 17, "elim_let": 17, "11370": 17, "11429": 17, "backtrac": [17, 25, 55, 59], "11755": 17, "11760": 17, "autounfold": [17, 60], "11883": 17, "12023": 17, "indirectli": [17, 24, 58, 59, 60, 74], "12146": 17, "10812": 17, "12139": 17, "12256": 17, "5764": 17, "5159": 17, "4925": 17, "11727": 17, "parenthesi": [17, 57, 66], "12326": 17, "eexist": [17, 43, 60, 66, 67], "12366": 17, "12365": 17, "11288": 17, "_eqn": 17, "eqn": [17, 40, 55, 57, 58, 67, 71], "11877": 17, "11976": 17, "pred_doubl": 17, "pred_n": 17, "add_carri": 17, "quot2": 17, "iszero": 17, "islezero": 17, "11474": 17, "11522": 17, "with_strategi": [17, 64, 71], "12129": 17, "12213": 17, "12210": 17, "zifypow": 17, "11362": 17, "11191": 17, "11436": 17, "7812": 17, "11761": 17, "12254": 17, "10343": 17, "11503": 17, "eenough": [17, 43, 58], "11740": 17, "of_goal": 17, "in_goal": 17, "11882": 17, "11981": 17, "inflat": 17, "12196": 17, "12197": 17, "8855": 17, "12253": 17, "11665": 17, "11185": 17, "unsound": [17, 34], "gradual": [17, 58], "11546": 17, "shrink": [17, 66], "11828": 17, "11663": 17, "11162": 17, "11812": 17, "12034": 17, "11258": 17, "11795": 17, "11972": 17, "width": [17, 59, 71], "12358": 17, "11618": 17, "11746": 17, "searchabout": [17, 24], "11944": 17, "7791": 17, "10747": 17, "11164": 17, "contrainst": 17, "11534": 17, "headhyp": [17, 59], "concl": [17, 59], "12295": 17, "12233": 17, "12296": 17, "12234": 17, "ocamldep": 17, "mldep": 17, "slash": [17, 57], "dumpbox": 17, "boot": 17, "11523": 17, "11589": 17, "rfrom": [17, 51], "lv": [17, 51], "11851": 17, "12097": 17, "cleanal": [17, 53], "12006": 17, "stem": 17, "12126": 17, "12211": 17, "newlin": [17, 24, 29, 53, 54, 71, 75], "text": [17, 24, 51, 52, 53, 57, 59, 66, 71, 75], "12368": 17, "11409": 17, "confusingli": [17, 58], "12005": 17, "portion": [17, 57], "foldabl": 17, "10592": 17, "py": 17, "fuzz": 17, "offset": [17, 53], "log": [17, 24, 53, 54], "timing_fuzz": [17, 53], "11302": 17, "timing_r": [17, 53], "timing_sort_bi": [17, 53], "peak": [17, 53, 66], "mem": [17, 53], "timing_include_mem": [17, 53], "timing_sort_by_mem": [17, 53], "11606": 17, "11617": 17, "html": [17, 25, 29, 53], "url": [17, 27, 52, 75, 77], "12026": 17, "7093": 17, "hyperlink": [17, 25, 29], "12033": 17, "7697": 17, "12091": 17, "11301": 17, "determinist": 17, "12027": 17, "3415": 17, "mismatch": [17, 46, 53], "throw": [17, 55], "uninform": 17, "12037": 17, "9670": 17, "12076": 17, "5030": 17, "corner": [17, 64], "12388": 17, "12387": 17, "unmaintain": 17, "11414": 17, "11415": 17, "zn2z": 17, "\u03c6": [17, 64, 71], "11686": 17, "sorted_sort": 17, "locallysorted_sort": 17, "mergesort": 17, "11885": 17, "lysxia": 17, "natord": 17, "35": [17, 27, 53], "11890": 17, "11891": 17, "11905": 17, "11909": 17, "listnot": [17, 54, 72], "11992": 17, "12073": 17, "5445": 17, "nodup_incl_nodup": 17, "nodup_permutation_bi": 17, "12120": 17, "11903": 17, "12162": 17, "bezout_comm": 17, "11127": 17, "rew": [17, 67, 77], "eqnot": 17, "11240": 17, "in_elt": 17, "in_elt_inv": 17, "app_nth2_plu": 17, "nth_middl": 17, "nth_ext": 17, "last_last": 17, "removelast_last": 17, "remove_con": 17, "remove_app": 17, "notin_remov": 17, "in_remov": 17, "in_in_remov": 17, "remove_remove_comm": 17, "remove_remove_eq": 17, "remove_length_l": 17, "remove_length_lt": 17, "in_concat": 17, "remove_concat": 17, "flat_map": [17, 24], "map_last": 17, "map_eq_con": 17, "map_eq_app": 17, "flat_map_app": 17, "flat_map_ext": 17, "nth_nth_nth_map": 17, "incl": [17, 59], "incl_nil_l": 17, "incl_l_nil": 17, "incl_cons_inv": 17, "incl_app_app": 17, "incl_app_inv": 17, "remove_incl": 17, "incl_map": 17, "incl_filt": 17, "incl_forall_in_iff": 17, "nodup_rev": 17, "nodup_filt": 17, "nodup_incl": 17, "exists_nth": 17, "exists_app": 17, "exists_rev": 17, "exists_fold_right": 17, "incl_exist": 17, "forall_app": 17, "forall_elt": 17, "forall_fold_right": 17, "incl_foral": 17, "map_ext_foral": 17, "exists_or": 17, "exists_or_inv": 17, "forall_and": 17, "forall_and_inv": 17, "exists_foral": 17, "forall_imag": 17, "concat_nil_foral": 17, "in_flat_map_exist": 17, "notin_flat_map_foral": 17, "repeat_con": 17, "repeat_to_concat": 17, "list_sum": 17, "list_max": 17, "list_sum_app": 17, "list_max_app": 17, "list_max_l": 17, "list_max_lt": 17, "misc": [17, 24, 52], "elt_eq_unit": 17, "last_length": 17, "rev_eq_app": 17, "removelast_firstn_len": 17, "cons_seq": 17, "seq_": 17, "11249": 17, "12237": 17, "lt_wf_rect1": 17, "lt_wf_rect": 17, "gt_wf_rect": 17, "lt_wf_double_rect": 17, "11335": 17, "11350": 17, "11880": 17, "permutation_refl": 17, "permutation_morph_transp": 17, "permutation_app_rot": 17, "permutation_app_swap_app": 17, "permutation_app_middl": 17, "permutation_middle2": 17, "permutation_elt": 17, "permutation_foral": 17, "permutation_exist": 17, "permutation_forall2": 17, "permutation_flat_map": 17, "permutation_list_sum": 17, "permutation_list_max": 17, "permutation_app_inv_m": 17, "permutation_vs_elt_inv": 17, "permutation_vs_cons_inv": 17, "permutation_vs_cons_cons_inv": 17, "permutation_map_inv": 17, "permutation_imag": 17, "permutation_elt_map_inv": 17, "transposit": 17, "permutation_transp": 17, "permutation_transp_sym": 17, "permutation_transp_equiv": 17, "permutation_transp_con": 17, "permutation_permutation_transp": 17, "permutation_ind_transp": 17, "11946": 17, "pat": [17, 55], "11957": 17, "boolord": 17, "bool_as_ot": 17, "bool_as_dt": 17, "12008": 17, "nth_order": 17, "nth_order_hd": 17, "nth_order_tl": 17, "nth_order_ext": 17, "nth_order_replace_eq": 17, "nth_order_replace_neq": 17, "replace_id": 17, "replace_replace_eq": 17, "replace_replace_neq": 17, "map_id": 17, "map_map": 17, "map_ext_in": 17, "map_ext": 17, "forall2": 17, "forall_impl": 17, "forall_foral": 17, "forall_nth_ord": 17, "forall2_nth_ord": 17, "12014": 17, "orb_negb_l": 17, "andb_negb_l": 17, "implb_true_iff": 17, "implb_false_iff": 17, "implb_true_r": 17, "implb_false_r": 17, "implb_true_l": 17, "implb_false_l": 17, "implb_sam": 17, "implb_contraposit": 17, "implb_negb": 17, "implb_curri": 17, "implb_andb_distrib_r": 17, "implb_orb_distrib_r": 17, "implb_orb_distrib_l": 17, "12018": 17, "cpermut": 17, "12031": 17, "orderedtypeex": 17, "12044": 17, "eth": 17, "protonmail": 17, "12015": 17, "tan_is_inj": 17, "tan_inj": 17, "atan_right_inv": 17, "tan_atan": 17, "ratan": 17, "9803": 17, "crzero": 17, "crone": 17, "cr_of_q": 17, "constructiver": 17, "constructiveminmax": 17, "constructivepow": 17, "11725": 17, "12287": 17, "12288": 17, "cons_rlist": 17, "app_rlist": 17, "app": [17, 26, 34, 35, 55, 58, 67], "11404": 17, "trigonometr": [17, 24], "asin": 17, "aco": 17, "sine": 17, "cosin": 17, "horizont": [17, 29, 53, 71, 75], "mirror": 17, "rsqr": 17, "sqrt": [17, 59], "posreal": 17, "extocamlnativestr": 17, "10486": 17, "extrhaskellstr": 17, "extrhaskellbas": 17, "12263": 17, "12257": 17, "12258": 17, "restructur": [17, 24], "43": [17, 53, 54], "11601": 17, "11871": 17, "11914": 17, "12148": 17, "12172": 17, "12239": 17, "12330": 17, "inspir": [17, 24, 75], "led": [17, 24], "11183": 17, "11314": 17, "11423": 17, "11705": 17, "11718": 17, "11720": 17, "11961": 17, "12103": 17, "11869": 17, "12150": 17, "12224": 17, "12286": 17, "thoroughli": [17, 55], "understood": [17, 32, 34, 36, 60, 71, 75], "doc_grammar": 17, "signific": [17, 24, 51, 63, 66], "revis": [17, 24, 55], "9884": 17, "10614": 17, "11797": 17, "11913": 17, "11958": 17, "11960": 17, "sphinx_rtd_them": 17, "sphinxcontrib": 17, "bibtex": 17, "11245": 17, "12523": 17, "11121": 17, "12683": 17, "12682": 17, "12572": 17, "12571": 17, "12541": 17, "12228": 17, "12594": 17, "12595": 17, "ast_closure_term": 17, "12708": 17, "12707": 17, "12677": 17, "12513": 17, "undeprec": 17, "12678": 17, "11970": 17, "12562": 17, "10988": 17, "twice": [17, 34, 51, 59, 64, 66], "row": [17, 46], "meantim": 17, "12583": 17, "12582": 17, "12738": 17, "7015": 17, "13331": 17, "13330": 17, "undetect": [17, 46], "lone": [17, 71], "12946": 17, "13026": 17, "12775": 17, "13018": 17, "hott": [17, 40], "12847": 17, "12846": 17, "12816": 17, "12787": 17, "13247": 17, "12773": 17, "12992": 17, "12857": 17, "12837": 17, "13301": 17, "13298": 17, "13351": 17, "13349": 17, "12754": 17, "12752": 17, "advertis": 17, "12772": 17, "sync": 17, "13063": 17, "13062": 17, "12794": 17, "13067": 17, "12793": 17, "12972": 17, "13011": 17, "12332": 17, "13436": 17, "13432": 17, "13468": 17, "13456": 17, "brought": 17, "scale": [17, 24, 51, 57, 64, 71], "binary64": [17, 36], "ieee": [17, 36, 77], "754": [17, 36], "relianc": 17, "bidirect": 17, "axiomatis": 17, "critic": [17, 24, 33, 54, 59], "61": [17, 53, 57], "adam": 17, "allai": 17, "helg": 17, "bahmann": 17, "langston": 17, "barrett": 17, "bertholon": 17, "michel": [17, 24], "caci": 17, "dabrowski": 17, "arma\u00ebl": 17, "gu\u00e9neau": 17, "florent": 17, "hivert": 17, "shachar": 17, "itzhaki": 17, "leli\u00e8vr": 17, "nichola": 17, "lewycki": 17, "jose": 17, "fernando": 17, "lopez": 17, "fernandez": 17, "lyng": 17, "alexandr": 17, "moin": 17, "nash": 17, "nawrocki": 17, "rand": 17, "jp": 17, "rodi": 17, "spanjel": 17, "claud": 17, "stolz": 17, "wilcox": 17, "exhaust": [17, 29, 46, 53, 54, 55, 59], "everybodi": 17, "extent": [17, 71], "influenc": [17, 24, 34], "sixth": 17, "cycl": 17, "assist": [17, 24, 25, 33, 65, 75], "2000": [17, 77], "300": [17, 24], "75": [17, 27, 71], "pari": [17, 77], "2019": [17, 77], "devis": 17, "processor": [17, 36], "nearest": [17, 54], "axiomat": [17, 24, 36, 54, 71], "floataxiom": 17, "9867": 17, "8276": 17, "10439": 17, "10664": 17, "10811": 17, "10049": 17, "10076": 17, "disj": [17, 71], "10167": 17, "10215": 17, "10441": 17, "telescop": 17, "10758": 17, "10757": 17, "human": [17, 25, 58, 75], "prose": 17, "10985": 17, "10996": 17, "10997": 17, "3282": 17, "11132": 17, "thing": [17, 52, 54, 55, 59, 67, 72], "9883": 17, "10180": 17, "connect": [17, 25, 57, 62, 71], "10963": 17, "simple_intropattern": [17, 55, 58, 67, 71, 72], "9288": 17, "cope": 17, "9856": 17, "8898": 17, "7886": 17, "9848": 17, "5155": 17, "10318": 17, "10765": 17, "10772": 17, "to_n": 17, "10774": 17, "9162": 17, "multisuccess": 17, "10966": 17, "10965": 17, "9114": 17, "10002": 17, "10289": 17, "white": [17, 57], "10324": 17, "10088": 17, "tag": [17, 24, 51, 52, 57, 66], "unwant": 17, "under_rel": 17, "unprotect": [17, 57], "10022": 17, "void": 17, "empty_set": [17, 40, 62, 71], "10932": 17, "inj_compr": 17, "11136": 17, "9530": 17, "3632": 17, "3890": 17, "4638": 17, "10173": 17, "10185": 17, "10277": 17, "10291": 17, "10476": 17, "prooftre": [17, 59, 66], "10489": 17, "4504": 17, "10399": 17, "10400": 17, "10494": 17, "addpath": [17, 24], "addrecpath": [17, 24], "delpath": [17, 24], "11187": 17, "8642": 17, "shorthand": [17, 41, 54, 57, 64], "refrom": [17, 51], "rifrom": [17, 51], "10245": 17, "vdfile": 17, "coexist": 17, "10947": 17, "11068": 17, "orderedtyp": [17, 60], "ordered_typ": [17, 60], "9772": 17, "zlogarithm": [17, 24], "zsqrt_compat": 17, "9811": 17, "constructivecauchyr": 17, "10445": 17, "classicaldedekindr": 17, "dedekind": 17, "omnisci": 17, "rdefinit": 17, "raxiom": 17, "10827": 17, "nth_error": 17, "10651": 17, "10731": 17, "morgan": 17, "law": [17, 24, 25], "classicalfact": 17, "10895": 17, "08": [17, 77], "10471": 17, "11081": 17, "11360": 17, "11361": 17, "11422": 17, "10657": 17, "11233": 17, "11231": 17, "jai": 17, "11276": 17, "10750": 17, "11311": 17, "9532": 17, "9490": 17, "10762": 17, "11203": 17, "10971": 17, "9725": 17, "11263": 17, "11063": 17, "11242": 17, "11270": 17, "11337": 17, "11430": 17, "cofix": [17, 25, 28, 29, 31, 44, 54, 55, 57, 64, 67], "11241": 17, "11428": 17, "11255": 17, "11254": 17, "11280": 17, "camlpkg": [17, 53], "unpack": 17, "mllib": [17, 53], "11357": 17, "11394": 17, "11353": 17, "gtksourceview": [17, 52], "autocomplet": 17, "11400": 17, "ranalysi": [17, 24], "ranalysis_reg": 17, "11396": 17, "source_date_epoch": 17, "11227": 17, "11811": 17, "11530": 17, "9517": 17, "9519": 17, "9521": 17, "11331": 17, "11859": 17, "10008": 17, "snyke7": 17, "11595": 17, "11131": 17, "11123": 17, "11102": 17, "11329": 17, "11114": 17, "11783": 17, "boro": 17, "12116": 17, "12045": 17, "12223": 17, "12152": 17, "12255": 17, "12070": 17, "gtk": [17, 52], "gtk_csd": 17, "12060": 17, "11080": 17, "random": 17, "12068": 17, "11943": 17, "12106": 17, "11506": 17, "stabil": 17, "6914": 17, "8817": 17, "discov": [17, 53], "9602": 17, "sigt2": [17, 27, 67], "sigt_of_sigt2": 17, "projt3_eq": 17, "8451": 17, "8850": 17, "8965": 17, "02e": [17, 29], "01": [17, 53, 64], "8764": 17, "9142": 17, "7769": 17, "7385": 17, "novel": [17, 25], "vener": 17, "fourier": [17, 24], "8457": 17, "fr\u00e9deric": 17, "mytac": [17, 55, 57], "6705": 17, "liner": [17, 25], "contextu": [17, 24, 25, 31, 41], "rh": [17, 55, 57, 59], "eq_big": [17, 57], "9651": 17, "7634": 17, "winterhalt": [17, 77], "186": 17, "lablgtk2": 17, "9279": 17, "garrigu": 17, "sogetrop": 17, "smart": 17, "greek": [17, 29, 75], "8560": 17, "05": 17, "7522": 17, "ar\u00eda": 17, "fork": 17, "ast": [17, 24, 37], "ship": [17, 66], "7902": 17, "7979": 17, "8161": 17, "8667": 17, "8945": 17, "tradit": [17, 24, 51, 63], "6857": 17, "bunch": [17, 57], "tutori": [17, 25, 63, 74, 77], "plugin_tutori": [17, 63, 74], "trunk": 17, "latest": [17, 25, 50], "deploi": 17, "barenblat": 17, "joachim": 17, "breitner": 17, "chapoton": 17, "lukasz": 17, "czajka": 17, "dalrympl": 17, "mat\u011bj": 17, "grabovsk\u00fd": 17, "gregersen": 17, "mirai": 17, "ikebuchi": 17, "matej": 17, "ko\u0161\u00edk": 17, "sam": [17, 77], "pablo": 17, "kuper": 17, "darryl": 17, "nick": 17, "marech": 17, "kayla": 17, "ngan": 17, "ryan": 17, "scott": [17, 24], "gan": 17, "shen": 17, "kamil": 17, "trzci\u0144ski": 17, "whitequark": 17, "fifth": 17, "2500": 17, "650": [17, 24, 54], "santiago": 17, "chile": 17, "april": [17, 77], "9095": 17, "topfil": 17, "\u00e0": [17, 24, 55], "foolib": 17, "8991": 17, "8989": 17, "9876": 17, "8870": 17, "stdout": [17, 75], "python2": 17, "python3": 17, "9872": 17, "9767": 17, "9705": 17, "9906": 17, "coqiderc": [17, 52], "10014": 17, "induc": [17, 24], "8217": 17, "8215": 17, "262": 17, "nonprimit": 17, "8829": 17, "funind": [17, 59, 72], "8488": 17, "undelimit": [17, 59, 71], "7135": 17, "9214": 17, "shorten": [17, 28], "gcd": [17, 59], "9874": 17, "9840": 17, "9844": 17, "8638": 17, "10061": 17, "9681": 17, "7894": 17, "8555": 17, "7309": 17, "romega": [17, 24], "8419": 17, "8987": 17, "div_mod": 17, "quot_rem": 17, "8062": 17, "conform": 17, "preexist": 17, "9524": 17, "7632": 17, "9996": 17, "5752": 17, "10012": 17, "10017": 17, "10053": 17, "10059": 17, "post": [17, 24, 53, 57], "9854": 17, "disciplin": [17, 24, 26], "across": [17, 52, 54, 55, 57, 59, 73], "9341": 17, "inE": 17, "pred_sort": 17, "predtyp": 17, "pred_class": 17, "mkpredtyp": 17, "nonproptyp": 17, "_not_": 17, "relpr": 17, "preimag": 17, "9995": 17, "8820": 17, "8791": 17, "8779": 17, "9001": 17, "extra_scop": 17, "9117": 17, "9160": 17, "8819": 17, "9307": 17, "9300": 17, "9270": 17, "9825": 17, "9274": 17, "9410": 17, "9509": 17, "9508": 17, "9364": 17, "9363": 17, "8094": 17, "9829": 17, "obvious": 17, "9743": 17, "3219": 17, "alloc": [17, 51], "clever": [17, 59, 64], "9078": 17, "8920": 17, "9306": 17, "bveq": 17, "bvxor": 17, "bvand": 17, "bvor": 17, "bvneg": 17, "8171": 17, "8365": 17, "bv2n": 17, "8815": 17, "9013": 17, "7221": 17, "9425": 17, "fset": [17, 60], "equalitiesfact": 17, "pairusualdecidabletypeful": 17, "9984": 17, "8669": 17, "credit": [17, 24], "histori": [17, 25, 26, 53, 59, 66], "histor": [17, 25, 44, 55], "9133": 17, "9668": 17, "9939": 17, "9964": 17, "10085": 17, "10205": 17, "10302": 17, "10301": 17, "10305": 17, "9336": 17, "instabl": 17, "gtk3": 17, "10360": 17, "9885": 17, "10019": 17, "421": 17, "9294": 17, "hoist": 17, "gather": [17, 24, 27, 55, 57, 58], "govern": [17, 41, 44, 52, 67], "9918": 17, "10336": 17, "10430": 17, "10361": 17, "improp": 17, "extractor": [17, 24], "10577": 17, "7348": 17, "splitat": 17, "uncon": 17, "9379": 17, "konstantino": 17, "kalla": 17, "10806": 17, "9512": 17, "10904": 17, "10891": 17, "9851": 17, "10899": 17, "10894": 17, "10852": 17, "10842": 17, "10897": 17, "4741": 17, "nonlinear": 17, "11128": 17, "11039": 17, "destko": 17, "11052": 17, "11048": 17, "11014": 17, "8459": 17, "11090": 17, "11033": 17, "uneven": 17, "dimens": 17, "resiz": 17, "11070": 17, "10956": 17, "11069": 17, "11058": 17, "11000": 17, "10728": 17, "autonom": 17, "vectordef": 17, "coordin": [17, 24], "homebrew": 17, "emac": [17, 51, 52, 59, 66], "ybertot": 17, "l\u00e9o": 17, "andr\u00e8": 17, "rin": 17, "arakaki": 17, "siddharth": 17, "bhat": 17, "timothi": 17, "bourk": 17, "ambrois": 17, "lafont": [17, 77], "leonida": 17, "lampropoulo": 17, "peter": [17, 24], "lefanu": 17, "lumsdain": 17, "sven": 17, "hallberg": 17, "cyprien": 17, "mangin": 17, "perri": 17, "metzger": 17, "grayson": 17, "paul": 17, "steckler": 17, "zeimer": 17, "fourth": [17, 54, 57], "decentr": 17, "000": [17, 53, 54], "consortium": 17, "2018": 17, "nameless": [17, 77], "lazymatch": 17, "constr_eq": 17, "constr_eq_strict": [17, 54], "constr_eq_nouniv": 17, "unfocu": [17, 66], "string_scop": [17, 71], "whichev": 17, "n2bv_size": 17, "n2bv_gen": 17, "int_scop": 17, "uint_scop": 17, "dec_int_scop": [17, 71], "dec_uint_scop": [17, 71], "stringsyntax": 17, "asciisyntax": 17, "binintdef": 17, "parith": 17, "binposdef": [17, 59], "binnatdef": [17, 59], "coq88": 17, "download": [17, 27, 53, 77], "gist": 17, "jasongross": 17, "5d4558edf8f5c2c548a3d96c17820169": 17, "okj": 17, "cup": [17, 26, 34, 51], "coffe": 17, "noi": [17, 51], "coqflag": [17, 53], "coqchkflag": [17, 53], "coqdocflag": [17, 53], "contact": [17, 52], "compani": [17, 66], "mainten": [17, 25, 58, 63], "ssrhave": [17, 57], "notcresolut": [17, 57], "loadabl": 17, "server": [17, 52], "parallel": [17, 24, 25, 38, 51, 52, 53, 54, 57, 76], "fledg": 17, "coqidetop": 17, "worker": [17, 25, 52, 54], "_x_": [17, 57], "idiom": [17, 54, 55, 57, 66], "octal": 17, "hex": 17, "pg": [17, 66], "list_scop": [17, 64, 71], "vector_scop": 17, "life": 17, "destructur": [17, 24, 25, 32, 40], "overhaul": 17, "peopl": 17, "calvin": 17, "beck": 17, "heiko": 17, "becker": 17, "richard": 17, "ford": 17, "laurenc": [17, 57], "rideau": [17, 57], "zyuzin": 17, "lint": [17, 53], "track": [17, 24, 51, 53, 55, 57], "wiki": [17, 64], "bugtrack": 17, "44": 17, "pascal": 17, "hebb": 17, "johann": 17, "kloo": 17, "toni": 17, "farzon": 17, "lotfi": 17, "rapha\u00ebl": 17, "monat": [17, 24], "matt": 17, "quinn": 17, "sigurd": 17, "schneider": 17, "vassor": 17, "vadim": 17, "zaliva": 17, "roadmap": 17, "tracker": [17, 54], "brain": 17, "storm": 17, "amin": 17, "timani": 17, "emploi": [17, 42], "march": [17, 24, 77], "occas": 17, "leftmost": [17, 34, 41, 58], "factoriz": [17, 46], "perf": [17, 64], "1362": 17, "uselocaldef": 17, "restart_tim": [17, 54], "finish_tim": [17, 54], "time_constr": [17, 25], "optimize_heap": [17, 66], "heap": [17, 54, 66], "garbag": [17, 75], "dtauto": [17, 62], "unintendedli": 17, "give_up": 17, "appcontext": 17, "older": [17, 29, 51, 67], "ongo": [17, 63], "4129": 17, "boundari": [17, 54], "5726": 17, "linter": [17, 51], "geoproof": 17, "faq": 17, "decimalfact": 17, "decimalnat": 17, "decimalpo": 17, "decimaln": 17, "decimalz": 17, "decimalstr": 17, "concaten": [17, 26, 54, 55, 67], "zpo": 17, "l2r": 17, "asynchron": [17, 25, 66, 76], "7333": 17, "7695": 17, "7615": 17, "7723": 17, "7462": 17, "mileston": 17, "pdf": [17, 29, 77], "toler": 17, "eassert": [17, 43, 58], "redesign": [17, 24], "palat": [17, 55], "safer": [17, 24], "writer": [17, 29, 55], "txt": [17, 24, 53], "streamlin": [17, 24], "sibut": 17, "pinot": 17, "bign": 17, "bigz": [17, 53], "bigq": 17, "archiv": [17, 77], "softwar": [17, 24, 25, 59, 77], "kit": 17, "prepar": [17, 24], "regularli": 17, "travi": 17, "bell": 17, "marti": 17, "pierc": 17, "r\u00e9gi": 17, "giana": 17, "stell": 17, "strub": 17, "road": 17, "attract": 17, "hopefulli": [17, 55], "propos": [17, 24, 34, 54], "publicli": 17, "upcom": 17, "foundat": [17, 24, 29, 54, 57, 77], "august": [17, 24], "2017": 17, "bare": [17, 71], "existt": [17, 27, 67, 71], "ever": [17, 52, 55, 57, 67, 71], "h2": [17, 34, 43, 54, 55, 57, 58, 67], "eq_sigt_rect": 17, "sig2": [17, 27, 35, 67], "eq_sig": [17, 67], "couterbal": 17, "outperform": 17, "ymmv": 17, "miller": 17, "fairli": [17, 57], "constr_with_bind": 17, "open_constr_with_bind": 17, "epos": [17, 43, 58, 71], "eset": [17, 43, 58], "erememb": [17, 43, 58], "4890": 17, "unfocus": [17, 34, 55, 59, 66, 67], "fashion": [17, 24, 51], "someon": 17, "metric": 17, "weight": 17, "propextension": 17, "setoidchoic": 17, "choicefact": 17, "powerrz": 17, "strengthen": [17, 35, 57, 67], "jmeq_eq_dep": 17, "4912": 17, "inr": [17, 27, 40], "inr_izr_inz": 17, "camlp4": [17, 24], "overview": [17, 25, 71], "retro": 17, "ocamlc": 17, "ocamlopt": 17, "race": 17, "cmi": 17, "1859": 17, "2884": 17, "3613": 17, "3943": 17, "3994": 17, "4250": 17, "4709": 17, "4720": 17, "4824": 17, "4844": 17, "4911": 17, "5026": 17, "5233": 17, "5275": 17, "5315": 17, "5336": 17, "5360": 17, "5390": 17, "5414": 17, "5417": 17, "5420": 17, "5439": 17, "5449": 17, "5475": 17, "5476": 17, "5482": 17, "5501": 17, "5507": 17, "5520": 17, "5523": 17, "5524": 17, "5553": 17, "5577": 17, "5578": 17, "5589": 17, "5597": 17, "5598": 17, "5607": 17, "5618": 17, "5619": 17, "5620": 17, "5641": 17, "5648": 17, "5651": 17, "5671": 17, "5730": 17, "unrespons": 17, "ram": 17, "06": [17, 24, 53, 77], "6677": 17, "450": 17, "art": [17, 52], "brand": 17, "irrefut": [17, 25, 32, 40, 57], "ltacprof": 17, "tobia": 17, "tebbi": 17, "s\u00e9bastien": 17, "hinder": 17, "refactor": [17, 64], "gregori": 17, "malecha": 17, "throughout": [17, 29], "boutilli": 17, "clerc": 17, "ricki": 17, "elrod": 17, "jonathan": 17, "leivent": 17, "2016": 17, "symptom": 17, "\u03bb": [17, 24, 26, 31, 34, 38, 52, 54, 57, 66, 77], "fixabl": 17, "retyp": 17, "coq85": [17, 31, 77], "seriou": [17, 71], "pat1": 17, "patn": 17, "is_ind": [17, 54], "is_const": 17, "is_proj": 17, "is_constructor": 17, "notypeclass": [17, 58], "regexp": [17, 60], "goe": [17, 53, 55, 59, 66], "scrutine": 17, "5248": 17, "architectur": [17, 24, 29], "5380": 17, "5574": 17, "5205": 17, "5568": 17, "5019": 17, "5550": 17, "5546": 17, "5535": 17, "5486": 17, "5522": 17, "var": [17, 24, 26, 54, 58], "5526": 17, "5255": 17, "3659": 17, "5300": 17, "outdat": 17, "5487": 17, "5377": 17, "4306": 17, "5435": 17, "Be": [17, 75], "5132": 17, "comand": 17, "resilient_command": 17, "5365": 17, "5244": 17, "4969": 17, "five": [17, 27, 64], "carst": 17, "tankink": 17, "outcom": [17, 51, 53, 54, 67], "pave": 17, "smarter": 17, "makariu": 17, "wenzel": 17, "pide": 17, "jedit": 17, "coqoon": 17, "alexand": 17, "faithful": 17, "jesper": [17, 77], "bengtson": 17, "fund": 17, "paral": 17, "itp": [17, 77], "french": 17, "anr": 17, "justifi": [17, 27], "partli": [17, 57], "ia": 17, "princeton": 17, "compliant": 17, "unival": 17, "homotopi": 17, "channel": [17, 51], "braibant": 17, "benchmark": [17, 54], "greg": 17, "marc": 17, "lasson": 17, "half": [17, 24, 37, 66], "notin": [17, 26], "fran\u00e7oi": [17, 57], "ripault": 17, "2015": [17, 24], "decemb": [17, 24, 77], "omegatact": 17, "nonstandard": 17, "accident": [17, 57], "beginn": [17, 25], "projt1": [17, 27], "unchang": [17, 54, 57, 58, 60, 64, 66], "vertic": [17, 59, 71], "param": 17, "mkr": 17, "heavili": 17, "foo_rect": 17, "foo_rec": 17, "2693": 17, "nonrecurs": [17, 37, 40, 67, 72], "searchrewrit": [17, 24], "searchpattern": [17, 24], "retriev": [17, 51, 54, 59, 60, 77], "footprint": 17, "pipe": 17, "solvabl": [17, 58, 62], "repars": [17, 54], "combinator": 17, "explos": 17, "multimatch": 17, "coqworkmgr": 17, "revgoal": 17, "indefinit": 17, "accompani": 17, "materi": [17, 24, 25, 50, 57], "shelve_unifi": [17, 58], "proof_admit": 17, "fundament": [17, 24, 31, 57], "tryif": [17, 25], "2680": 17, "supersed": 17, "fly": [17, 55, 57], "borrow": 17, "forthcom": 17, "ipat": [17, 57], "spent": [17, 51, 53, 54], "type_term": [17, 25], "piecewis": 17, "friendli": [17, 24, 52], "premis": [17, 24, 28, 35, 57, 60, 66], "residu": [17, 57], "discontinu": 17, "info_auto": [17, 60], "info_trivi": 17, "dumpgraph": 17, "checkproof": 17, "concurr": 17, "yellow": [17, 52], "editor": [17, 52, 53, 77], "retract": 17, "lock": [17, 25], "area": 17, "detach": [17, 52], "screen": [17, 52, 59], "station": 17, "coq_color": 17, "rocqlib": [17, 51, 53, 59, 71], "toploop": 17, "intf": 17, "constrexpr": 17, "glob_term": 17, "coqrunbyteflag": 17, "blank": [17, 24, 29, 53], "comma": [17, 46, 51, 52, 55, 57, 74], "coqtoolsbyteflag": 17, "8388851": 17, "8388607": 17, "randomli": 17, "change_arg": 17, "make_change_arg": 17, "loos": [17, 60], "lax": [17, 55, 60], "unload": 17, "sublemma": 17, "subcompon": [17, 51], "evarmap": 17, "leak": 17, "unsafe_": 17, "type_of": 17, "unsafe_type_of": 17, "e_type_of": 17, "e_": [17, 35], "tacmach": 17, "pf_type_of": 17, "pf_unsafe_type_of": 17, "lack": [17, 53, 54, 57], "coq84": 17, "admitaxiom": 17, "c1": [17, 46, 57, 67, 71], "cn": 17, "4588": 17, "merlin": [17, 53], "compare_cas": 17, "prod_appvect": 17, "econstructor": [17, 43, 67], "get_current_context": 17, "4603": 17, "4630": 17, "20x": 17, "4627": 17, "4623": 17, "4591": 17, "brows": [17, 25, 27, 52, 57, 73], "resili": [17, 25], "4614": 17, "uninterrupt": 17, "ascrib": 17, "4533": 17, "win": 17, "kill": 17, "unreli": 17, "waitpid": 17, "4369": 17, "4608": 17, "output_valu": 17, "4607": 17, "4105": 17, "poor": 17, "4596": 17, "broke": 17, "week": 17, "4544": 17, "betaiota": 17, "4540": 17, "4580": 17, "4582": 17, "4683": 17, "stm": 17, "4542": 17, "4574": 17, "invalid_argu": [17, 55], "splay_ar": 17, "4547": 17, "stock": 17, "4530": 17, "4537": 17, "4522": 17, "4373": 17, "3826": 17, "4495": 17, "metasyntax": 17, "4511": 17, "4503": 17, "4519": 17, "oop": 17, "4506": 17, "indrec": 17, "4548": 17, "checksum": [17, 51], "4097": 17, "4398": 17, "4450": 17, "4677": 17, "4644": 17, "4725": 17, "placehold": [17, 43, 44, 51, 57, 58, 66, 71], "4747": 17, "4752": 17, "4777": 17, "4818": 17, "undefin": [17, 28], "4823": 17, "remot": 17, "counter": [17, 62], "thread": 17, "socket": 17, "4841": 17, "4851": 17, "4858": 17, "hd": [17, 30, 34, 57, 72], "4880": 17, "nsatz_comput": 17, "certif": 17, "4881": 17, "synchron": [17, 24, 52], "4882": 17, "4069": 17, "4718": 17, "4876": 17, "4780": 17, "4673": 17, "4754": 17, "4769": 17, "3886": 17, "4994": 17, "typo": [17, 44], "5008": 17, "md5": 17, "openbsd": 17, "5007": 17, "4606": 17, "5001": 17, "clenv_refine_in": 17, "2336": 17, "4832": 17, "extran": [17, 52], "4947": 17, "4156": 17, "4871": 17, "5043": 17, "5062": 17, "5065": 17, "5077": 17, "5095": 17, "4887": 17, "4762": 17, "4970": 17, "4529": 17, "4416": 17, "4863": 17, "5123": 17, "3209": 17, "5097": 17, "wrt": [17, 24], "5150": 17, "subsystem": [17, 24], "prerequisit": [17, 53], "3941": 17, "4822": 17, "3479": 17, "5127": 17, "5102": 17, "parse_entri": 17, "pcm": 17, "logarithm": 17, "graphic": [17, 25, 29, 51, 52], "textual": [17, 46, 71], "glondu": 17, "confid": [17, 24, 25], "lw11": [17, 77], "permiss": [17, 53], "chung": 17, "kil": 17, "hur": 17, "heq": [17, 54, 67], "is_evar": [17, 54], "has_evar": 17, "came": 17, "analyz": [17, 40, 57, 67], "black": [17, 29], "andrew": [17, 77], "appel": 17, "unprov": [17, 43, 58], "frac": [17, 26, 31, 34, 35, 38], "zar": 17, "\u00e9lie": 17, "soubiran": 17, "chlipala": 17, "why3": 17, "lri": [17, 24, 77], "matthia": 17, "puech": 17, "narboux": 17, "debian": 17, "tom": 17, "princ": 17, "c\u00e9dric": 17, "auger": 17, "baeld": 17, "dan": [17, 24, 77], "herm": 17, "eeli": 17, "weegen": 17, "2011": [17, 77], "pcompar": 17, "compare_cont": 17, "z_le_gt_dec": 17, "shiftl": 17, "shiftr": 17, "theorylist": 17, "cv": [17, 51], "mid": 17, "juli": [17, 24], "todo": 17, "moment": [17, 26, 52, 53, 54], "zpred": 17, "1912": 17, "2236": 17, "nocor": [17, 60], "2188": 17, "pseudo": [17, 57, 60], "tabul": [17, 24, 57], "substr": [17, 59], "_subproof": [17, 59, 66], "private_": [17, 59], "xx": 17, "aren": [17, 52, 53, 54, 58, 73, 75], "2168": 17, "lcm": [17, 59], "log2": [17, 59], "binnum": [17, 59, 71], "regroup": 17, "add_0_l": 17, "add_comm": [17, 59, 64], "add_assoc": [17, 59], "zplus_comm": 17, "binpo": [17, 59], "spite": 17, "incompatibili": 17, "infam": 17, "ternari": 17, "zle": 17, "pos_sub": 17, "truncat": [17, 57], "zodiv": 17, "floor": 17, "z2nat": 17, "n2z": 17, "nmake_gen": 17, "nmake": 17, "rework": 17, "creation": [17, 24, 43, 60], "vcon": [17, 67], "vectornot": 17, "eq_rect_r": [17, 27], "iter_nat": 17, "nat_it": 17, "dont": [17, 59], "hash": 17, "cons": 17, "alongsid": 17, "usecamlp4": 17, "aspect": [17, 24, 46], "itarget": 17, "ocamlbuild": 17, "cross": [17, 24, 35, 38, 64, 66, 71], "mingw": 17, "truli": [17, 57], "accessopaqu": 17, "layout": 17, "cst1": 17, "cst2": 17, "2555": 17, "subprocess": 17, "relaunch": 17, "xp": 17, "sp1": 17, "dialect": 17, "2357": 17, "xdg_config_hom": [17, 51, 52], "acceler": [17, 52], "xdg_data_hom": [17, 51, 53], "xdg_data_dir": [17, 51], "rc": [17, 24], "mlpack": [17, 53], "preproccess": 17, "ml4": 17, "mlihtml": 17, "config": [17, 51, 52], "dstroot": 17, "backto": [17, 59], "unavail": 17, "resum": 17, "reintroduc": [17, 57], "ergo": 17, "yice": 17, "cvc3": 17, "z3": 17, "cvcl": 17, "harvei": 17, "zenon": 17, "gwhy": 17, "why2": 17, "suitabl": [17, 41, 52], "mset": 17, "msetavl": 17, "ed": [17, 24], "xyz": 17, "spirit": [17, 34, 55], "case_eq": 17, "2489": 17, "setoidpermut": 17, "partit": 17, "evolut": [17, 77], "evolv": [17, 24, 37, 52, 54], "intertwin": [17, 57], "cascad": 17, "march\u00e9": [17, 24], "usefulli": 17, "garillot": 17, "robin": [17, 77], "green": [17, 29, 52, 66], "lescuy": 17, "cast\u00e9ran": [17, 77], "excel": 17, "2010": 17, "eq_tru": 17, "heterogen": [17, 67], "proper_prf": 17, "courtesi": 17, "classical_prop": 17, "gappa": 17, "2104": 17, "groebner": 17, "t2": [17, 34, 42], "edestruct": [17, 43, 58, 67], "exfalso": [17, 58], "falso": [17, 58], "quodlibet": [17, 58], "upward": [17, 24], "uncapit": 17, "danger": 17, "weird": 17, "gain": [17, 24], "legal": [17, 31, 34], "harsh": 17, "flatten": 17, "unappli": 17, "extrocaml": 17, "big_int": 17, "hard": [17, 55, 59, 64], "wire": [17, 55], "expr": [17, 54, 55, 71], "handi": [17, 71], "conv_expr": 17, "compare_dec": [17, 24], "nat_compar": 17, "lt_eq_lt_dec": 17, "nat_compare_alt": 17, "zlt_gt_succ": 17, "zlt_succ_gt": 17, "permtat": 17, "set_map": 17, "worst": [17, 59], "ln": 17, "permutsetoid": 17, "heapsort": [17, 24], "decidabletyp": 17, "orderstac": 17, "genericminmax": 17, "compspec": 17, "flavor": [17, 37, 71], "trunc": 17, "beautifi": [17, 51], "reformat": 17, "revamp": 17, "offsid": 17, "whitespac": [17, 24, 53, 75], "italic": [17, 75], "_underscores_": 17, "toc": [17, 75], "header": [17, 51, 75], "titl": [17, 52, 75], "interpol": [17, 53, 75], "typeset": [17, 75], "dynlink": [17, 59], "cma": 17, "cmxa": 17, "novelti": [17, 25], "landmark": 17, "arbitrarili": [17, 58, 71], "hi": [17, 24, 34], "concept": [17, 24, 25, 31, 57, 77], "krivin": [17, 64], "stengl": 17, "positivstellensatz": [17, 25], "motzkin": 17, "plane": [17, 24, 25], "deliv": 17, "importantli": 17, "knowledg": [17, 25, 71], "comfort": [17, 46], "supervis": [17, 24], "sile": 17, "alon": [17, 24, 34, 67], "hijack": 17, "malici": [17, 51], "maman": 17, "mimram": 17, "connor": 17, "cezari": 17, "kaliszyk": 17, "milad": 17, "niqui": 17, "partner": 17, "marel": 17, "microsoft": 17, "radboud": 17, "nijmegen": [17, 24], "particip": [17, 57], "palaiseau": 17, "2008": [17, 77], "overload": [17, 24, 25, 71], "id1": 17, "idn": 17, "acc_rect": [17, 27, 34], "zeta": [17, 24, 31, 55, 64], "setoidlist": 17, "zmisc": 17, "troubl": [17, 54, 64, 67], "setistyp": 17, "challeng": [17, 24, 77], "fsetinterfac": 17, "eq_dec": 17, "miniorderedtyp": 17, "mot_to_ot": 17, "fsetdecid": 17, "aaron": 17, "bohannon": 17, "fsetproperti": 17, "1347": 17, "avl": 17, "fsetavl": 17, "fmapavl": 17, "lightweight": 17, "balanc": [17, 57], "appendix": 17, "fsetfullavl": 17, "fmapfullavl": 17, "intmap": [17, 24], "cachan": [17, 24], "eq_nat_dec": 17, "z_lt_le_dec": 17, "positive_as_ot": 17, "xi": 17, "xo": 17, "nminu": 17, "nmin": 17, "nmax": 17, "zpower": [17, 24], "null": [17, 24, 57], "_full": 17, "eqnat": [17, 26], "eqlista": 17, "equivlista": 17, "english": 17, "prod_f_so": 17, "prod_f_r0": 17, "ln_exists1": 17, "rlogic": 17, "intuitionist": [17, 24, 25, 27, 34, 57, 62, 77], "indefinitedescript": 17, "rstar": [17, 24], "newman": [17, 24], "coc_histori": 17, "defens": [17, 24, 44, 57], "refrain": 17, "nnn": [17, 71], "expr_0": 17, "expr_1": 17, "expr_n": 17, "expr_i": 17, "intermedi": [17, 27, 57, 66], "erewrit": [17, 43, 64], "ediscrimin": [17, 43, 67], "einject": [17, 43, 67], "esimplify_eq": [17, 43], "simplify_eq": [17, 24, 67], "eelim": [17, 43, 67], "ecas": [17, 43, 58, 67], "einduct": [17, 43, 58, 67], "generer": 17, "th": [17, 30, 34, 40, 57, 58, 66, 67, 77], "id_1": 17, "id_n": 17, "basicelim": [17, 67], "nota": 17, "clarif": 17, "ifi": 17, "in_left": 17, "in_right": 17, "program_scop": 17, "class_1": 17, "param_1": 17, "param_n": 17, "class_2": 17, "some_class": 17, "setoid_replac": [17, 24, 64, 71], "55": 17, "signature_scop": 17, "cst": 17, "morphisms_rel": 17, "setoidtact": [17, 71], "subrel": [17, 25], "onto": [17, 71], "conflit": 17, "font": [17, 52, 53, 75], "monospac": 17, "meaning": [17, 29, 52], "coqdir": [17, 75], "subdir": [17, 51, 53], "tex": [17, 53, 75], "whelp": 17, "getter": 17, "browser": [17, 52], "coqtest_skipcomplex": 17, "zinc": [17, 64, 77], "christin": [17, 24, 27, 34, 77], "paulin": [17, 24, 27, 34, 77], "ayach": 17, "rocquencourt": [17, 24], "pennsylvania": [17, 77], "yale": 17, "2006": 17, "corollari": [17, 32], "helm": [17, 24], "constr_may_ev": 17, "setoid_symmetri": 17, "setoid_transit": 17, "setoid_reflex": 17, "autorewit": 17, "5941": 17, "noncrit": 17, "classical_left": [17, 58], "classical_right": [17, 58], "eassumpt": [17, 43, 58, 60], "rtauto": [17, 62], "f_equalx": 17, "hug": 17, "pp": [17, 53], "jussieu": 17, "m1": [17, 35], "m2": [17, 35], "mn": 17, "zmin": 17, "zmax": 17, "zminmax": 17, "zgt_square_simpl": 17, "zlt_square_simpl": 17, "digit": [17, 24, 29, 44, 51, 52, 71], "weaken": [17, 67], "z_lt_induct": 17, "eqdep": 17, "acc_it": 17, "acc_iter2": 17, "omegalemma": 17, "acc": [17, 27, 34, 35], "clos_refl_tran": 17, "in_dec": 17, "xor": 17, "bridg": [17, 57], "bitvector": 17, "addr": 17, "fmapintmap": 17, "coqremotebrows": 17, "e1": [17, 42, 46, 57], "e2": [17, 42, 46], "abandon": 17, "irrevers": [17, 24], "pfen": [17, 24, 77], "synthesi": [17, 24, 44], "phi": 17, "web": [17, 27, 52, 53], "field_simplify_eq": 17, "monom": 17, "constructiveepsilon": 17, "countabl": 17, "mathematician": 17, "purifi": 17, "lowercas": [17, 29, 37, 46, 52, 55], "perfum": 17, "novic": [17, 57], "reform": 17, "thirdli": 17, "gtk2": 17, "pictur": 17, "salient": [17, 24], "desmettr": [17, 24], "jacek": [17, 24], "chrz\u0105szcz": [17, 24], "nsi": 17, "orsai": [17, 24], "apr": 17, "2004": 17, "conjectur": [17, 28, 66], "0380": 17, "03ff": 17, "hebrew": [17, 29], "u05d0": 17, "05ef": 17, "2100": 17, "214f": 17, "2080": 17, "2089": 17, "2200": 17, "22ff": 17, "supplement": 17, "2a00": 17, "2aff": 17, "2300": 17, "23ff": 17, "2600": 17, "26ff": 17, "2190": 17, "21ff": 17, "2900": 17, "297f": 17, "factori": [17, 24, 54, 55, 64], "well_founded_induct": [17, 27], "true_sub": 17, "zplu": 17, "fast_integ": 17, "le_minu": [17, 72], "lt_mult_left": 17, "zarith_aux": 17, "iff_tran": 17, "someth": [17, 31, 52, 53, 54, 55, 59, 64], "fast_": 17, "new_var": 17, "omega2": 17, "zle_zmult_right2": 17, "zle_mult_simpl": 17, "zle_0_plu": 17, "zplus_assoc_l": 17, "zplus_assoc": 17, "zmult_on": 17, "zmult_1_n": 17, "zmult_assoc_l": 17, "zmult_assoc": 17, "zmult_minus_distr": 17, "zmult_zminus_distr_l": 17, "add_un_double_moins_un_xo": 17, "is_double_moins_un": 17, "rlt_monotony_rev": 17, "rlt_monotony_contra": 17, "zmult_zminus_distr_r": 17, "zcomplement": [17, 24], "freshid": 17, "decrement": [17, 54], "newdestruct": [17, 24], "newinduct": [17, 24], "contradictori": [17, 67], "rge_l": 17, "shorter": [17, 31, 35, 57, 59], "eleft": [17, 43, 67], "eright": [17, 43, 67], "esplit": [17, 43, 67], "eqt": [17, 46], "gen_constant_modul": 17, "zarith_base_modul": 17, "entier": 17, "pmult": 17, "times_sym": 17, "pmult_comm": 17, "zle_zmult_pos_right": 17, "zmult_le_compat_r": 17, "superieur": 17, "ext": [17, 24, 34], "ext2": [17, 24], "allt": [17, 24], "identityt": 17, "backquot": 17, "iso": [17, 75], "latin": [17, 29], "inz": 17, "inject_nat": 17, "zarith_bas": 17, "v7": [17, 24], "c2": [17, 46, 57, 67, 71], "stepl": [17, 64], "stepr": [17, 64], "ipattern": 17, "successor": [24, 34, 39], "ten": 24, "research": [24, 77], "briefli": [24, 27, 57], "survei": 24, "frege": 24, "centuri": 24, "discoveri": 24, "antinomi": 24, "comprehens": 24, "stratif": 24, "culmin": 24, "principia": 24, "mathematica": 24, "church": [24, 77], "howard": [24, 26, 66, 77], "isomorph": [24, 25, 46, 55, 62, 66, 67, 77], "automath": 24, "jut": 24, "landau": 24, "grundlagen": 24, "1970": 24, "saw": 24, "emerg": 24, "l\u00f6f": [24, 27, 34], "girard": [24, 77], "f_": 24, "coquand": [24, 34, 77], "1985": [24, 77], "coc": 24, "awkward": [24, 54], "1989": [24, 77], "mixtur": 24, "pioneer": 24, "1960": 24, "davi": 24, "putnam": 24, "semidecis": 24, "1965": 24, "robinson": 24, "studi": [24, 31], "convinc": 24, "realiz": [24, 25, 27, 32], "ambiti": 24, "approach": [24, 52, 53, 55, 57, 58, 67, 75], "aid": 24, "lcf": [24, 55], "milner": [24, 55, 77], "colleagu": 24, "edinburgh": 24, "moor": 24, "bishop": 24, "kleen": [24, 60], "methodologi": [24, 57], "revolutionari": 24, "paradigm": 24, "theme": [24, 52], "intellig": [24, 42], "walding": 24, "tablog": 24, "manna": 24, "tableau": 24, "undertaken": 24, "cornel": 24, "nuprl": 24, "constabl": 24, "hayashi": 24, "kyoto": 24, "lisp": 24, "feferman": 24, "grow": [24, 54, 55, 59], "scienc": [24, 77], "forese": 24, "dai": [24, 51], "hope": [24, 52], "1995": [24, 77], "g\u00e9rard": [24, 77], "huet": [24, 77], "1984": 24, "dowek": 24, "hierarch": [24, 35], "dead": [24, 64], "felti": 24, "mous": [24, 52], "widget": 24, "1991": [24, 77], "doligez": 24, "1992": [24, 77], "murthi": 24, "1993": [24, 77], "centaur": 24, "ctcoq": 24, "croap": 24, "v5": 24, "chet": 24, "reloc": 24, "driven": [24, 60], "1994": [24, 77], "mohr": [24, 27, 77], "manouri": 24, "impos": [24, 30, 34, 57], "propr": 24, "mu\u00f1oz": [24, 77], "dyckhoff": [24, 54, 62, 77], "ketonen": 24, "weyhrauch": 24, "reliev": 24, "tediou": [24, 34, 53, 57, 67], "feb": 24, "1st": [24, 27, 34, 46, 57, 59, 64, 71, 72], "phd": [24, 77], "thesi": [24, 77], "metamathemat": [24, 77], "backend": 24, "lockwood": 24, "morri": 24, "gui": [24, 52, 76], "cousineau": 24, "ancestor": [24, 53], "paulson": 24, "cambridg": [24, 77], "1983": 24, "frozen": 24, "22nd": 24, "defend": 24, "31st": 24, "19th": 24, "ch85": [24, 77], "her": 24, "dea": [24, 77], "internship": 24, "memoir": 24, "she": [24, 55], "lambo": 24, "vote": 24, "ch86b": [24, 77], "fuller": 24, "math\u00e9matiqu": 24, "informatiqu": [24, 77], "formalis\u00e9": 24, "calcul": [24, 25, 77], "ch86a": [24, 77], "16th": [24, 77], "articl": 24, "moh86": [24, 77], "quicksort": 24, "13": [24, 25, 51, 54, 57, 77], "25th": 24, "1986": [24, 77], "synthet": 24, "cmu": 24, "invit": [24, 42], "joint": 24, "confer": [24, 77], "tapsoft": 24, "87": [24, 53], "pise": 24, "1987": 24, "publish": [24, 53, 77], "hue88": [24, 77], "categor": 24, "llm3": 24, "j\u00e9r\u00f4me": 24, "chailloux": 24, "mauni": 24, "ascand": 24, "suarez": 24, "wei": 24, "v3": [24, 57], "summer": 24, "held": 24, "doctor": 24, "sml": 24, "v4": 24, "24th": 24, "exempl": 24, "knaster": 24, "tarski": 24, "terminologi": [24, 55], "gill": [24, 72], "sticki": 24, "vax": 24, "central": [24, 25], "lab": 24, "transfer": 24, "sun": 24, "person": [24, 64], "workstat": 24, "decor": [24, 29, 42], "loic": 24, "colson": 24, "6th": 24, "1988": [24, 77], "banner": 24, "avec": 24, "r\u00e9alis": 24, "synth\u00e8s": 24, "accommod": [24, 57], "2nd": [24, 34, 41, 46, 57, 67, 72, 77], "european": [24, 77], "symposium": [24, 77], "nanci": 24, "88": [24, 53, 54, 77], "perspect": [24, 77], "commemor": [24, 77], "volum": [24, 77], "gift": [24, 77], "siromonei": [24, 77], "narasimhan": [24, 77], "scientif": [24, 77], "demonstr": [24, 54, 67], "yop": 24, "institut": [24, 27], "austin": 24, "texa": 24, "rehaul": 24, "randi": 24, "pollack": 24, "lego": 24, "luo": 24, "inter": [24, 53], "legitim": 24, "trust": [24, 33, 36, 73], "releg": 24, "puzzlement": 24, "schroeder": 24, "bernstein": 24, "octob": [24, 77], "8th": 24, "judgement": 24, "pointer": [24, 26], "spectacular": 24, "acycl": [24, 39], "insur": 24, "founded": 24, "memo": 24, "elast": 24, "spring": 24, "coq89": [24, 77], "mohrin": 24, "f\u03c9": 24, "pm89": [24, 77], "hue89": [24, 66, 77], "guid": 24, "syllabu": 24, "matur": 24, "v2": [24, 57], "ppm89": [24, 77], "cp90": [24, 34, 77], "pm93b": [24, 77], "1990": [24, 77], "workshop": [24, 77], "chalmer": [24, 77], "g\u00f6teborg": 24, "cnr": 24, "lip": [24, 77], "laboratori": 24, "\u00e9cole": 24, "sup\u00e9rieur": 24, "lyon": [24, 77], "formel": 24, "cristal": 24, "roquencourt": 24, "en": [24, 57, 64, 77], "chetan": 24, "architect": 24, "cristina": [24, 46, 67, 77], "corn": [24, 46, 67, 77], "aczel": 24, "coscoi": 24, "cr\u00e9gut": 24, "presburg": 24, "organis": 24, "judica\u00ebl": 24, "courant": 24, "nov": 24, "18th": 24, "1996": 24, "eduardo": 24, "gim\u00e9nez": [24, 77], "delahay": [24, 77], "laulh\u00e8r": 24, "4th": [24, 41, 44, 77], "1998": [24, 77], "v6": 24, "tricki": [24, 57], "cnet": 24, "lannion": 24, "1999": 24, "2001": [24, 77], "2002": [24, 77], "2003": 24, "optimis": 24, "micaela": 24, "mayero": 24, "chasl": 24, "pcoq": 24, "sop": 24, "lemm": 24, "hypertextu": 24, "electron": [24, 77], "unibo": 24, "goubault": 24, "d\u00e9mon": 24, "duprat": 24, "miquel": 24, "alvarado": 24, "franc": [24, 77], "telecom": 24, "17": [24, 25, 53, 57], "19": [24, 25, 41, 57, 77], "polylist": 24, "_and_": 24, "sum_ind": [24, 27, 71], "strength": 24, "expir": 24, "eq_nat": [24, 42], "reflexion": 24, "exchang": [24, 52, 66], "discrr": 24, "splitrmult": 24, "splitabsolu": 24, "decompos": [24, 57, 67], "lettac": 24, "schema": 24, "excess": 24, "vari": [24, 54, 58, 67, 71], "econom": [24, 77], "a0": [24, 46, 64, 67], "stuff": [24, 53, 75], "sentence_1": 24, "sentence_n": 24, "angl": 24, "trick": [24, 55, 57, 58, 72], "num1": 24, "num2": 24, "physical_dir": 24, "logical_dir": 24, "myconst": 24, "searchiso": 24, "do_makefil": 24, "coqrc": [24, 25], "exc": [24, 27], "fta": 24, "herman": 24, "geuver": 24, "freek": 24, "wiedijk": 24, "zwanenburg": 24, "henk": 24, "barendregt": [24, 77], "zfc": 24, "functions_in_zfc": 24, "simpson": 24, "sylvi": 24, "boldo": 24, "formalis": [24, 57, 77], "ctl": 24, "tctl": 24, "tempor": 24, "ctltctl": 24, "carlo": [24, 77], "luna": 24, "montevideo": 24, "railroad": 24, "railroadcross": 24, "automaton": [24, 75], "abr": 24, "pautomata": 24, "emmanuel": 24, "freund": 24, "minic": 24, "ledinot": 24, "suresn": 24, "bresenham": 24, "draw": 24, "distanc": 24, "rsa": 24, "cryptograph": 24, "embed": [24, 25, 29, 71], "14": [24, 25, 51, 57, 64], "r_sqr": 24, "rtrigo": 24, "rotat": [24, 54, 57], "rgeom": 24, "rsigma": 24, "natr": 24, "changement": 24, "expung": 24, "zsgn": 24, "wf_z": 24, "peano_dec": 24, "filliatr": [24, 77], "congruenceclosur": 24, "maplemod": 24, "mapl": 24, "zchines": 24, "submit": [24, 27], "necessit": 24, "trap": 24, "1386": 24, "1387": 24, "collid": 24, "1412": 24, "1394": 24, "seg": 24, "1404": 24, "1402": 24, "chap": 24, "sc": 24, "ntn": 24, "checkabl": 24, "nvar": 24, "numarg": 24, "projs1": 24, "projs2": 24, "unrealist": 24, "zmult": 24, "rfunction": 24, "seqseri": 24, "sup": 24, "rcomput": 24, "idem": 24, "thm": 24, "simple_tact": [24, 54], "globalis": 24, "jm": 24, "linearintuit": 24, "readm": [24, 71], "refl_eq": 24, "vanish": 24, "incompatibilit": 24, "localis": 24, "1459": 24, "1427": 24, "1437": 24, "1384": 24, "1435": 24, "1460": 24, "averag": 24, "ratio": 24, "flagship": 25, "compcert": 25, "seri": [25, 29, 35, 54, 57], "constitut": [25, 39, 55], "elementari": [25, 27, 57, 58, 71], "ltac2": [25, 35, 38, 52, 53, 54, 59, 63, 66, 71, 74], "reusabl": 25, "ecosystem": [25, 73, 77], "vocabulari": 25, "\u03b4": [25, 26, 37, 41, 57, 64, 67], "\u03b9": [25, 26, 34, 41, 55, 64], "\u03b6": [25, 26, 57], "corecurs": [25, 33, 71], "summari": [25, 46, 51, 75], "confluenc": [25, 31], "casual": [25, 57], "subpattern": [25, 54, 55], "superclass": 25, "question": [25, 34, 54, 55, 57, 60, 66], "brace": [25, 44, 52, 59, 71], "invoc": [25, 53, 54, 57, 59], "flow": 25, "helper": [25, 59], "acknowledg": 25, "bookkeep": 25, "defect": [25, 55], "repetit": [25, 54, 60], "licit": 25, "unlock": 25, "recurr": 25, "synopsi": [25, 53], "refut": [25, 57], "nonreflex": 25, "nonsymmetr": 25, "soft": [25, 72], "exactly_onc": 25, "horror": 25, "museum": 25, "interdepend": 25, "dep": [25, 51, 59], "phrase": [25, 71], "man": [25, 51], "repl": [25, 26, 35, 52, 53, 54, 59, 66], "rocqchk": [25, 53, 64, 73], "emphasi": 25, "verbatim": 25, "miscellan": 25, "beta1": 25, "beta2": 25, "beta3": 25, "6beta1": 25, "5beta1": 25, "5beta2": 25, "5beta3": 25, "5pl1": 25, "5pl2": 25, "5pl3": 25, "4beta": 25, "4beta2": 25, "1beta": 25, "1gamma": 25, "0beta": 25, "bibliographi": 25, "licens": [25, 50], "forth": [25, 50, 57, 60], "v1": [25, 50, 57], "opencont": [25, 50], "org": [25, 50, 64, 75, 77], "openpub": [25, 50], "elect": [25, 50], "hereaft": [26, 30, 55, 57], "bar81": [26, 66, 77], "\u03bbx": [26, 31, 34], "cfc58": [26, 77], "db72": [26, 77], "how80": [26, 66, 77], "\u03b3_1": [26, 34], "\u03b3_2": 26, "judgment": [26, 35, 59, 77], "hspace": [26, 31, 34, 35, 38], "3em": [26, 31, 34, 35, 38], "def": [26, 35, 67], "ax": [26, 44, 67], "const": [26, 34, 37, 54], "lam": [26, 34], "42": 26, "\u03b3_i": [26, 34, 35, 38], "\u03b3_c": [26, 34, 35, 38], "\u03b3_p": [26, 34, 35], "\u03b3_": [26, 34], "arr": [26, 34], "t_": [26, 34], "c_k": [26, 34], "n_k": 26, "w_1": [26, 31], "w_m": [26, 31], "w_i": 26, "a_i": [26, 34], "a_1": [26, 34, 35, 38], "a_l": 26, "conv": 26, "x_k": [26, 34], "t_k": 26, "t_0": 26, "u_0": 26, "triangleright": [26, 31], "t_2": [26, 31, 34, 35], "u_1": [26, 31, 34, 39], "u_m": 26, "u_i": [26, 34], "prodimp": 26, "exset": [26, 34], "set1": 26, "set2": 26, "95": [27, 60, 77], "85": [27, 53, 71, 77], "80": [27, 71], "appeal": 27, "conj": [27, 57, 58, 66, 71], "proj1": [27, 66], "proj2": 27, "or_introl": [27, 34, 40, 46, 58, 67], "or_intror": [27, 34, 40, 46, 58, 67], "ex_intro": [27, 37, 41, 57, 60, 66], "ex_ind": 27, "ex_sind": 27, "ex_intro2": 27, "ex2_ind": 27, "ex2_sind": 27, "eq_sym": [27, 40, 44], "eq_tran": [27, 43, 59], "not_eq_sym": 27, "eq_rec_r": 27, "f_equal2": 27, "f_equal3": 27, "f_equal4": 27, "f_equal5": 27, "a3": 27, "y2": [27, 42, 59], "x3": [27, 71, 72], "y3": 27, "sumor": [27, 71], "unit_rect": 27, "unit_ind": 27, "unit_rec": 27, "unit_sind": 27, "bool_rect": [27, 40], "bool_ind": [27, 40], "bool_rec": [27, 40], "bool_sind": [27, 40], "nat_ind": [27, 34, 58], "nat_rec": [27, 34, 44, 67], "nat_sind": [27, 34], "option_rect": [27, 34, 58], "option_ind": [27, 34, 58], "option_rec": [27, 34, 58], "option_sind": [27, 34, 58], "disjoint": [27, 67], "inl": [27, 40, 57], "sum_rect": [27, 71], "sum_rec": [27, 71], "sum_sind": [27, 71], "prod_rect": [27, 34], "prod_ind": [27, 34], "prod_rec": [27, 34], "prod_sind": [27, 34], "justif": 27, "sig_rect": 27, "sig_ind": 27, "sig_rec": 27, "sig_sind": 27, "exist2": 27, "sig2_rect": 27, "sig2_ind": 27, "sig2_rec": 27, "sig2_sind": 27, "sigt_rect": 27, "sigt_ind": 27, "sigt_rec": 27, "sigt_sind": 27, "projections2": 27, "projt2": 27, "existt2": 27, "sigt2_rect": 27, "sigt2_ind": 27, "sigt2_rec": 27, "sigt2_sind": 27, "sumbool_rect": 27, "sumbool_ind": 27, "sumbool_rec": 27, "sumbool_sind": 27, "inleft": 27, "inright": 27, "sumor_rect": 27, "sumor_ind": 27, "sumor_rec": 27, "sumor_sind": 27, "choice2": 27, "bool_choic": [27, 59], "false_rec": 27, "absurd_set": 27, "and_rect2": 27, "predecessor": 27, "eq_": 27, "pred_sn": 27, "eq_add_": 27, "not_eq_": 27, "issucc": 27, "o_": [27, 37], "n_sn": 27, "plus_n_o": [27, 59], "plus_n_sm": [27, 59], "mult_n_o": 27, "mult_n_sm": [27, 59], "le_n": [27, 57, 67], "le_": 27, "137": 27, "le_ind": [27, 46, 67], "le_sind": [27, 46, 67], "nat_cas": [27, 67], "nat_double_ind": 27, "acc_intro": 27, "acc_inv": 27, "rwf": 27, "well_founded_ind": 27, "fix_f": 27, "f_ext": 27, "fix_f_eq": 27, "implicit_bind": [28, 44], "generalizing_bind": [28, 44], "pattern0": [28, 40], "twofold": 28, "pi_": 28, "term_appl": [28, 29, 37, 44, 64], "term1": [28, 29, 37, 44, 57], "qualid_annot": [28, 29, 44], "assumption_token": [28, 59], "postul": 28, "r_s_inv": 28, "ital": [29, 53, 66, 75], "term100": [29, 40, 46], "popul": 29, "first_lett": 29, "subsequent_lett": 29, "unicode_lett": 29, "unicode_id_part": 29, "gothic": 29, "arab": 29, "georgian": 29, "hangul": 29, "hiragana": 29, "katakana": 29, "ideograph": 29, "subscript": 29, "0x": 29, "1_000_000": 29, "1000000": 29, "decnat": 29, "hexnat": 29, "hexdigit": 29, "bignat": [29, 71], "0xap12": 29, "term_scop": [29, 71], "100000": 29, "of_num_uint": [29, 59, 71], "1000000000000000000000000000000000": 29, "1000000000000000000000000000000001": 29, "_h": 29, "_ho": 29, "contrastingli": 29, "term_cast": [29, 32], "term_explicit": [29, 44], "term_project": [29, 37], "term0": [29, 37, 55, 58, 71], "number_or_str": [29, 71], "term_evar": [29, 43], "term_match": [29, 40], "term_record": [29, 37], "term_gener": [29, 44], "term_ltac": [29, 54], "one_typ": [29, 58, 64], "undecid": [29, 30], "query_command": [29, 59, 64], "compound": [29, 54], "uppercas": [29, 55], "blue": [29, 52], "grai": [29, 52], "boldfac": 29, "attr_valu": 29, "setting_nam": [29, 51], "exclus": [29, 57], "wide": [29, 38, 52, 53, 58], "infin": [30, 71], "gimenez95": [30, 77], "gimenez98": [30, 77], "gimenezcasteran05": [30, 77], "inductive_definit": [30, 34], "bypass_check": [30, 32, 34, 59], "eqst": 30, "stori": 30, "copattern": 30, "agda": 30, "eqst_hd": 30, "eqst_tl": 30, "stream_eta": 30, "stream_ext": 30, "cofix_bodi": 30, "cofix_definit": [30, 38], "decl_not": [30, 34, 40, 71], "admiss": [30, 38], "unguard": 30, "wherev": [31, 53, 54, 67, 71], "contant": 31, "triangleright_\u03b2": 31, "enjoi": [31, 34, 37, 57], "great": [31, 64], "triangleright_\u03b4": [31, 35], "pm93a": [31, 77], "wer94": [31, 77], "triangleright_\u03b6": 31, "deliber": [31, 55], "triangleright_\u03b7": 31, "m0": [31, 42, 67], "u_2": 31, "v_m": 31, "destructuring_let": [32, 46], "thm_token": [32, 59], "forgot": [32, 71], "primarili": [32, 34, 58, 66], "heart": 33, "fear": 33, "_ind": [34, 35, 40, 71, 72], "_sind": [34, 35, 40, 71], "thereaft": [34, 59], "even_0": 34, "even_ss": 34, "even_ind": [34, 67], "even_sind": [34, 67], "list2": 34, "nil2": 34, "cons2": 34, "list2_rect": 34, "list2_ind": 34, "list2_rec": 34, "list2_sind": 34, "listw": 34, "nilw": 34, "consw": 34, "bigger": 34, "list3": 34, "nil3": 34, "cons3": 34, "list3_rect": 34, "list3_ind": 34, "list3_rec": 34, "list3_sind": 34, "acc_in": 34, "acc_ind": 34, "acc_rec": 34, "acc_sind": 34, "leaf": [34, 67], "tree_rect": [34, 67, 72], "tree_ind": [34, 67, 72], "tree_rec": [34, 67, 72], "tree_sind": [34, 67, 72], "forest_rect": [34, 67, 72], "forest_ind": [34, 67, 72], "forest_rec": [34, 67, 72], "forest_sind": [34, 67, 72], "eight": 34, "fix_decl": [34, 57], "fix_definit": [34, 38, 72], "wrongplu": 34, "asid": [34, 64, 66, 67], "deeper": [34, 46], "mod2": [34, 35], "tree_siz": [34, 72], "forest_s": [34, 72], "a_p": 34, "rcl": 34, "even_o": 34, "even_": 34, "odd_": 34, "odd_ind": [34, 67], "odd_sind": [34, 67], "t_q": 34, "x_j": 34, "t_i": 34, "a_r": 34, "p_r": [34, 35], "c_n": [34, 35], "a_j": [34, 35], "b_1": 34, "b_r": 34, "u_": 34, "b_j": 34, "nattre": 34, "natnod": 34, "nattree_rect": 34, "nattree_ind": 34, "nattree_rec": 34, "nattree_sind": 34, "a_k": [34, 35], "i_j": [34, 35], "s_j": 34, "exprop": 34, "exp_intro": 34, "exprop_ind": 34, "exprop_sind": 34, "exs_intro": 34, "extyp": 34, "ext_intro": 34, "extype_rect": 34, "extype_ind": 34, "extype_rec": 34, "extype_sind": 34, "not_i_i": 34, "not_i": 34, "i_not_i": 34, "satifi": 34, "infinite_loop": 34, "harm": 34, "introa": 34, "\u03bbz": 34, "f_inj": 34, "hf": [34, 51], "powerset": 34, "diagon": 34, "fd": 34, "a_": 34, "p_p": 34, "p_m": 34, "q_r": 34, "q_l": 34, "p_l": 34, "p_u": 34, "q_u": 34, "leq": [34, 42, 57], "s_k": 34, "equiconsist": 34, "prevail": 34, "set_p": 34, "recomput": [34, 53], "lose": [34, 67, 71], "delic": 34, "coq92": [34, 77], "1p_1": 34, "np_n": 34, "f_n": 34, "f_i": 34, "i1": [34, 71], "ip_i": 34, "s_2": [34, 35], "complic": [34, 43, 46, 55], "harmless": [34, 51], "moral": 34, "or_ind": [34, 40], "or_sind": [34, 40], "proof_irrelev": 34, "paradox": [34, 77], "eqnarrai": 34, "rl": 34, "c_": 34, "f_l": 34, "a_m": 34, "triangleright_\u03b9": 34, "\u03b3_n": 34, "a_n": [34, 38], "\u03bbp": 34, "gimenez94": [34, 77], "k_1": 34, "k_n": 34, "k_i": 34, "y_1": [34, 38], "y_": 34, "b_": 34, "f_j": 34, "k_j": 34, "x_m": 34, "t_m": 34, "i_l": 34, "i_p": 34, "c_q": 34, "y_m": 34, "b_m": 34, "g_i": 34, "b_i": 34, "y_j": 34, "lgth": 34, "sizet": 34, "sizef": 34, "f0": [34, 57, 67], "f_k": 34, "massiv": 35, "module_bind": 35, "of_module_typ": 35, "module_expr_inl": 35, "module_type_inl": 35, "module_typ": 35, "functor_app_annot": 35, "module_expr_atom": 35, "definin": 35, "t_rect": [35, 71], "t_rec": [35, 71], "t_sind": [35, 71], "dirpath": [35, 51, 59], "sake": [35, 55, 66, 71], "simplic": [35, 54], "hasn": 35, "shortest": 35, "weval": 35, "s_3": 35, "WITH": 35, "e_i": 35, "e_n": 35, "mod1": [35, 51], "alias1": 35, "alias2": 35, "type1": 35, "type2": 35, "mt": 35, "manifestli": 35, "msub": 35, "\u03c3": [35, 67], "_i": [35, 71], "_1": 35, "_m": 35, "ind1": 35, "ind2": 35, "c_m": 35, "indp1": 35, "i_i": 35, "indp2": 35, "excerpt": 36, "primint63": [36, 59, 71], "int63_typ": [36, 59], "uint63_scop": [36, 71], "sint63_scop": 36, "int63_eq": [36, 59], "eqb_correct": 36, "uint63axiom": 36, "one_minus_one_is_zero": 36, "despit": [36, 57], "of_int64": 36, "float64_typ": 36, "float64_mul": 36, "float_scop": 36, "mul_spec": 36, "prim2sf": 36, "sf64mul": 36, "compli": 36, "extrocamlfloat": 36, "float64": 36, "of_float": 36, "x1p": 36, "array_typ": 36, "array_get": 36, "array_set": 36, "get_set_sam": 36, "get_set_oth": 36, "extrocamlparrai": 36, "operation": 36, "cf07": [36, 77], "cell": 36, "immut": 36, "primstr": [36, 71], "string_typ": 36, "char63": 36, "string_length": 36, "string_get": 36, "extrocamlpstr": 36, "pstring": 36, "record_field": [37, 42], "field_spec": 37, "constrast": 37, "npo": 37, "rat": 37, "mkrat": 37, "rat_bottom_nonzero": 37, "rat_irreduc": 37, "lowest": [37, 54], "myrecord": 37, "myfield": 37, "varnam": 37, "myclass": 37, "myfield2": 37, "fieldnam": 37, "one_two_ir": 37, "gloss": 37, "gett": 37, "inst": 37, "absent": [37, 59], "build_": 37, "reconstruct": [37, 46], "desugar": 37, "p2": [37, 57, 67], "foo_subproof": 38, "y_n": 38, "prune": [38, 57], "universe_expr": 39, "coq86": [39, 77], "\u2115": 39, "u_n": 39, "violat": [39, 66], "degener": [40, 57], "freshnamespac": 40, "reflectt": [40, 57], "reflectf": 40, "forbid": 40, "problemat": [40, 55], "my_nat": 40, "my_o": 40, "my_": 40, "case_item": 40, "pattern10": 40, "pattern1": 40, "scope_kei": [40, 55, 59, 64, 71], "subcas": [40, 75], "bool_cas": 40, "arg_spec": 41, "args_modifi": 41, "argument_spec": 41, "implict": 41, "plus_fct": 41, "_f": [41, 72], "mybool_scop": 41, "_mybool_scop": 41, "mybool": 41, "fcomp": 41, "b2n": [41, 59], "mt13": [42, 77], "breviti": [42, 58, 66], "gznd11": [42, 77], "disregard": 42, "disembodi": 42, "some_const": 42, "other_const": 42, "prf_equiv": 42, "is_law": 42, "eq_nat_equiv": 42, "nat_setoid": 42, "build_setoid": 42, "is_law_": 42, "cmp": 42, "class_of": 42, "the_cmp": 42, "simplist": 42, "amend": 42, "nat_eq": 42, "nat_eqcl": 42, "nat_eqti": 42, "pair_eq": 42, "pair_eqcl": 42, "pair_eqti": 42, "nat_l": 42, "nat_lecl": 42, "nat_leti": 42, "And": [42, 51, 53, 54, 71], "pair_l": 42, "pair_lecl": 42, "pair_leti": 42, "mixin": 42, "eq_class": 42, "le_class": 42, "_pack": 42, "to_eq": 42, "to_l": 42, "lele_eq": 42, "instat": 42, "test_algebra": 42, "test_algebraic2": 42, "l1": [42, 54], "l2": [42, 54], "nat_leq_compat": 42, "nat_leqmx": 42, "pair_leq_compat": 42, "pair_leqmx": 42, "add_instance_attempt": 42, "nat_leqti": 42, "pair_leqti": 42, "phantom": 42, "phantom_rect": 42, "phantom_ind": 42, "phantom_rec": 42, "phantom_sind": 42, "err": [42, 55], "is_not_an_eq_typ": 42, "is_not_an_le_typ": 42, "is_not_the_right_mixin": 42, "e0": [42, 46, 72], "le0": 42, "ce": 42, "s0": [43, 46], "companion": 43, "uninstanti": [43, 44, 54, 58, 67], "eintro": [43, 58], "poorli": [43, 54], "tacexpr": 43, "anywher": [43, 58, 75], "resort": [43, 52, 54, 55, 67], "reinfer": 44, "eq0_le0": 44, "cumbersom": [44, 55], "reproduc": 44, "reserv_list": 44, "simple_reserv": 44, "listdef": [44, 54, 57, 58, 60, 64, 71, 72], "cons_inj_nat": 44, "cons_inj_bool": 44, "typeclass_constraint": 44, "nat_op": 44, "hnat": 44, "ident\u2081": 46, "ident\u2099": 46, "dep_ret_typ": 46, "deconstruct": 46, "deep_tupl": 46, "synth": [46, 59], "synthesiz": 46, "cheapli": 46, "reflt": 46, "eqt_rect": 46, "eqt_ind": 46, "eqt_rec": 46, "eqt_sind": 46, "emphas": 46, "misspel": [46, 59], "is_zero": 46, "71": 46, "72": 46, "_x": [46, 57], "toggl": [46, 52], "basicmatch": 46, "examin": [46, 52, 54, 66, 67, 71], "superposit": 46, "lef": 46, "ith": 46, "superpos": 46, "filter_2_4": 46, "filter_some_square_corn": 46, "listn": 46, "niln": 46, "consn": 46, "listn_rect": 46, "listn_ind": 46, "listn_rec": 46, "listn_sind": 46, "qr": 46, "recal": [46, 55, 64], "b0": 46, "false_rect": 46, "buildlist": 46, "leo": [46, 67], "caught": [46, 54, 55], "l0": [46, 54], "somehow": 46, "sought": 46, "i_rect": [46, 71], "i_ind": [46, 71], "i_rec": [46, 71], "i_sind": [46, 71], "coqtail": [51, 53, 66], "toto": 51, "pathnam": [51, 53], "reload": [51, 52, 59], "prepend": [51, 53, 66], "rocqpath": [51, 53], "rocq_color": [51, 66], "ls_color": 51, "ansi": 51, "240": 51, "underlin": [51, 52, 66], "rgb": 51, "space_overhead": 51, "120": [51, 71], "minor_heap_s": 51, "32mword": 51, "256mb": 51, "128mb": 51, "cmo": [51, 59], "_darc": 51, "ext4": 51, "255": 51, "ntf": 51, "and_darc": 51, "resourc": 51, "intention": 51, "w\u2081": 51, "w\u2099": 51, "slave": 51, "ident0": 51, "ident1": 51, "filteropt": 51, "googl": [51, 53], "1cvaclvffya5r": 51, "phyumn5ooqtymh4h6i0nsskchnaysu": 51, "durat": 51, "rocq_profile_compon": 51, "perfetto": 51, "compress": [51, 53], "subtim": 51, "appart": 51, "total": [51, 53, 54], "required_vo": 51, "2642": 51, "fn": 51, "overal": [51, 54, 64, 75], "forg": 51, "secur": 51, "taint": 51, "norec": 51, "backslash": 51, "thumb": [51, 67], "disk": [51, 52, 53, 66], "attack": 51, "scratch": 52, "screenshot": [52, 66], "fermat": 52, "keystrok": 52, "reopen": 52, "backspac": 52, "uncom": 52, "interv": 52, "abruptli": 52, "crashcoqid": 52, "unnamed_coqscript_": 52, "toolbar": 52, "keyboard": [52, 59], "wsl": 52, "orang": 52, "unproven": [52, 58, 66], "pink": 52, "figur": [52, 57], "undon": 52, "ribbon": 52, "schemat": [52, 57], "unprocess": 52, "await": 52, "perhap": [52, 53, 58], "sent": 52, "granular": [52, 55], "intervent": 52, "quirk": 52, "reprocess": [52, 54], "haven": [52, 54], "defer": [52, 55, 57], "shade": 52, "nice": [52, 57, 67, 75], "pane": 52, "unmodifi": 52, "devot": [52, 57], "charset": [52, 75], "micro": 52, "ini": 52, "css": [52, 75], "nameofthem": 52, "gtk_theme": 52, "internet": 52, "firefox": 52, "checkbox": 52, "usernam": 52, "appdata": 52, "press": [52, 77], "overwrit": [52, 64, 66], "gtk_accel_path": 52, "primari": [52, 54], "f4": 52, "semicolon": [52, 53, 57], "utf8": [52, 53, 75], "antialias": 52, "gdk_use_xft": 52, "builtin": 52, "\u03c0": 52, "suffic": [52, 57], "blob": 52, "default_bindings_src": 52, "file1": [52, 53], "file2": [52, 53], "filen": 52, "feel": 52, "jfehrl": 52, "email": 52, "my_tac": 52, "dark": 52, "slider": 52, "f8": 52, "idl": 52, "my": [52, 53, 57], "value_tact": [52, 54, 64], "f9": 52, "f10": 52, "f11": 52, "asymc": 52, "16069": 52, "mind": 52, "387": 52, "alltact": 52, "clipboard": 52, "genarg": 52, "tacvalu": 52, "secondari": [52, 53], "gotten": 52, "territori": 52, "easiest": 53, "difficulti": 53, "repo": 53, "readili": 53, "interchang": [53, 66], "proofgener": 53, "spread": 53, "seamlessli": 53, "closest": 53, "notepad": 53, "invisibli": 53, "vi": 53, "mypackag": 53, "ala": 53, "coqproject": 53, "jef": 53, "myproj": 53, "basenam": 53, "filesystem": [53, 59], "regener": 53, "shouldn": [53, 54, 75], "therein": 53, "workaround": [53, 54, 55, 60], "metadata": [53, 59], "mycod": 53, "mlg": [53, 59], "bazaux": 53, "qux_plugin": 53, "expert": 53, "knowntarget": 53, "stuff2": 53, "knownfil": 53, "submak": 53, "rebuilt": 53, "default_go": 53, "makecmdgo": 53, "ifeq": 53, "orphan": 53, "orphan_foo_bar": 53, "yojson": 53, "ocamlwarn": 53, "coq_src_subdir": 53, "cm": 53, "unicoq": 53, "coqextraflag": 53, "coqchkextraflag": 53, "coqdocextraflag": 53, "rocqruntimelib": 53, "echo": 53, "cp": 53, "thisextrafil": 53, "met": 53, "archclean": 53, "coq_vers": 53, "coqmakefile_vers": 53, "alldfil": 53, "myfil": 53, "mygeneratedfil": 53, "vofil": 53, "globfil": 53, "cmofil": 53, "cmxfile": 53, "ofil": 53, "cmafil": 53, "cmxafil": 53, "cmifil": 53, "cmxsfile": 53, "camlc": 53, "camloptc": 53, "coqdebug": 53, "ocamllib": 53, "mac": [53, 60], "vfile": 53, "395448": 53, "ko": 53, "45184": 53, "slowest": 53, "fastest": 53, "tgt": 53, "52": 53, "sy": 53, "394648": 53, "56980": 53, "0m00": 53, "biggest": 53, "subsecond": 53, "nois": 53, "394700": 53, "37": [53, 77], "337720": 53, "1850": 53, "00": 53, "592": 53, "69": [53, 71], "04": 53, "56772": 53, "337876": 53, "89": [53, 77], "74": 53, "26": [53, 54, 77], "157": 53, "sec": [53, 54, 64], "128u": 53, "028": 53, "27": [53, 54], "68": 53, "vm_c": 53, "foo0": [53, 55], "153": 53, "136u": 53, "019": 53, "163": [53, 77], "208": 53, "foo1": 53, "239": 53, "236u": 53, "timelog2html": 53, "time1": 53, "time2": 53, "time3": 53, "time_of_pretty_build_fil": 53, "0m04": 53, "0m03": 53, "66": [53, 57, 77], "96": 53, "069": 53, "192": 53, "47": 53, "126": 53, "026": 53, "027": 53, "068": 53, "nati": 53, "231": 53, "836": 53, "60": 53, "97": [53, 77], "gzip": 53, "quoted_str": 53, "unquoted_str": 53, "pkg": [53, 75], "stanza": 53, "module_prefix": 53, "opam_packag": 53, "ordered_set_lang": 53, "ocaml_librari": 53, "coq_flag": 53, "include_subdir": 53, "equations_plugin": 53, "public_nam": 53, "33": 53, "cc": [53, 77], "g_equat": 53, "iddec": 53, "nocycl": 53, "upfront": 53, "impract": 53, "chose": 53, "ni": 53, "my_toplevel": 53, "start_coq": 53, "coqtop_toplevel": 53, "metaprogram": 54, "rosetta": 54, "stone": 54, "anytim": 54, "hindranc": 54, "del00": [54, 77], "reduce_and_try_to_solv": 54, "destruct_bool_and_rewrit": 54, "ingredi": 54, "achil": 54, "heel": 54, "growth": 54, "prone": [54, 57], "intric": [54, 55], "modern": 54, "subexpress": [54, 58, 71], "ltac_expr2": [54, 66], "ltac_expr4": 54, "for_each_go": [54, 55, 71], "l3_tactic": [54, 66], "ltac_expr1": [54, 66], "l2_tactic": 54, "tactic_valu": 54, "tactic_arg": 54, "l1_tactic": 54, "syn_valu": 54, "tactic_atom": 54, "n2": 54, "let_claus": 54, "goal_selector": 54, "8481": 54, "range_selector": 54, "subpart": 54, "retri": 54, "expr1": 54, "goal_tact": 54, "1a": 54, "1b": 54, "myfirst": 54, "tactic_list_sep": 54, "tacl": 54, "unexpectedli": 54, "21": [54, 64], "pertain": 54, "unpredict": 54, "match_kei": 54, "match_pattern": 54, "cpattern": [54, 55], "goal_pattern": 54, "match_hyp": 54, "aesthet": 54, "h0": [54, 55, 58, 62, 64, 66, 67], "pr_numgoal": 54, "nouniv": 54, "scan": 54, "unbox": 54, "elaps": 54, "innermost": [54, 71], "timer": 54, "time_constr1": 54, "eval_earli": 54, "ret": 54, "ran": 54, "tacdef_bodi": 54, "card_nat": 54, "hz": 54, "craft": [54, 57], "perm": 54, "perm_refl": 54, "perm_con": 54, "perm_append": 54, "perm_tran": 54, "perm_ind": 54, "perm_sind": 54, "perm_aux": 54, "newn": 54, "solve_perm": 54, "sequent": [54, 57, 58, 62, 77], "calculi": [54, 62, 77], "ljt": [54, 62], "roi": [54, 62, 77], "dyc92": [54, 62, 77], "my_tauto": 54, "falsiti": 54, "my_tauto_ex1": 54, "my_tauto_ex2": 54, "trickier": 54, "dc95": [54, 77], "iso_axiom": 54, "ass": 54, "cur": 54, "di": [54, 77], "p_unit": 54, "ar_unit": 54, "al_unit": 54, "simplify_typ": 54, "ty": [54, 57], "simplify_type_eq": 54, "len": 54, "trm": 54, "assoc": 54, "solve_type_eq": 54, "compare_structur": 54, "solve_iso": 54, "judg": 54, "solve_iso_ex1": 54, "solve_iso_ex2": 54, "odditi": 54, "consol": 54, "imped": 54, "degrad": 54, "slowli": 54, "cutoff": 54, "percentag": 54, "accumul": 54, "mytauto": 54, "897": 54, "with_uniform_flag": 54, "92": [54, 77], "066": 54, "tauto_gen": 54, "tauto_intuitionist": 54, "t_tauto_intuit": 54, "58": 54, "065": 54, "is_conj": 54, "23": 54, "28756": 54, "004": 54, "28": [54, 77], "048": 54, "047": 54, "003": 54, "infoh": 54, "mtac": 55, "rtac": 55, "hindlei": [55, 77], "dm82": [55, 77], "sweet": 55, "spot": 55, "pl": 55, "lineag": 55, "stick": 55, "somewhat": [55, 64, 71], "think": [55, 66], "ltac2_ltac1": 55, "ltac2_typ": 55, "ltac2_type2": 55, "ltac2_type1": 55, "ltac2_type0": 55, "ltac2_typevar": 55, "exn": 55, "tac2typ_def": 55, "tac2typ_prm": 55, "tac2typ_knd": 55, "tac2alg_constructor": 55, "tac2rec_field": 55, "positiveint": 55, "of_str": 55, "fragment": [55, 57, 71], "ltac2_expr": [55, 71], "ltac2_expr5": 55, "tac2pat0": 55, "ltac2_let_claus": 55, "ltac2_expr3": 55, "ltac2_expr2": 55, "ltac2_expr1": 55, "ltac2_expr0": 55, "tac2rec_fieldexpr": 55, "ltac2_atom": 55, "tac2rec_fieldpat": 55, "tac2pat1": 55, "lident": 55, "tac2def_bodi": 55, "oldf": 55, "clearer": 55, "\u03b2v": 55, "v\u2080": 55, "x\u2080": 55, "x\u1d62": 55, "v\u1d62": 55, "departur": 55, "ambient": 55, "proofview": 55, "recover": 55, "panic": 55, "destroi": 55, "codifi": [55, 77], "incred": 55, "ltac1_expr_in_env": 55, "ltac1val": 55, "varref": 55, "snippet": [55, 75], "glob_constr": 55, "myconstr": 55, "suddenli": 55, "rug": 55, "duti": 55, "concis": [55, 57], "ltac2_match_kei": 55, "ltac2_match_list": 55, "ltac2_match_rul": 55, "ltac2_match_pattern": 55, "msg": 55, "succinct": 55, "tactic_failur": 55, "of_constr": 55, "goal_match_list": 55, "gmatch_rul": 55, "gmatch_pattern": 55, "gmatch_hyp_pattern": 55, "ltac2_branch": 55, "atomic_tac2pat": 55, "ltac2_scop": [55, 74], "wors": 55, "ex1": 55, "metasyntact": 55, "list1": [55, 71], "print_list": 55, "list0": [55, 71], "insofar": 55, "intros_until": 55, "delta_reduct": [55, 64], "lia_ltac1": 55, "simplest": [55, 57], "plainli": 55, "ltac2_intropattern": 55, "ltac2_simple_intropattern": 55, "ident_or_anti": 55, "ltac2_destruction_arg": 55, "induction_arg": [55, 67], "q_with_bind": 55, "ltac2_bind": 55, "ltac2_reduct": 55, "refglob": 55, "ltac2_claus": 55, "q_occurr": 55, "ltac2_induction_claus": 55, "induction_claus": [55, 67], "ltac2_convers": 55, "q_orient": 55, "ltac2_oriented_rewrit": 55, "oriented_rewrit": [55, 64], "dispatch": 55, "ltac2_for_each_go": 55, "hintbas": [55, 60], "move_loc": 55, "alias_definit": [55, 58], "nonsimple_intropattern": 55, "ltac2_simple_intropattern_clos": 55, "ltac2_or_and_intropattern": 55, "ltac2_equality_intropattern": 55, "ltac2_naming_intropattern": 55, "ltac2_constr_with_bind": 55, "ltac2_simple_bind": 55, "qhyp": 55, "ltac2_red_flag": 55, "ltac2_in_claus": 55, "ltac2_occs_num": 55, "ltac2_occ": 55, "ltac2_concl_occ": 55, "ltac2_hypident_occ": 55, "ltac2_hypid": 55, "ltac2_as_or_and_ipat": 55, "ltac2_eqn_ipat": 55, "q_rewrit": 55, "ltac2_rewrit": 55, "ltac2_goal_tact": 55, "ltac2_as_nam": 55, "ltac2_by_tact": 55, "ltac2_as_ipat": 55, "replace_with": 55, "daili": 55, "eagerli": 55, "am": 55, "add1": [55, 64], "to_constr": 55, "ow": 55, "bliss": 55, "walk": [55, 71], "dialogu": 55, "site": 55, "blah": 55, "bar0": 55, "trickeri": 55, "summaris": 57, "accustom": 57, "worth": 57, "blanqui": 57, "quasi": 57, "congr": 57, "adjac": 57, "ssrsyntax": 57, "interfer": [57, 71], "sumxxx": 57, "boolean_if_scop": 57, "ssrrewrit": 57, "ssrident": 57, "_xxx_": 57, "annoi": 57, "p_xy": 57, "hp": [57, 67], "legibl": 57, "\u03c1": 57, "replic": 57, "b1": [57, 59], "b2": [57, 59], "suppress": [57, 75], "all_nul": 57, "prenex": 57, "n_i": 57, "ubiquit": 57, "incant": 57, "tx": 57, "resembl": 57, "occ_switch": 57, "aggress": 57, "pairwis": 57, "t0": 57, "largest": [57, 71], "uj": 57, "unkei": 57, "nm": 57, "sizabl": 57, "menial": 57, "instantli": 57, "undermin": 57, "dj": 57, "ej": 57, "tj": 57, "fk": 57, "xl": 57, "ym": 57, "bm": 57, "constantli": 57, "shuffl": 57, "isol": 57, "unavoid": 57, "subnk": 57, "le_n_m": 57, "le_m_n": 57, "le_n_p": 57, "encapsul": 57, "ihn": [57, 66, 67], "lt_n_m": 57, "pile": 57, "pop": [57, 71], "ihm": 57, "lt_tran": 57, "y_gt1": 57, "y_lt2": 57, "hyp0": 57, "y_lt3": 57, "ssrautoprop": 57, "d_item": 57, "clear_switch": 57, "unintend": 57, "hfg": 57, "trans_equ": 57, "ab": [57, 67, 71], "i_item": 57, "i_pattern": 57, "s_item": 57, "i_view": 57, "i_block": 57, "myop": 57, "ssripat_scop": 57, "ssripat": 57, "_a_": 57, "_b_": 57, "_hyp_": 57, "occ": 57, "eqp": 57, "scene": 57, "pointless": 57, "decomposit": 57, "xa": 57, "xb": 57, "_n_": 57, "pinpoint": 57, "pad": 57, "lastcas": 57, "add_last": 57, "last_spec": 57, "lastseq0": 57, "lastadd": 57, "last_spec_rect": 57, "last_spec_ind": 57, "last_spec_rec": 57, "last_spec_sind": 57, "lastp": 57, "abezoutn": 57, "k1": 57, "k2": 57, "muln0": 57, "gexpn0": 57, "mulg1": 57, "orderg1": 57, "eqn_mul1": 57, "andp": 57, "dvdn_tran": 57, "orderg": 57, "dvdn_mull": 57, "orderg_dvd": 57, "mulgi": 57, "gexpn1": 57, "gexpn_add": 57, "leq_add_sub": 57, "dvdn_subr": 57, "dvdn_mulr": 57, "muln1": 57, "dvdn1": 57, "mul1g": 57, "mylemma": 57, "my_lemma1": 57, "my_lemma2": 57, "dispos": 57, "analogu": 57, "g_1": 57, "g_n": 57, "g_": 57, "bmod": 57, "tactic1": 57, "tacticm": 57, "tacticn": 57, "c3": [57, 71], "c4": 57, "test_ind": 57, "test_sind": 57, "mult_comm": 57, "def_n": 57, "c_pattern": 57, "textbook": 57, "ssr_binder": 57, "h23": 57, "addnc": 57, "mczifi": 57, "ssrnat": 57, "ppx_deriv": 57, "lexer_config": 57, "menhirlib": 57, "shim": 57, "front": [57, 59], "ord_rect": 57, "ord_ind": 57, "ord_rec": 57, "ord_sind": 57, "rew_iff_rev": 57, "mkrel": 57, "erefl": 57, "uninterest": 57, "pm": 57, "orthogon": 57, "demand": 57, "abridg": 57, "wlog_stat": 57, "pain": 57, "quo_rem_un": 57, "q3": 57, "q4": 57, "r3": 57, "r4": 57, "leqp": 57, "gen": 57, "leqn": 57, "this_scop": 57, "ngt0": 57, "ltnv": 57, "nge0": 57, "neq0": 57, "addx": 57, "twoi": 57, "rstep": 57, "r_prefix": 57, "r_item": 57, "r_pattern": 57, "my_def": 57, "term2": 57, "ddoubl": 57, "ssroldrewritegoalsord": 57, "grasp": 57, "candid": [57, 58, 64, 72], "surgic": 57, "pen": 57, "my_eq": 57, "addn0": 57, "addn": 57, "addsnn": 57, "addnca": 57, "hrec": 57, "multirul": 57, "eqab": 57, "eqac": 57, "multi1": 57, "eqd0": 57, "multi2": 57, "anew": 57, "eq_adda_b": 57, "eq_adda_c": 57, "eqb0": 57, "multi3": 57, "multi1_rev": 57, "eqba": 57, "eqca": 57, "mult1_rev": 57, "medium": 57, "double": 57, "doublen": 57, "add_mul": 57, "muln": 57, "mule": 57, "mul_exp": 57, "expn": 57, "exp": 57, "oddn": 57, "naiv": 57, "trece": 57, "anywai": 57, "indetermin": 57, "\u03b7\u03b6": 57, "fubar": 57, "insub": 57, "idp": 57, "insubt": 57, "subnn": 57, "sumlist": 57, "eq_map": 57, "example_map": 57, "honour": 57, "bigop": 57, "idx": 57, "36": 57, "bigbodi": 57, "eq_bigr_": 57, "eq_big_": 57, "index_iota": 57, "eq_bigr": 57, "test_big_nest": 57, "prime_i": 57, "odd_j": 57, "summat": 57, "clamp": 57, "master_kei": 57, "lid": 57, "nosimpl": 57, "shine": 57, "spontan": 57, "my_congr_properti": 57, "hnm": 57, "card": 57, "glanc": 57, "term_i": 57, "addsn": 57, "undetermin": [57, 66], "region": 57, "toi": 57, "last_ind_list": 57, "ei": 57, "plus_ind": [57, 72], "n_gt0": 57, "pr_p": 57, "prod_": 57, "prime_decomp": 57, "big_prop": 57, "ihu": 57, "ihv": 57, "pb": 57, "op1": [57, 58], "p2q": 57, "hpa": 57, "hqa": 57, "q2p": 57, "hpb": 57, "hq": [57, 67], "pqequiv": 57, "hqab": 57, "ifflr": 57, "iffrl": 57, "brute": [57, 64], "elid": 57, "reflect_tru": 57, "reflect_fals": 57, "andE": 57, "orp": 57, "negp": 57, "hb": [57, 58], "termn": 57, "generalis": 57, "termvh": 57, "intron": 57, "introntf": 57, "intronf": 57, "pab": 57, "pa": 57, "gap": 57, "b3": 57, "norp": 57, "corpu": 57, "NO": 57, "parsimoni": 57, "d_tactic": 57, "modnam": 57, "nat_or_id": 57, "gen_item": 57, "int_mult": 57, "mult_mark": 57, "r_step": 57, "backchain": 57, "inher": 57, "obstruct": 57, "metatheori": 57, "nake": 57, "precondit": 58, "tactic_invoc": 58, "simple_intropattern_clos": 58, "naming_intropattern": [58, 67], "or_and_intropattern": 58, "equality_intropattern": 58, "op2": 58, "opn": 58, "h3": [58, 67], "introl": 58, "intror": 58, "erasur": [58, 67], "length_zero_iff_nil": 58, "threeintropatternscombin": 58, "ocurr": 58, "goal_occurr": 58, "simple_occurr": [58, 60, 64], "hyp_occ": 58, "concl_occ": 58, "hypid": 58, "in_hyp_a": 58, "as_ipat": 58, "serial": [58, 67], "unmatch": 58, "clariti": [58, 66], "proceed": [58, 77], "le_tran": 58, "repect": 58, "m170": 58, "m171": 58, "lappli": 58, "rtran": 58, "rnm": 58, "rmp": 58, "elegantli": 58, "unselect": 58, "uneed": 58, "interpet": 58, "hy": 58, "as_nam": 58, "modu": 58, "ponen": 58, "pattern_occ": [58, 64], "hloc": 58, "surpris": 58, "instantiate_ltac_vari": 58, "ev": 58, "f_rect": 58, "f_ind": 58, "f_rec": 58, "f_sind": 58, "lt_irrefl": 58, "exact_no_check": [58, 66], "vm_cast_no_check": 58, "native_cast_no_check": 58, "univ_name_list": 59, "search_queri": 59, "search_item": 59, "logical_kind": 59, "narrow": [59, 67], "land_comm": 59, "lor_comm": 59, "lxor_comm": 59, "lcm_comm": 59, "min_comm": 59, "gcd_comm": 59, "xorb_comm": 59, "max_comm": 59, "orb_comm": 59, "andb_comm": 59, "eqb_sym": 59, "_assoc": 59, "or_assoc": 59, "and_assoc": 59, "eq_trans_assoc": 59, "plus_o_n": 59, "plus_sn_m": 59, "f_equal2_plu": 59, "nat_rect_plu": 59, "bit0_eqb": 59, "div_exact": 59, "land_on": 59, "testbit_spec": 59, "pow_div_l": 59, "testbit_eqb": 59, "testbit_fals": 59, "testbit_tru": 59, "internal_": 59, "of_bit": 59, "to_bits_of_bit": 59, "to_bit": 59, "bool_of_sumbool": 59, "andb_prop": 59, "andb_true_intro": 59, "ldiff": 59, "tail_mul": 59, "of_hex_uint": 59, "of_uint": [59, 71], "iff_symmetr": 59, "iff_reflex": 59, "impl_reflex": 59, "eq_symmetr": 59, "eq_reflex": 59, "per_symmetr": 59, "neq_symmetr": 59, "reflexive_eq_dom_reflex": 59, "tail_add": 59, "tail_addmul": 59, "sqrt_iter": 59, "log2_it": 59, "add_succ_comm": 59, "plus_assoc_reverse_stt": 59, "add_shuffle3": 59, "add_shuffle0": 59, "add_shuffle1": 59, "add_shuffle2": 59, "testbit_nat": 59, "incl_refl": 59, "lel_refl": 59, "lel": 59, "add_carry_div2": 59, "_subterm": 59, "therebi": 59, "subpackag": 59, "printconf": 59, "grep": 59, "comextradep": 59, "query_extra_dep": 59, "section_path": 59, "base_includ": 59, "sustem": 59, "confirm": [59, 71], "pedant": 59, "78": 59, "formatt": 59, "beyond": [59, 63], "exce": [59, 67], "askra": 59, "obfusc": 59, "uncheck": 59, "bypass": 59, "check_guard": 59, "check_posit": 59, "check_univers": 59, "ackermann": 59, "ack": [59, 60], "ackm": 59, "plug": 59, "ind_bool": 59, "implementor": 59, "auto_us": 60, "fake": 60, "feed": 60, "carthi": 60, "ack0": 60, "ack1": 60, "ack2": 60, "base0": 60, "resack0": 60, "29": 60, "g0": [60, 67], "g1": 60, "g2": 60, "base1": 60, "resg0": 60, "110": 60, "resg1": 60, "imedi": 60, "dt": 60, "pressur": 60, "nonempti": 60, "ot": 60, "network": 60, "prefac": 60, "needless": 60, "hints_regexp": 60, "emp": 60, "ep": 60, "mispars": 60, "plus0l": 60, "plus0r": 60, "plussl": 60, "plussr": 60, "carefulli": 60, "nonneg": 60, "section_var_expr": [60, 66], "instrument": 61, "tautolog": 62, "mun94": [62, 77], "1000": [62, 64], "nelson": 62, "oppen": 62, "inj": 62, "provis": 62, "btauto_term": 62, "mtac2": 63, "\u03bbprolog": 63, "wikipedia": 64, "equivalence_class": 64, "mayb": 64, "drive": 64, "4476": 64, "weakli": 64, "reference_occ": 64, "pred_add": 64, "\u03b2\u03b9\u03b6": 64, "undesir": 64, "preceed": 64, "ler90": [64, 77], "4776": 64, "dozen": 64, "gregoirel02": [64, 77], "dramat": 64, "bdenesgregoire11": [64, 77], "wall": 64, "clock": 64, "native_compute_profil": 64, "consult": 64, "irreversibli": 64, "strategy_level": [64, 71], "tie": 64, "strategy_level_or_var": [64, 71], "proport": 64, "transact": [64, 77], "055": 64, "045u": 64, "293u": 64, "007": 64, "001": 64, "001u": 64, "super": 64, "robustli": 64, "inabl": 64, "12200": 64, "tt_n": 66, "t_h": 66, "tt_h": 66, "glt89": [66, 77], "theorem_nam": 66, "fetch": 66, "unnamed_thm": 66, "misus": 66, "recheck": 66, "gulp": 66, "498": 66, "starred_ident_ref": 66, "section_var_expr50": 66, "section_var_expr0": 66, "hn": 66, "radixnotzero": 66, "noedit": 66, "name_go": 66, "inact": 66, "attent": 66, "9146": 66, "caution": 66, "computation": 66, "aim": 66, "y13": 66, "pale": 66, "bg": 66, "foreground": 66, "bold": 66, "strikeout": 66, "lexer": 66, "myer": [66, 77], "mye86": [66, 77], "undif": 66, "solve_constraint": 66, "stat": 66, "live_word": 66, "heap_word": 66, "top_heap_word": 66, "experienc": 66, "induction_principl": 67, "ih": 67, "mental": 67, "induction_test": 67, "induction_test2": 67, "ihn0": [67, 72], "conor": [67, 77], "mcbride": [67, 77], "mcb00": [67, 77], "ct95": [67, 77], "lt_1_r": 67, "ihl": 67, "simple_bind": 67, "disjointed": 67, "outermost": 67, "versu": 67, "esimplifi": 67, "contructor": 67, "subequ": 67, "contains0": 67, "in_hd": 67, "in_tl": 67, "contains0_ind": 67, "contains0_sind": 67, "hl": 67, "heqp": 67, "heql": 67, "rect": 67, "le_rect": 67, "le_rec": 67, "inversion_clear": 67, "vec": 67, "vec_rect": 67, "vec_ind": 67, "vec_rec": 67, "vec_sind": 67, "invert_con": 67, "h2_": 67, "h2_0": 67, "uip_refl_nat": 67, "nq": 67, "scheme_kind": 67, "sort_famili": [67, 72], "tree_forest_rec": 67, "forest_tree_rec": 67, "nat_rec_nodep": 67, "nat_case_nodep": 67, "tree_forest_ind": 67, "forest_tree_ind": 67, "tree_forest_mutind": 67, "tree_forest_rect": 67, "forest_tree_rect": 67, "tree_forest_mutrect": 67, "leminv": 67, "generalize_eq": 67, "revisit": 67, "gen_x": 67, "amen": 67, "generalize_eqs_var": 67, "simplify_dep_elim": 67, "ihp": 67, "do_depind": 67, "vnil": 67, "vector_rect": 67, "vector_ind": 67, "vector_rec": 67, "vector_sind": 67, "dismiss": 67, "type_rect": 67, "type_ind": 67, "type_rec": 67, "type_sind": 67, "ctx": 67, "snoc": 67, "ctx_rect": 67, "ctx_ind": 67, "ctx_rec": 67, "ctx_sind": 67, "tau": 67, "conc": 67, "term_rect": 67, "term_ind": 67, "term_rec": 67, "term_sind": 67, "allevi": 67, "plumb": 67, "simpl_depind": 67, "ihterm": 67, "d0": [67, 71], "notation_declar": 71, "scope_nam": 71, "untermin": 71, "unend": 71, "tight": 71, "articul": 71, "highest": 71, "nonassoci": 71, "ll1": 71, "samel": 71, "rudimentari": 71, "hv": 71, "preferenti": 71, "incompar": 71, "reimport": 71, "parm": 71, "enable_notation_flag": 71, "123": 71, "reachabl": 71, "vernac_control": 71, "za": 71, "9_": 71, "punctuat": [71, 75], "sep": 71, "elements1": 71, "elements2": 71, "righta": 71, "lefta": 71, "tactic_then_loc": 71, "docgram": 71, "fullgrammar": 71, "orderedgrammar": 71, "dom": 71, "subset_bi": 71, "myforal": 71, "exists_differ": 71, "_p": 71, "force2": 71, "_e": 71, "mylet": 71, "funapp": 71, "exists_non_nul": 71, "apply_id": 71, "expr_rect": 71, "expr_ind": 71, "expr_rec": 71, "expr_sind": 71, "border": 71, "binder_interp": 71, "explicit_subentri": 71, "diagnost": 71, "_scope": 71, "byte_scop": 71, "hex_int_scop": 71, "hex_nat_scop": 71, "hex_uint_scop": 71, "f_scope": 71, "n_scope": 71, "positive_scop": 71, "qc_scope": 71, "qc": 71, "printabl": 71, "beep": 71, "char_scop": 71, "nlist": 71, "plus1": 71, "explicit_id": 71, "unnatur": 71, "number_modifi": 71, "number_string_via": 71, "refresh": 71, "hexa": 71, "remap": 71, "seemingli": 71, "radix3": 71, "x3p1": 71, "x3p2": 71, "radix3_rect": 71, "radix3_ind": 71, "radix3_rec": 71, "radix3_sind": 71, "of_uint_dec": 71, "d1": 71, "d2": 71, "rev": 71, "uintdecim": 71, "uinthexadecim": 71, "to_uint_dec": 71, "to_uint": 71, "radix3_scop": 71, "pos_neg_int63": 71, "int_wrapp": 71, "int_wrap": 71, "iempti": 71, "iunit": 71, "isum": 71, "i2": 71, "to_num_uint": 71, "nset": 71, "fin_scop": 71, "id_str": 71, "abc": 71, "ltac_production_item": 71, "_list_sep": 71, "destruct_with_eqn": 71, "smart_glob": 71, "tacn": 71, "_list": 71, "ne_": 71, "_complet": 72, "_correct": 72, "_equat": 72, "recdef": 72, "sf": 72, "_tcc": 72, "_termin": 72, "antonia": 72, "balaa": 72, "barth": 72, "pichardi": [72, 77], "vlad": 72, "rusu": 72, "plus_equ": 72, "plus_rect": 72, "plus_rec": 72, "r_plus_correct": 72, "r_plus_complet": 72, "minus_ind": 72, "sub_equ": 72, "func_scheme_def": 72, "div2_ind": 72, "div2_equ": 72, "div2_l": 72, "tree_size_equ": 72, "tree_size_rect": 72, "tree_size_ind": 72, "tree_size_rec": 72, "forest_size_equ": 72, "forest_size_rect": 72, "forest_size_ind": 72, "forest_size_rec": 72, "r_tree_size_correct": 72, "r_forest_size_correct": 72, "r_tree_size_complet": 72, "r_forest_size_complet": 72, "tree_size_ind2": 72, "forest_size_ind2": 72, "onlin": 73, "nearli": 73, "hyphen": 74, "estim": 74, "zim19": [74, 77], "trim": 74, "mylib": 74, "javadoc": 75, "ocamldoc": 75, "todd": 75, "coram": 75, "aft": 75, "preformat": 75, "overwritten": 75, "lex": 75, "ensuremath": 75, "asterisk": 75, "dash": 75, "mistaken": 75, "_emphas": 75, "text_": 75, "lastli": 75, "sheet": 75, "dvi": 75, "postscript": 75, "texmac": 75, "meaningless": 75, "trailer": 75, "preambl": 75, "quiet": 75, "domin": 75, "tableofcont": 75, "subtitl": 75, "modulenam": 75, "latin1": 75, "8859": 75, "inputenc": 75, "utf8x": 75, "ctan": 75, "textgreek": 75, "stmaryrd": 75, "declareunicodecharact": 75, "usepackag": 75, "xcolor": 75, "coqdockw": 75, "coqdocid": 75, "san": 75, "serif": 75, "slant": 75, "renewcommand": 75, "textsl": 75, "coqdocmodul": 75, "abel": 77, "gothenburg": 77, "north": 77, "holland": 77, "1981": 77, "mathieu": 77, "boespflug": 77, "\u00e9": 77, "\u00e8": 77, "gr": 77, "goir": 77, "throttl": 77, "jouannaud": 77, "zhong": 77, "shao": 77, "cpp": 77, "kent": 77, "taiwan": 77, "7086": 77, "lectur": 77, "362": 77, "377": 77, "springer": 77, "dx": 77, "doi": 77, "1007": 77, "978": 77, "642": 77, "25379": 77, "9_26": 77, "abadi": 77, "takahashi": 77, "ito": 77, "1281": 77, "verlag": 77, "1997": 77, "cockx": 77, "tame": 77, "proc": 77, "acm": 77, "lang": 77, "1145": 77, "3434341": 77, "conchon": 77, "sigplan": 77, "freiburg": 77, "germani": 77, "2007": 77, "ftp": 77, "publi": 77, "puf": 77, "wml07": 77, "rr": 77, "1088": 77, "hal": 77, "00075471": 77, "rard": 77, "mathematiqu": 77, "0515": 77, "00076039": 77, "0530": 77, "00076024": 77, "un": 77, "th\u00e9ori": 77, "universit\u00e9": 77, "ma": 77, "societi": 77, "151": 77, "184": 77, "berlin": 77, "heidelberg": 77, "540": 77, "15983": 77, "5_13": 77, "colog": 77, "52335": 77, "9_47": 77, "delphin": 77, "terrass": 77, "104": 77, "fei": 77, "william": 77, "craig": 77, "combinatori": 77, "1958": 77, "9e": 77, "lui": 77, "dama": 77, "9th": 77, "sigact": 77, "popl": 77, "82": 77, "207": 77, "212": 77, "york": 77, "ny": 77, "usa": 77, "1982": 77, "582153": 77, "582176": 77, "rosser": 77, "indag": 77, "1972": 77, "actic": 77, "anguag": 77, "ystem": 77, "lpar": 77, "reunion": 77, "island": 77, "1955": 77, "lirmm": 77, "7edelahay": 77, "2700": 77, "cosmo": 77, "birkhaus": 77, "isbn": 77, "8176": 77, "3763": 77, "journal": 77, "ga": 77, "\u00eb": 77, "tan": 77, "3290316": 77, "94": 77, "996": 77, "1158": 77, "135": 77, "152": 77, "2005": 77, "alessandro": 77, "giovini": 77, "teo": 77, "mora": 77, "gianfranco": 77, "niesi": 77, "lorenzo": 77, "robbiano": 77, "traverso": 77, "cube": 77, "issac": 77, "taylor": 77, "tract": 77, "aleksandar": 77, "nanevski": 77, "derek": 77, "dreyer": 77, "175": 77, "2034574": 77, "2034798": 77, "mitchel": 77, "wand": 77, "peyton": 77, "jone": 77, "seventh": 77, "icfp": 77, "pittsburgh": 77, "235": 77, "246": 77, "581478": 77, "581501": 77, "seldin": 77, "essai": 77, "academ": 77, "1980": 77, "elsevi": 77, "17660": 77, "8_62": 77, "gyesik": 77, "117": 77, "irif": 77, "extraction2002": 77, "sebastiaan": 77, "luttik": 77, "eelco": 77, "asf": 77, "sdf": 77, "sandrin": 77, "blazi": 77, "2013": 77, "7998": 77, "lnc": 77, "renn": 77, "00816703": 77, "39634": 77, "2_5": 77, "197": 77, "216": 77, "lic": 77, "84": 77, "d\u00e9monstrat": 77, "automatiqu": 77, "logiqu": 77, "propositionnel": 77, "intuitionnist": 77, "fondamental": 77, "eugen": 77, "nd": 77, "algorithmica": 77, "xmailserv": 77, "diff2": 77, "947": 77, "bezem": 77, "groot": 77, "664": 77, "49": 77, "\u03c9": 77, "75277": 77, "75285": 77, "328": 77, "345": 77, "bfb0037116": 77, "209": 77, "228": 77, "bfb0040259": 77, "rushbi": 77, "owr": 77, "shankar": 77, "709": 77, "720": 77, "oq": 77, "4502": 77, "237": 77, "252": 77, "ouri": 77, "irst": 77, "ype": 77, "tphol": 77, "rta": 77, "2051": 77, "357": 77, "zine": 77, "el": 77, "abidin": 77, "benaissa": 77, "tolmach": 77, "th\u00e8se": 77, "doctorat": 77, "collabor": 77, "tel": 77, "ouvert": 77, "02451322": 77}, "objects": {""All" is a predefined collection containing all variables": [[66, 0, 1, "coq:exn.\"All\"-is-a-predefined-collection-containing-all-variables.-It-can't-be-redefined", " It can't be redefined"]], "": [[71, 0, 1, "coq:exn.'via'-and-'abstract'-cannot-be-used-together", "'via' and 'abstract' cannot be used together"], [54, 1, 1, "coq:tacn.+-(backtracking-branching)", "+ (backtracking branching)"], [57, 1, 1, "coq:tacn.=>", "=>"], [66, 3, 1, "coq:cmd.Abort", "Abort"], [59, 3, 1, "coq:cmd.About", "About"], [71, 2, 1, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-grammar-entry", "Activation of abbreviations does not expect mentioning a grammar entry"], [71, 2, 1, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-scope", "Activation of abbreviations does not expect mentioning a scope"], [29, 3, 1, "coq:cmd.Add", "Add"], [11, 3, 1, "coq:cmd.Add-Field", "Add Field"], [3, 3, 1, "coq:cmd.Add-Morphism", "Add Morphism"], [3, 3, 1, "coq:cmd.Add-Parametric-Morphism", "Add Parametric Morphism"], [3, 3, 1, "coq:cmd.Add-Parametric-Relation", "Add Parametric Relation"], [3, 3, 1, "coq:cmd.Add-Parametric-Setoid", "Add Parametric Setoid"], [3, 3, 1, "coq:cmd.Add-Relation", "Add Relation"], [11, 3, 1, "coq:cmd.Add-Ring", "Add Ring"], [3, 3, 1, "coq:cmd.Add-Setoid", "Add Setoid"], [5, 3, 1, "coq:cmd.Add-Zify", "Add Zify"], [9, 3, 1, "coq:cmd.Admit-Obligations", "Admit Obligations"], [66, 3, 1, "coq:cmd.Admitted", "Admitted"], [12, 4, 1, "coq:flag.Allow-StrictProp", "Allow StrictProp"], [44, 0, 1, "coq:exn.Argument-at-position-\u2018natural\u2019-is-mentioned-more-than-once", "Argument at position \u2018natural\u2019 is mentioned more than once"], [54, 0, 1, "coq:exn.Argument-of-match-does-not-evaluate-to-a-term", "Argument of match does not evaluate to a term"], [41, 3, 1, "coq:cmd.Arguments", "Arguments"], [44, 0, 1, "coq:exn.Arguments-given-by-name-or-position-not-supported-in-explicit-mode", "Arguments given by name or position not supported in explicit mode"], [11, 0, 1, "coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type", "Arguments of ring_simplify do not have all the same type"], [41, 0, 1, "coq:exn.Arguments-of-section-variables-such-as-\u2018name\u2019-may-not-be-renamed", "Arguments of section variables such as \u2018name\u2019 may not be renamed"], [46, 4, 1, "coq:flag.Asymmetric-Patterns", "Asymmetric Patterns"], [66, 0, 1, "coq:exn.Attempt-to-save-an-incomplete-proof", "Attempt to save an incomplete proof"], [29, 3, 1, "coq:cmd.Attributes", "Attributes"], [34, 4, 1, "coq:flag.Auto-Template-Polymorphism", "Auto Template Polymorphism"], [34, 2, 1, "coq:warn.Automatically-declaring-\u2018ident\u2019-as-template-polymorphic", "Automatically declaring \u2018ident\u2019 as template polymorphic"], [28, 3, 1, "coq:cmd.Axiom", "Axiom"], [28, 3, 1, "coq:cmd.Axioms", "Axioms"], [59, 3, 1, "coq:cmd.Back", "Back"], [59, 3, 1, "coq:cmd.BackTo", "BackTo"], [11, 0, 1, "coq:exn.Bad-lemma-for-decidability-of-equality", "Bad lemma for decidability of equality"], [59, 0, 1, "coq:exn.Bad-magic-number", "Bad magic number"], [64, 0, 1, "coq:exn.Bad-occurrence-number-of-\u2018qualid\u2019", "Bad occurrence number of \u2018qualid\u2019"], [12, 2, 1, "coq:warn.Bad-relevance", "Bad relevance"], [11, 0, 1, "coq:exn.Bad-ring-structure", "Bad ring structure"], [71, 3, 1, "coq:cmd.Bind-Scope", "Bind Scope"], [67, 4, 1, "coq:flag.Boolean-Equality-Schemes", "Boolean Equality Schemes"], [5, 5, 1, "coq:thm.Bound-on-the-ceiling-function", "Bound on the ceiling function"], [66, 0, 1, "coq:exn.Brackets-do-not-support-multi-goal-selectors", "Brackets do not support multi-goal selectors"], [66, 6, 1, "coq:opt.Bullet-Behavior", "Bullet Behavior"], [72, 2, 1, "coq:warn.Cannot-build-functional-inversion-principle", "Cannot build functional inversion principle"], [58, 0, 1, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-conclusion", "Cannot change \u2018ident\u2019, it is used in conclusion"], [58, 0, 1, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-hypothesis-\u2018ident\u2019", "Cannot change \u2018ident\u2019, it is used in hypothesis \u2018ident\u2019"], [60, 0, 1, "coq:exn.Cannot-coerce-\u2018qualid\u2019-to-an-evaluable-reference", "Cannot coerce \u2018qualid\u2019 to an evaluable reference"], [72, 2, 1, "coq:warn.Cannot-define-graph-for-\u2018ident\u2019", "Cannot define graph for \u2018ident\u2019"], [72, 2, 1, "coq:warn.Cannot-define-principle(s)-for-\u2018ident\u2019", "Cannot define principle(s) for \u2018ident\u2019"], [11, 0, 1, "coq:exn.Cannot-find-a-declared-ring-structure-for-equality-\u2018term\u2019", "Cannot find a declared ring structure for equality \u2018term\u2019"], [11, 0, 1, "coq:exn.Cannot-find-a-declared-ring-structure-over-\u2018term\u2019", "Cannot find a declared ring structure over \u2018term\u2019"], [64, 0, 1, "coq:exn.Cannot-find-a-relation-to-rewrite", "Cannot find a relation to rewrite"], [64, 0, 1, "coq:exn.Cannot-find-any-non-recursive-equality-over-\u2018ident\u2019", "Cannot find any non-recursive equality over \u2018ident\u2019"], [72, 0, 1, "coq:exn.Cannot-find-induction-information-on-\u2018qualid\u2019", "Cannot find induction information on \u2018qualid\u2019"], [72, 0, 1, "coq:exn.Cannot-find-inversion-information-for-hypothesis-\u2018ident\u2019", "Cannot find inversion information for hypothesis \u2018ident\u2019"], [59, 0, 1, "coq:exn.Cannot-find-library-foo-in-loadpath", "Cannot find library foo in loadpath"], [4, 0, 1, "coq:exn.Cannot-find-the-source-class-of-\u2018qualid\u2019", "Cannot find the source class of \u2018qualid\u2019"], [4, 0, 1, "coq:exn.Cannot-find-the-target-class", "Cannot find the target class"], [35, 2, 1, "coq:warn.Cannot-import-local-constant,-it-will-be-ignored", "Cannot import local constant, it will be ignored"], [71, 0, 1, "coq:exn.Cannot-interpret-in-\u2018scope_name\u2019-because-\u2018qualid\u2019-could-not-be-found-in-the-current-environment", "Cannot interpret in \u2018scope_name\u2019 because \u2018qualid\u2019 could not be found in the current environment"], [71, 0, 1, "coq:exn.Cannot-interpret-this-number-as-a-value-of-type-\u2018type\u2019", "Cannot interpret this number as a value of type \u2018type\u2019"], [71, 0, 1, "coq:exn.Cannot-interpret-this-string-as-a-value-of-type-\u2018type\u2019", "Cannot interpret this string as a value of type \u2018type\u2019"], [59, 0, 1, "coq:exn.Cannot-load-\u2018qualid\u2019:-no-physical-path-bound-to-\u2018dirpath\u2019", "Cannot load \u2018qualid\u2019: no physical path bound to \u2018dirpath\u2019"], [58, 0, 1, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-depends-on-\u2018ident\u2019", "Cannot move \u2018ident\u2019 after \u2018ident\u2019: it depends on \u2018ident\u2019"], [58, 0, 1, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-occurs-in-the-type-of-\u2018ident\u2019", "Cannot move \u2018ident\u2019 after \u2018ident\u2019: it occurs in the type of \u2018ident\u2019"], [62, 0, 1, "coq:exn.Cannot-recognize-a-boolean-equality", "Cannot recognize a boolean equality"], [67, 0, 1, "coq:exn.Cannot-recognize-a-statement-based-on-\u2018reference\u2019", "Cannot recognize a statement based on \u2018reference\u2019"], [4, 0, 1, "coq:exn.Cannot-recognize-\u2018coercion_class\u2019-as-a-source-class-of-\u2018qualid\u2019", "Cannot recognize \u2018coercion_class\u2019 as a source class of \u2018qualid\u2019"], [64, 0, 1, "coq:exn.Cannot-turn-[inductive|constructor]-into-an-evaluable-reference", "Cannot turn [inductive|constructor] into an evaluable reference"], [72, 0, 1, "coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure", "Cannot use mutual definition with well-founded recursion or measure"], [42, 3, 1, "coq:cmd.Canonical-Structure", "Canonical Structure"], [59, 0, 1, "coq:exn.Can\u2019t-find-file-\u2018ident\u2019-on-loadpath", "Can\u2019t find file \u2018ident\u2019 on loadpath"], [67, 4, 1, "coq:flag.Case-Analysis-Schemes", "Case Analysis Schemes"], [5, 5, 1, "coq:thm.Case-split", "Case split"], [40, 0, 1, "coq:exn.Casts-are-not-supported-in-this-pattern", "Casts are not supported in this pattern"], [2, 3, 1, "coq:cmd.Cd", "Cd"], [59, 3, 1, "coq:cmd.Check", "Check"], [13, 3, 1, "coq:cmd.Class", "Class"], [71, 3, 1, "coq:cmd.Close-Scope", "Close Scope"], [30, 3, 1, "coq:cmd.CoFixpoint", "CoFixpoint"], [30, 3, 1, "coq:cmd.CoInductive", "CoInductive"], [4, 3, 1, "coq:cmd.Coercion", "Coercion"], [66, 3, 1, "coq:cmd.Collection", "Collection"], [67, 3, 1, "coq:cmd.Combined-Scheme", "Combined Scheme"], [29, 3, 1, "coq:cmd.Comments", "Comments"], [64, 3, 1, "coq:cmd.Compute", "Compute"], [54, 0, 1, "coq:exn.Condition-not-satisfied", "Condition not satisfied"], [28, 3, 1, "coq:cmd.Conjecture", "Conjecture"], [28, 3, 1, "coq:cmd.Conjectures", "Conjectures"], [14, 3, 1, "coq:cmd.Constraint", "Constraint"], [38, 3, 1, "coq:cmd.Context", "Context"], [44, 4, 1, "coq:flag.Contextual-Implicit", "Contextual Implicit"], [51, 4, 1, "coq:flag.Coqtop-Exit-On-Error", "Coqtop Exit On Error"], [32, 3, 1, "coq:cmd.Corollary", "Corollary"], [60, 3, 1, "coq:cmd.Create-HintDb", "Create HintDb"], [14, 7, 1, "coq:attr.Cumulative", "Cumulative"], [14, 4, 1, "coq:flag.Cumulativity-Weak-Constraints", "Cumulativity Weak Constraints"], [54, 3, 1, "coq:cmd.Debug", "Debug"], [59, 6, 1, "coq:opt.Debug", "Debug"], [60, 4, 1, "coq:flag.Debug-Auto", "Debug Auto"], [60, 4, 1, "coq:flag.Debug-Eauto", "Debug Eauto"], [57, 4, 1, "coq:flag.Debug-SsrMatching", "Debug SsrMatching"], [57, 4, 1, "coq:flag.Debug-Ssreflect", "Debug Ssreflect"], [60, 4, 1, "coq:flag.Debug-Trivial", "Debug Trivial"], [54, 0, 1, "coq:exn.Debug-mode-not-available-in-the-IDE", "Debug mode not available in the IDE"], [67, 4, 1, "coq:flag.Decidable-Equality-Schemes", "Decidable Equality Schemes"], [71, 3, 1, "coq:cmd.Declare-Custom-Entry", "Declare Custom Entry"], [64, 3, 1, "coq:cmd.Declare-Equivalent-Keys", "Declare Equivalent Keys"], [13, 3, 1, "coq:cmd.Declare-Instance", "Declare Instance"], [64, 3, 1, "coq:cmd.Declare-Left-Step", "Declare Left Step"], [59, 3, 1, "coq:cmd.Declare-ML-Module", "Declare ML Module"], [35, 3, 1, "coq:cmd.Declare-Module", "Declare Module"], [3, 3, 1, "coq:cmd.Declare-Morphism", "Declare Morphism"], [64, 3, 1, "coq:cmd.Declare-Reduction", "Declare Reduction"], [64, 3, 1, "coq:cmd.Declare-Right-Step", "Declare Right Step"], [71, 3, 1, "coq:cmd.Declare-Scope", "Declare Scope"], [60, 2, 1, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead", "Declaring arbitrary terms as hints is fragile and deprecated; it is recommended to declare a toplevel constant instead"], [58, 6, 1, "coq:opt.Default-Goal-Selector", "Default Goal Selector"], [66, 6, 1, "coq:opt.Default-Proof-Mode", "Default Proof Mode"], [66, 6, 1, "coq:opt.Default-Proof-Using", "Default Proof Using"], [59, 6, 1, "coq:opt.Default-Timeout", "Default Timeout"], [66, 3, 1, "coq:cmd.Defined", "Defined"], [32, 3, 1, "coq:cmd.Definition", "Definition"], [12, 4, 1, "coq:flag.Definitional-UIP", "Definitional UIP"], [71, 3, 1, "coq:cmd.Delimit-Scope", "Delimit Scope"], [34, 4, 1, "coq:flag.Dependent-Proposition-Eliminators", "Dependent Proposition Eliminators"], [6, 3, 1, "coq:cmd.Derive", "Derive"], [67, 3, 1, "coq:cmd.Derive-Dependent-Inversion", "Derive Dependent Inversion"], [67, 3, 1, "coq:cmd.Derive-Dependent-Inversion_clear", "Derive Dependent Inversion_clear"], [67, 3, 1, "coq:cmd.Derive-Inversion", "Derive Inversion"], [67, 3, 1, "coq:cmd.Derive-Inversion_clear", "Derive Inversion_clear"], [66, 6, 1, "coq:opt.Diffs", "Diffs"], [71, 3, 1, "coq:cmd.Disable-Notation", "Disable Notation"], [59, 3, 1, "coq:cmd.Drop", "Drop"], [5, 6, 1, "coq:opt.Dump-Arith", "Dump Arith"], [59, 0, 1, "coq:exn.Dynlink-error:-execution-of-module-initializers-in-the", "Dynlink error: execution of module initializers in the"], [46, 0, 1, "coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies", "Either there is a type incompatibility or the problem involves dependencies"], [67, 4, 1, "coq:flag.Elimination-Schemes", "Elimination Schemes"], [71, 3, 1, "coq:cmd.Enable-Notation", "Enable Notation"], [38, 3, 1, "coq:cmd.End", "End"], [71, 0, 1, "coq:exn.End-of-quoted-string-not-followed-by-a-space-in-notation", "End of quoted string not followed by a space in notation"], [64, 3, 1, "coq:cmd.Eval", "Eval"], [32, 3, 1, "coq:cmd.Example", "Example"], [13, 3, 1, "coq:cmd.Existing-Class", "Existing Class"], [13, 3, 1, "coq:cmd.Existing-Instance", "Existing Instance"], [13, 3, 1, "coq:cmd.Existing-Instances", "Existing Instances"], [35, 3, 1, "coq:cmd.Export", "Export"], [54, 0, 1, "coq:exn.Expression-does-not-evaluate-to-a-tactic", "Expression does not evaluate to a tactic"], [2, 3, 1, "coq:cmd.Extract-Callback", "Extract Callback"], [2, 0, 1, "coq:exn.Extract-Callback-is-supported-only-for-OCaml-extraction", "Extract Callback is supported only for OCaml extraction"], [2, 3, 1, "coq:cmd.Extract-Constant", "Extract Constant"], [2, 3, 1, "coq:cmd.Extract-Foreign-Constant", "Extract Foreign Constant"], [2, 0, 1, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-OCaml-extraction", "Extract Foreign Constant is supported only for OCaml extraction"], [2, 0, 1, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-functions", "Extract Foreign Constant is supported only for functions"], [2, 3, 1, "coq:cmd.Extract-Inductive", "Extract Inductive"], [2, 3, 1, "coq:cmd.Extract-Inlined-Constant", "Extract Inlined Constant"], [2, 3, 1, "coq:cmd.Extraction", "Extraction"], [2, 4, 1, "coq:flag.Extraction-AutoInline", "Extraction AutoInline"], [2, 3, 1, "coq:cmd.Extraction-Blacklist", "Extraction Blacklist"], [2, 4, 1, "coq:flag.Extraction-Conservative-Types", "Extraction Conservative Types"], [2, 6, 1, "coq:opt.Extraction-File-Comment", "Extraction File Comment"], [2, 6, 1, "coq:opt.Extraction-Flag", "Extraction Flag"], [2, 3, 1, "coq:cmd.Extraction-Implicit", "Extraction Implicit"], [2, 3, 1, "coq:cmd.Extraction-Inline", "Extraction Inline"], [2, 4, 1, "coq:flag.Extraction-KeepSingleton", "Extraction KeepSingleton"], [2, 3, 1, "coq:cmd.Extraction-Language", "Extraction Language"], [2, 3, 1, "coq:cmd.Extraction-Library", "Extraction Library"], [2, 3, 1, "coq:cmd.Extraction-NoInline", "Extraction NoInline"], [2, 4, 1, "coq:flag.Extraction-Optimize", "Extraction Optimize"], [2, 6, 1, "coq:opt.Extraction-Output-Directory", "Extraction Output Directory"], [2, 4, 1, "coq:flag.Extraction-SafeImplicits", "Extraction SafeImplicits"], [2, 3, 1, "coq:cmd.Extraction-TestCompile", "Extraction TestCompile"], [2, 4, 1, "coq:flag.Extraction-TypeExpand", "Extraction TypeExpand"], [32, 3, 1, "coq:cmd.Fact", "Fact"], [59, 3, 1, "coq:cmd.Fail", "Fail"], [54, 0, 1, "coq:exn.Failed-to-progress", "Failed to progress"], [59, 4, 1, "coq:flag.Fast-Name-Printing", "Fast Name Printing"], [59, 0, 1, "coq:exn.File-not-found-on-loadpath:-\u2018string\u2019", "File not found on loadpath: \u2018string\u2019"], [59, 0, 1, "coq:exn.Files-processed-by-Load-cannot-leave-open-proofs", "Files processed by Load cannot leave open proofs"], [9, 3, 1, "coq:cmd.Final-Obligation", "Final Obligation"], [62, 6, 1, "coq:opt.Firstorder-Depth", "Firstorder Depth"], [62, 6, 1, "coq:opt.Firstorder-Solver", "Firstorder Solver"], [34, 3, 1, "coq:cmd.Fixpoint", "Fixpoint"], [41, 0, 1, "coq:exn.Flag-'rename'-expected-to-rename-\u2018name\u2019-into-\u2018name\u2019", "Flag 'rename' expected to rename \u2018name\u2019 into \u2018name\u2019"], [66, 3, 1, "coq:cmd.Focus", "Focus"], [46, 0, 1, "coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected", "Found a constructor of inductive type term while a constructor of term is expected"], [64, 0, 1, "coq:exn.Found-an-\"at\"-clause-without-\"with\"-clause", "Found an "at" clause without "with" clause"], [71, 2, 1, "coq:warn.Found-no-matching-notation-to-enable-or-disable", "Found no matching notation to enable or disable"], [64, 0, 1, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-the-current-goal", "Found no subterm matching \u2018term\u2019 in the current goal"], [64, 0, 1, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-\u2018ident\u2019", "Found no subterm matching \u2018term\u2019 in \u2018ident\u2019"], [4, 0, 1, "coq:exn.Found-target-class-\u2018coercion_class\u2019-instead-of-\u2018coercion_class\u2019", "Found target class \u2018coercion_class\u2019 instead of \u2018coercion_class\u2019"], [59, 3, 1, "coq:cmd.From-\u2026-Dependency", "From \u2026 Dependency"], [59, 3, 1, "coq:cmd.From-\u2026-Require", "From \u2026 Require"], [4, 0, 1, "coq:exn.Funclass-cannot-be-a-source-class", "Funclass cannot be a source class"], [72, 3, 1, "coq:cmd.Function", "Function"], [72, 3, 1, "coq:cmd.Functional-Case", "Functional Case"], [72, 3, 1, "coq:cmd.Functional-Scheme", "Functional Scheme"], [44, 3, 1, "coq:cmd.Generalizable", "Generalizable"], [72, 3, 1, "coq:cmd.Generate-graph-for", "Generate graph for"], [66, 3, 1, "coq:cmd.Goal", "Goal"], [59, 4, 1, "coq:flag.Guard-Checking", "Guard Checking"], [66, 3, 1, "coq:cmd.Guarded", "Guarded"], [60, 3, 1, "coq:cmd.Hint-Constants", "Hint Constants"], [60, 3, 1, "coq:cmd.Hint-Constructors", "Hint Constructors"], [60, 3, 1, "coq:cmd.Hint-Cut", "Hint Cut"], [60, 3, 1, "coq:cmd.Hint-Extern", "Hint Extern"], [60, 3, 1, "coq:cmd.Hint-Immediate", "Hint Immediate"], [60, 3, 1, "coq:cmd.Hint-Mode", "Hint Mode"], [60, 3, 1, "coq:cmd.Hint-Opaque", "Hint Opaque"], [60, 3, 1, "coq:cmd.Hint-Projections", "Hint Projections"], [60, 3, 1, "coq:cmd.Hint-Resolve", "Hint Resolve"], [60, 3, 1, "coq:cmd.Hint-Rewrite", "Hint Rewrite"], [60, 3, 1, "coq:cmd.Hint-Transparent", "Hint Transparent"], [60, 3, 1, "coq:cmd.Hint-Unfold", "Hint Unfold"], [60, 3, 1, "coq:cmd.Hint-Variables", "Hint Variables"], [57, 3, 1, "coq:cmd.Hint-View-for", "Hint View for"], [57, 3, 1, "coq:cmd.Hint-View-for-apply", "Hint View for apply"], [57, 3, 1, "coq:cmd.Hint-View-for-move", "Hint View for move"], [28, 3, 1, "coq:cmd.Hypotheses", "Hypotheses"], [28, 3, 1, "coq:cmd.Hypothesis", "Hypothesis"], [72, 0, 1, "coq:exn.Hypothesis-\u2018ident\u2019-must-contain-at-least-one-Function", "Hypothesis \u2018ident\u2019 must contain at least one Function"], [66, 6, 1, "coq:opt.Hyps-Limit", "Hyps Limit"], [62, 0, 1, "coq:exn.I-don\u2019t-know-how-to-handle-dependent-equality", "I don\u2019t know how to handle dependent equality"], [4, 3, 1, "coq:cmd.Identity-Coercion", "Identity Coercion"], [13, 2, 1, "coq:warn.Ignored-instance-declaration-for-\u201c\u2018ident\u2019\u201d:-\u201c\u2018term\u2019\u201d-is-not-a-class", "Ignored instance declaration for \u201c\u2018ident\u2019\u201d: \u201c\u2018term\u2019\u201d is not a class"], [44, 2, 1, "coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position", "Ignoring implicit binder declaration in unexpected position"], [9, 0, 1, "coq:exn.Ill-formed-recursive-definition", "Ill-formed recursive definition"], [34, 0, 1, "coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe", "Ill-formed template inductive declaration: not polymorphic on any universe"], [44, 4, 1, "coq:flag.Implicit-Arguments", "Implicit Arguments"], [44, 3, 1, "coq:cmd.Implicit-Type", "Implicit Type"], [44, 3, 1, "coq:cmd.Implicit-Types", "Implicit Types"], [35, 3, 1, "coq:cmd.Import", "Import"], [35, 3, 1, "coq:cmd.Include", "Include"], [35, 3, 1, "coq:cmd.Include-Type", "Include Type"], [57, 0, 1, "coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)", "Incorrect number of tactics (expected N tactics, was given M)"], [34, 3, 1, "coq:cmd.Inductive", "Inductive"], [71, 3, 1, "coq:cmd.Infix", "Infix"], [54, 3, 1, "coq:cmd.Info", "Info"], [60, 4, 1, "coq:flag.Info-Auto", "Info Auto"], [60, 4, 1, "coq:flag.Info-Eauto", "Info Eauto"], [54, 6, 1, "coq:opt.Info-Level", "Info Level"], [5, 4, 1, "coq:flag.Info-Micromega", "Info Micromega"], [60, 4, 1, "coq:flag.Info-Trivial", "Info Trivial"], [59, 3, 1, "coq:cmd.Inspect", "Inspect"], [13, 3, 1, "coq:cmd.Instance", "Instance"], [59, 3, 1, "coq:cmd.Instructions", "Instructions"], [62, 4, 1, "coq:flag.Intuition-Negation-Unfolding", "Intuition Negation Unfolding"], [59, 0, 1, "coq:exn.Invalid-backtrack", "Invalid backtrack"], [67, 8, 1, "coq:table.Keep-Equalities", "Keep Equalities"], [67, 4, 1, "coq:flag.Keep-Proof-Equalities", "Keep Proof Equalities"], [64, 4, 1, "coq:flag.Kernel-Term-Sharing", "Kernel Term Sharing"], [64, 4, 1, "coq:flag.Keyed-Unification", "Keyed Unification"], [38, 0, 1, "coq:exn.Last-block-to-end-has-name-\u2018ident\u2019", "Last block to end has name \u2018ident\u2019"], [32, 3, 1, "coq:cmd.Lemma", "Lemma"], [38, 3, 1, "coq:cmd.Let", "Let"], [38, 3, 1, "coq:cmd.Let-CoFixpoint", "Let CoFixpoint"], [38, 3, 1, "coq:cmd.Let-Fixpoint", "Let Fixpoint"], [5, 4, 1, "coq:flag.Lia-Cache", "Lia Cache"], [59, 3, 1, "coq:cmd.Load", "Load"], [59, 0, 1, "coq:exn.Load-is-not-supported-inside-proofs", "Load is not supported inside proofs"], [59, 3, 1, "coq:cmd.Locate", "Locate"], [59, 3, 1, "coq:cmd.Locate-File", "Locate File"], [59, 3, 1, "coq:cmd.Locate-Library", "Locate Library"], [59, 3, 1, "coq:cmd.Locate-Ltac", "Locate Ltac"], [59, 3, 1, "coq:cmd.Locate-Ltac2", "Locate Ltac2"], [59, 3, 1, "coq:cmd.Locate-Module", "Locate Module"], [59, 3, 1, "coq:cmd.Locate-Term", "Locate Term"], [60, 6, 1, "coq:opt.Loose-Hint-Behavior", "Loose Hint Behavior"], [54, 3, 1, "coq:cmd.Ltac", "Ltac"], [54, 4, 1, "coq:flag.Ltac-Backtrace", "Ltac Backtrace"], [54, 4, 1, "coq:flag.Ltac-Batch-Debug", "Ltac Batch Debug"], [54, 4, 1, "coq:flag.Ltac-Debug", "Ltac Debug"], [54, 4, 1, "coq:flag.Ltac-Profiling", "Ltac Profiling"], [55, 3, 1, "coq:cmd.Ltac2", "Ltac2"], [55, 4, 1, "coq:flag.Ltac2-Backtrace", "Ltac2 Backtrace"], [55, 3, 1, "coq:cmd.Ltac2-Check", "Ltac2 Check"], [55, 3, 1, "coq:cmd.Ltac2-Eval", "Ltac2 Eval"], [55, 3, 1, "coq:cmd.Ltac2-Globalize", "Ltac2 Globalize"], [55, 4, 1, "coq:flag.Ltac2-In-Ltac1-Profiling", "Ltac2 In Ltac1 Profiling"], [55, 3, 1, "coq:cmd.Ltac2-Notation", "Ltac2 Notation"], [55, 3, 1, "coq:cmd.Ltac2-Notation-(abbreviation)", "Ltac2 Notation (abbreviation)"], [55, 3, 1, "coq:cmd.Ltac2-Set", "Ltac2 Set"], [55, 3, 1, "coq:cmd.Ltac2-Type", "Ltac2 Type"], [55, 4, 1, "coq:flag.Ltac2-Typed-Notations", "Ltac2 Typed Notations"], [55, 3, 1, "coq:cmd.Ltac2-external", "Ltac2 external"], [44, 2, 1, "coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position", "Making shadowed name of implicit argument accessible by position"], [66, 4, 1, "coq:flag.Mangle-Names", "Mangle Names"], [66, 4, 1, "coq:flag.Mangle-Names-Light", "Mangle Names Light"], [66, 6, 1, "coq:opt.Mangle-Names-Prefix", "Mangle Names Prefix"], [44, 4, 1, "coq:flag.Maximal-Implicit-Insertion", "Maximal Implicit Insertion"], [71, 0, 1, "coq:exn.Missing-mapping-for-constructor-\u2018qualid\u2019", "Missing mapping for constructor \u2018qualid\u2019"], [35, 3, 1, "coq:cmd.Module", "Module"], [35, 3, 1, "coq:cmd.Module-Type", "Module Type"], [59, 0, 1, "coq:exn.Module/section-\u2018qualid\u2019-not-found", "Module/section \u2018qualid\u2019 not found"], [14, 7, 1, "coq:attr.Monomorphic", "Monomorphic"], [71, 0, 1, "coq:exn.More-than-one-interpretation-bound-to-this-notation,-confirm-with-the-\"all\"-modifier", "More than one interpretation bound to this notation, confirm with the "all" modifier"], [71, 0, 1, "coq:exn.Multiple-'via'-options", "Multiple 'via' options"], [71, 0, 1, "coq:exn.Multiple-'warning-after'-or-'abstract-after'-options", "Multiple 'warning after' or 'abstract after' options"], [64, 6, 1, "coq:opt.NativeCompute-Profile-Filename", "NativeCompute Profile Filename"], [64, 4, 1, "coq:flag.NativeCompute-Profiling", "NativeCompute Profiling"], [64, 4, 1, "coq:flag.NativeCompute-Timing", "NativeCompute Timing"], [66, 4, 1, "coq:flag.Nested-Proofs-Allowed", "Nested Proofs Allowed"], [66, 2, 1, "coq:warn.New-Collection-definition-of-\u2018ident\u2019-shadows-the-previous-one", "New Collection definition of \u2018ident\u2019 shadows the previous one"], [9, 3, 1, "coq:cmd.Next-Obligation", "Next Obligation"], [5, 4, 1, "coq:flag.Nia-Cache", "Nia Cache"], [54, 0, 1, "coq:exn.No-applicable-tactic", "No applicable tactic"], [72, 0, 1, "coq:exn.No-argument-name-\u2018ident\u2019", "No argument name \u2018ident\u2019"], [54, 0, 1, "coq:exn.No-evars", "No evars"], [35, 0, 1, "coq:exn.No-field-named-\u2018ident\u2019-in-\u2018qualid\u2019", "No field named \u2018ident\u2019 in \u2018qualid\u2019"], [66, 0, 1, "coq:exn.No-focused-proof", "No focused proof"], [66, 0, 1, "coq:exn.No-focused-proof-(No-proof-editing-in-progress)", "No focused proof (No proof-editing in progress)"], [66, 0, 1, "coq:exn.No-focused-proof-to-restart", "No focused proof to restart"], [64, 0, 1, "coq:exn.No-head-constant-to-reduce", "No head constant to reduce"], [54, 0, 1, "coq:exn.No-matching-clauses-for-match", "No matching clauses for match"], [54, 0, 1, "coq:exn.No-matching-clauses-for-match-goal", "No matching clauses for match goal"], [71, 0, 1, "coq:exn.No-notation-provided", "No notation provided"], [67, 0, 1, "coq:exn.No-primitive-equality-found", "No primitive equality found"], [58, 0, 1, "coq:exn.No-product-even-after-head-reduction", "No product even after head-reduction"], [3, 0, 1, "coq:exn.No-progress-made", "No progress made"], [58, 0, 1, "coq:exn.No-quantified-hypothesis-named-\u2018ident\u2019-in-current-goal-even-after-head-reduction", "No quantified hypothesis named \u2018ident\u2019 in current goal even after head-reduction"], [58, 0, 1, "coq:exn.No-such-assumption", "No such assumption"], [58, 0, 1, "coq:exn.No-such-binder", "No such binder"], [58, 0, 1, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(no-bound-variables-at-all-in-the-expression)", "No such bound variable \u2018ident\u2019 (no bound variables at all in the expression)"], [66, 0, 1, "coq:exn.No-such-goal", "No such goal"], [66, 0, 1, "coq:exn.No-such-goal-(\u2018ident\u2019)", "No such goal (\u2018ident\u2019)"], [66, 0, 1, "coq:exn.No-such-goal-(\u2018natural\u2019)", "No such goal (\u2018natural\u2019)"], [58, 0, 1, "coq:exn.No-such-hypothesis:-\u2018ident\u2019", "No such hypothesis: \u2018ident\u2019"], [58, 0, 1, "coq:exn.No-\u2018natural\u2019-th-non-dependent-hypothesis-in-current-goal-even-after-head-reduction", "No \u2018natural\u2019-th non dependent hypothesis in current goal even after head-reduction"], [46, 0, 1, "coq:exn.Non-exhaustive-pattern-matching", "Non exhaustive pattern matching"], [9, 0, 1, "coq:exn.Non-extensible-universe-declaration-not-supported-with-monomorphic-Program-Definition", "Non extensible universe declaration not supported with monomorphic Program Definition"], [34, 0, 1, "coq:exn.Non-strictly-positive-occurrence-of-\u2018ident\u2019-in-\u2018type\u2019", "Non strictly positive occurrence of \u2018ident\u2019 in \u2018type\u2019"], [14, 7, 1, "coq:attr.NonCumulative", "NonCumulative"], [67, 4, 1, "coq:flag.Nonrecursive-Elimination-Schemes", "Nonrecursive Elimination Schemes"], [54, 0, 1, "coq:exn.Not-a-context-variable", "Not a context variable"], [67, 0, 1, "coq:exn.Not-a-discriminable-equality", "Not a discriminable equality"], [67, 0, 1, "coq:exn.Not-a-negated-primitive-equality", "Not a negated primitive equality"], [11, 0, 1, "coq:exn.Not-a-valid-ring-equation", "Not a valid ring equation"], [54, 0, 1, "coq:exn.Not-a-variable-or-hypothesis", "Not a variable or hypothesis"], [54, 0, 1, "coq:exn.Not-an-evar", "Not an evar"], [58, 0, 1, "coq:exn.Not-an-exact-proof", "Not an exact proof"], [67, 0, 1, "coq:exn.Not-an-inductive-goal-with-1-constructor", "Not an inductive goal with 1 constructor"], [67, 0, 1, "coq:exn.Not-an-inductive-goal-with-2-constructors", "Not an inductive goal with 2 constructors"], [67, 0, 1, "coq:exn.Not-an-inductive-product", "Not an inductive product"], [64, 0, 1, "coq:exn.Not-convertible", "Not convertible"], [67, 0, 1, "coq:exn.Not-enough-constructors", "Not enough constructors"], [44, 0, 1, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018ident\u2019", "Not enough non implicit arguments to accept the argument bound to \u2018ident\u2019"], [44, 0, 1, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018natural\u2019", "Not enough non implicit arguments to accept the argument bound to \u2018natural\u2019"], [54, 0, 1, "coq:exn.Not-equal", "Not equal"], [54, 0, 1, "coq:exn.Not-equal-(due-to-universes)", "Not equal (due to universes)"], [54, 0, 1, "coq:exn.Not-ground", "Not ground"], [72, 0, 1, "coq:exn.Not-the-right-number-of-induction-arguments", "Not the right number of induction arguments"], [58, 0, 1, "coq:exn.Not-the-right-number-of-missing-arguments-(expected-\u2018natural\u2019)", "Not the right number of missing arguments (expected \u2018natural\u2019)"], [71, 3, 1, "coq:cmd.Notation", "Notation"], [71, 3, 1, "coq:cmd.Notation-(abbreviation)", "Notation (abbreviation)"], [55, 0, 1, "coq:exn.Notation-levels-must-range-between-0-and-6", "Notation levels must range between 0 and 6"], [67, 0, 1, "coq:exn.Nothing-to-inject", "Nothing to inject"], [3, 0, 1, "coq:exn.Nothing-to-rewrite", "Nothing to rewrite"], [5, 4, 1, "coq:flag.Nra-Cache", "Nra Cache"], [71, 3, 1, "coq:cmd.Number-Notation", "Number Notation"], [9, 3, 1, "coq:cmd.Obligation", "Obligation"], [9, 3, 1, "coq:cmd.Obligation-Tactic", "Obligation Tactic"], [9, 3, 1, "coq:cmd.Obligations", "Obligations"], [64, 3, 1, "coq:cmd.Opaque", "Opaque"], [71, 3, 1, "coq:cmd.Open-Scope", "Open Scope"], [66, 3, 1, "coq:cmd.Optimize-Heap", "Optimize Heap"], [66, 3, 1, "coq:cmd.Optimize-Proof", "Optimize Proof"], [28, 3, 1, "coq:cmd.Parameter", "Parameter"], [28, 3, 1, "coq:cmd.Parameters", "Parameters"], [44, 4, 1, "coq:flag.Parsing-Explicit", "Parsing Explicit"], [14, 7, 1, "coq:attr.Polymorphic", "Polymorphic"], [14, 4, 1, "coq:flag.Polymorphic-Inductive-Cumulativity", "Polymorphic Inductive Cumulativity"], [14, 0, 1, "coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead", "Polymorphic universe constraints can only be declared inside sections, use Monomorphic Constraint instead"], [14, 0, 1, "coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead", "Polymorphic universes can only be declared inside sections, use Monomorphic Universe instead"], [59, 4, 1, "coq:flag.Positivity-Checking", "Positivity Checking"], [57, 3, 1, "coq:cmd.Prenex-Implicits", "Prenex Implicits"], [9, 3, 1, "coq:cmd.Preterm", "Preterm"], [59, 3, 1, "coq:cmd.Primitive", "Primitive"], [37, 4, 1, "coq:flag.Primitive-Projections", "Primitive Projections"], [59, 3, 1, "coq:cmd.Print", "Print"], [59, 3, 1, "coq:cmd.Print-All", "Print All"], [59, 3, 1, "coq:cmd.Print-All-Dependencies", "Print All Dependencies"], [59, 3, 1, "coq:cmd.Print-Assumptions", "Print Assumptions"], [42, 3, 1, "coq:cmd.Print-Canonical-Projections", "Print Canonical Projections"], [4, 3, 1, "coq:cmd.Print-Classes", "Print Classes"], [4, 3, 1, "coq:cmd.Print-Coercion-Paths", "Print Coercion Paths"], [4, 3, 1, "coq:cmd.Print-Coercions", "Print Coercions"], [71, 3, 1, "coq:cmd.Print-Custom-Grammar", "Print Custom Grammar"], [66, 3, 1, "coq:cmd.Print-Debug-GC", "Print Debug GC"], [64, 3, 1, "coq:cmd.Print-Equivalent-Keys", "Print Equivalent Keys"], [2, 3, 1, "coq:cmd.Print-Extraction-Blacklist", "Print Extraction Blacklist"], [2, 3, 1, "coq:cmd.Print-Extraction-Callback", "Print Extraction Callback"], [2, 3, 1, "coq:cmd.Print-Extraction-Foreign", "Print Extraction Foreign"], [2, 3, 1, "coq:cmd.Print-Extraction-Inline", "Print Extraction Inline"], [11, 3, 1, "coq:cmd.Print-Fields", "Print Fields"], [62, 3, 1, "coq:cmd.Print-Firstorder-Solver", "Print Firstorder Solver"], [71, 3, 1, "coq:cmd.Print-Grammar", "Print Grammar"], [4, 3, 1, "coq:cmd.Print-Graph", "Print Graph"], [60, 3, 1, "coq:cmd.Print-Hint", "Print Hint"], [60, 3, 1, "coq:cmd.Print-HintDb", "Print HintDb"], [44, 3, 1, "coq:cmd.Print-Implicit", "Print Implicit"], [13, 3, 1, "coq:cmd.Print-Instances", "Print Instances"], [71, 3, 1, "coq:cmd.Print-Keywords", "Print Keywords"], [59, 3, 1, "coq:cmd.Print-Libraries", "Print Libraries"], [59, 3, 1, "coq:cmd.Print-LoadPath", "Print LoadPath"], [54, 3, 1, "coq:cmd.Print-Ltac", "Print Ltac"], [54, 3, 1, "coq:cmd.Print-Ltac-Signatures", "Print Ltac Signatures"], [55, 3, 1, "coq:cmd.Print-Ltac2", "Print Ltac2"], [55, 3, 1, "coq:cmd.Print-Ltac2-Signatures", "Print Ltac2 Signatures"], [55, 3, 1, "coq:cmd.Print-Ltac2-Type", "Print Ltac2 Type"], [59, 3, 1, "coq:cmd.Print-ML-Modules", "Print ML Modules"], [59, 3, 1, "coq:cmd.Print-ML-Path", "Print ML Path"], [35, 3, 1, "coq:cmd.Print-Module", "Print Module"], [35, 3, 1, "coq:cmd.Print-Module-Type", "Print Module Type"], [35, 3, 1, "coq:cmd.Print-Namespace", "Print Namespace"], [71, 3, 1, "coq:cmd.Print-Notation", "Print Notation"], [59, 3, 1, "coq:cmd.Print-Opaque-Dependencies", "Print Opaque Dependencies"], [29, 3, 1, "coq:cmd.Print-Options", "Print Options"], [59, 3, 1, "coq:cmd.Print-Registered", "Print Registered"], [59, 3, 1, "coq:cmd.Print-Registered-Schemes", "Print Registered Schemes"], [60, 3, 1, "coq:cmd.Print-Rewrite-HintDb", "Print Rewrite HintDb"], [11, 3, 1, "coq:cmd.Print-Rings", "Print Rings"], [71, 3, 1, "coq:cmd.Print-Scope", "Print Scope"], [71, 3, 1, "coq:cmd.Print-Scopes", "Print Scopes"], [59, 3, 1, "coq:cmd.Print-Section", "Print Section"], [64, 3, 1, "coq:cmd.Print-Strategies", "Print Strategies"], [64, 3, 1, "coq:cmd.Print-Strategy", "Print Strategy"], [29, 3, 1, "coq:cmd.Print-Table", "Print Table"], [29, 3, 1, "coq:cmd.Print-Tables", "Print Tables"], [59, 3, 1, "coq:cmd.Print-Transparent-Dependencies", "Print Transparent Dependencies"], [13, 3, 1, "coq:cmd.Print-Typeclasses", "Print Typeclasses"], [59, 3, 1, "coq:cmd.Print-Typing-Flags", "Print Typing Flags"], [14, 3, 1, "coq:cmd.Print-Universes", "Print Universes"], [71, 3, 1, "coq:cmd.Print-Visibility", "Print Visibility"], [59, 4, 1, "coq:flag.Printing-All", "Printing All"], [46, 4, 1, "coq:flag.Printing-Allow-Match-Default-Clause", "Printing Allow Match Default Clause"], [4, 8, 1, "coq:table.Printing-Coercion", "Printing Coercion"], [4, 4, 1, "coq:flag.Printing-Coercions", "Printing Coercions"], [59, 4, 1, "coq:flag.Printing-Compact-Contexts", "Printing Compact Contexts"], [37, 8, 1, "coq:table.Printing-Constructor", "Printing Constructor"], [59, 4, 1, "coq:flag.Printing-Dependent-Evars-Line", "Printing Dependent Evars Line"], [59, 6, 1, "coq:opt.Printing-Depth", "Printing Depth"], [43, 4, 1, "coq:flag.Printing-Existential-Instances", "Printing Existential Instances"], [46, 4, 1, "coq:flag.Printing-Factorizable-Match-Patterns", "Printing Factorizable Match Patterns"], [66, 4, 1, "coq:flag.Printing-Goal-Names", "Printing Goal Names"], [66, 4, 1, "coq:flag.Printing-Goal-Tags", "Printing Goal Tags"], [46, 8, 1, "coq:table.Printing-If", "Printing If"], [44, 4, 1, "coq:flag.Printing-Implicit", "Printing Implicit"], [44, 4, 1, "coq:flag.Printing-Implicit-Defensive", "Printing Implicit Defensive"], [46, 8, 1, "coq:table.Printing-Let", "Printing Let"], [46, 4, 1, "coq:flag.Printing-Match-All-Subterms", "Printing Match All Subterms"], [46, 4, 1, "coq:flag.Printing-Matching", "Printing Matching"], [71, 4, 1, "coq:flag.Printing-Notations", "Printing Notations"], [71, 4, 1, "coq:flag.Printing-Parentheses", "Printing Parentheses"], [37, 4, 1, "coq:flag.Printing-Primitive-Projection-Parameters", "Printing Primitive Projection Parameters"], [37, 4, 1, "coq:flag.Printing-Projections", "Printing Projections"], [71, 4, 1, "coq:flag.Printing-Raw-Literals", "Printing Raw Literals"], [37, 8, 1, "coq:table.Printing-Record", "Printing Record"], [37, 4, 1, "coq:flag.Printing-Records", "Printing Records"], [12, 4, 1, "coq:flag.Printing-Relevance-Marks", "Printing Relevance Marks"], [46, 4, 1, "coq:flag.Printing-Synth", "Printing Synth"], [59, 4, 1, "coq:flag.Printing-Unfocused", "Printing Unfocused"], [37, 4, 1, "coq:flag.Printing-Unfolded-Projection-As-Match", "Printing Unfolded Projection As Match"], [14, 4, 1, "coq:flag.Printing-Universes", "Printing Universes"], [44, 4, 1, "coq:flag.Printing-Use-Implicit-Types", "Printing Use Implicit Types"], [59, 6, 1, "coq:opt.Printing-Width", "Printing Width"], [46, 4, 1, "coq:flag.Printing-Wildcard", "Printing Wildcard"], [40, 7, 1, "coq:attr.Private", "Private"], [14, 4, 1, "coq:flag.Private-Polymorphic-Universes", "Private Polymorphic Universes"], [59, 3, 1, "coq:cmd.Profile", "Profile"], [9, 7, 1, "coq:attr.Program", "Program"], [9, 4, 1, "coq:flag.Program-Cases", "Program Cases"], [9, 4, 1, "coq:flag.Program-Generalized-Coercion", "Program Generalized Coercion"], [9, 4, 1, "coq:flag.Program-Mode", "Program Mode"], [66, 3, 1, "coq:cmd.Proof", "Proof"], [66, 3, 1, "coq:cmd.Proof-Mode", "Proof Mode"], [66, 3, 1, "coq:cmd.Proof-`term`", "Proof `term`"], [66, 3, 1, "coq:cmd.Proof-using", "Proof using"], [60, 3, 1, "coq:cmd.Proof-with", "Proof with"], [32, 3, 1, "coq:cmd.Property", "Property"], [32, 3, 1, "coq:cmd.Proposition", "Proposition"], [5, 5, 1, "coq:thm.Psatz", "Psatz"], [2, 3, 1, "coq:cmd.Pwd", "Pwd"], [66, 3, 1, "coq:cmd.Qed", "Qed"], [59, 3, 1, "coq:cmd.Quit", "Quit"], [37, 3, 1, "coq:cmd.Record", "Record"], [37, 0, 1, "coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive", "Records declared with the keyword Record or Structure cannot be recursive"], [2, 3, 1, "coq:cmd.Recursive-Extraction", "Recursive Extraction"], [2, 3, 1, "coq:cmd.Recursive-Extraction-Library", "Recursive Extraction Library"], [59, 3, 1, "coq:cmd.Redirect", "Redirect"], [59, 3, 1, "coq:cmd.Register", "Register"], [59, 3, 1, "coq:cmd.Register-Inline", "Register Inline"], [59, 3, 1, "coq:cmd.Register-Scheme", "Register Scheme"], [64, 4, 1, "coq:flag.Regular-Subst-Tactic", "Regular Subst Tactic"], [32, 3, 1, "coq:cmd.Remark", "Remark"], [29, 3, 1, "coq:cmd.Remove", "Remove"], [60, 3, 1, "coq:cmd.Remove-Hints", "Remove Hints"], [59, 3, 1, "coq:cmd.Require", "Require"], [59, 3, 1, "coq:cmd.Require-Export", "Require Export"], [59, 3, 1, "coq:cmd.Require-Import", "Require Import"], [71, 3, 1, "coq:cmd.Reserved-Infix", "Reserved Infix"], [71, 3, 1, "coq:cmd.Reserved-Notation", "Reserved Notation"], [59, 3, 1, "coq:cmd.Reset", "Reset"], [2, 3, 1, "coq:cmd.Reset-Extraction-Blacklist", "Reset Extraction Blacklist"], [2, 3, 1, "coq:cmd.Reset-Extraction-Callback", "Reset Extraction Callback"], [2, 3, 1, "coq:cmd.Reset-Extraction-Inline", "Reset Extraction Inline"], [59, 3, 1, "coq:cmd.Reset-Initial", "Reset Initial"], [54, 3, 1, "coq:cmd.Reset-Ltac-Profile", "Reset Ltac Profile"], [66, 3, 1, "coq:cmd.Restart", "Restart"], [44, 4, 1, "coq:flag.Reversible-Pattern-Implicit", "Reversible Pattern Implicit"], [10, 3, 1, "coq:cmd.Rewrite-Rule", "Rewrite Rule"], [10, 3, 1, "coq:cmd.Rewrite-Rules", "Rewrite Rules"], [10, 0, 1, "coq:exn.Rewrite-rule-declaration-requires-passing-the-flag-\"-allow-rewrite-rules\"", "Rewrite rule declaration requires passing the flag "-allow-rewrite-rules""], [67, 4, 1, "coq:flag.Rewriting-Schemes", "Rewriting Schemes"], [11, 0, 1, "coq:exn.Ring-operation-should-be-declared-as-a-morphism", "Ring operation should be declared as a morphism"], [12, 0, 1, "coq:exn.SProp-is-disallowed-because-the-\"Allow-StrictProp\"-flag-is-off", "SProp is disallowed because the "Allow StrictProp" flag is off"], [66, 3, 1, "coq:cmd.Save", "Save"], [67, 3, 1, "coq:cmd.Scheme", "Scheme"], [67, 3, 1, "coq:cmd.Scheme-Boolean-Equality", "Scheme Boolean Equality"], [67, 3, 1, "coq:cmd.Scheme-Equality", "Scheme Equality"], [71, 0, 1, "coq:exn.Scope-delimiters-should-not-start-with-an-underscore", "Scope delimiters should not start with an underscore"], [71, 0, 1, "coq:exn.Scope-names-should-not-start-with-an-underscore", "Scope names should not start with an underscore"], [59, 3, 1, "coq:cmd.Search", "Search"], [59, 8, 1, "coq:table.Search-Blacklist", "Search Blacklist"], [59, 4, 1, "coq:flag.Search-Output-Name-Only", "Search Output Name Only"], [59, 3, 1, "coq:cmd.SearchPattern", "SearchPattern"], [59, 3, 1, "coq:cmd.SearchRewrite", "SearchRewrite"], [38, 3, 1, "coq:cmd.Section", "Section"], [64, 0, 1, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-hypothesis-\u2018ident\u2019", "Section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in hypothesis \u2018ident\u2019"], [64, 0, 1, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-the-conclusion", "Section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in the conclusion"], [2, 3, 1, "coq:cmd.Separate-Extraction", "Separate Extraction"], [29, 3, 1, "coq:cmd.Set", "Set"], [35, 4, 1, "coq:flag.Short-Module-Printing", "Short Module Printing"], [66, 3, 1, "coq:cmd.Show", "Show"], [66, 3, 1, "coq:cmd.Show-Conjectures", "Show Conjectures"], [66, 3, 1, "coq:cmd.Show-Existentials", "Show Existentials"], [2, 3, 1, "coq:cmd.Show-Extraction", "Show Extraction"], [66, 3, 1, "coq:cmd.Show-Goal", "Show Goal"], [66, 3, 1, "coq:cmd.Show-Intro", "Show Intro"], [66, 3, 1, "coq:cmd.Show-Intros", "Show Intros"], [5, 3, 1, "coq:cmd.Show-Lia-Profile", "Show Lia Profile"], [54, 3, 1, "coq:cmd.Show-Ltac-Profile", "Show Ltac Profile"], [66, 3, 1, "coq:cmd.Show-Match", "Show Match"], [9, 3, 1, "coq:cmd.Show-Obligation-Tactic", "Show Obligation Tactic"], [66, 3, 1, "coq:cmd.Show-Proof", "Show Proof"], [66, 3, 1, "coq:cmd.Show-Universes", "Show Universes"], [5, 3, 1, "coq:cmd.Show-Zify", "Show Zify"], [35, 0, 1, "coq:exn.Signature-components-for-field-\u2018ident\u2019-do-not-match", "Signature components for field \u2018ident\u2019 do not match"], [59, 4, 1, "coq:flag.Silent", "Silent"], [9, 3, 1, "coq:cmd.Solve-All-Obligations", "Solve All Obligations"], [9, 3, 1, "coq:cmd.Solve-Obligations", "Solve Obligations"], [66, 4, 1, "coq:flag.Solve-Unification-Constraints", "Solve Unification Constraints"], [57, 4, 1, "coq:flag.SsrHave-NoTCResolution", "SsrHave NoTCResolution"], [57, 4, 1, "coq:flag.SsrIdents", "SsrIdents"], [57, 4, 1, "coq:flag.SsrOldRewriteGoalsOrder", "SsrOldRewriteGoalsOrder"], [57, 4, 1, "coq:flag.SsrRewrite", "SsrRewrite"], [71, 2, 1, "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)", "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)"], [64, 3, 1, "coq:cmd.Strategy", "Strategy"], [44, 4, 1, "coq:flag.Strict-Implicit", "Strict Implicit"], [14, 4, 1, "coq:flag.Strict-Universe-Declaration", "Strict Universe Declaration"], [71, 3, 1, "coq:cmd.String-Notation", "String Notation"], [44, 4, 1, "coq:flag.Strongly-Strict-Implicit", "Strongly Strict Implicit"], [67, 4, 1, "coq:flag.Structural-Injection", "Structural Injection"], [37, 3, 1, "coq:cmd.Structure", "Structure"], [4, 3, 1, "coq:cmd.SubClass", "SubClass"], [59, 3, 1, "coq:cmd.Succeed", "Succeed"], [66, 4, 1, "coq:flag.Suggest-Proof-Using", "Suggest Proof Using"], [10, 3, 1, "coq:cmd.Symbol", "Symbol"], [10, 3, 1, "coq:cmd.Symbols", "Symbols"], [71, 0, 1, "coq:exn.Syntax-error:-[prim:reference]-expected-after-'Notation'-(in-[vernac:command])", "Syntax error: [prim:reference] expected after 'Notation' (in [vernac:command])"], [71, 0, 1, "coq:exn.Syntax-error:-[prim:reference]-expected-after-[prim:reference]-(in-[vernac:command])", "Syntax error: [prim:reference] expected after [prim:reference] (in [vernac:command])"], [71, 3, 1, "coq:cmd.Tactic-Notation", "Tactic Notation"], [54, 0, 1, "coq:exn.Tactic-failure", "Tactic failure"], [54, 0, 1, "coq:exn.Tactic-failure-(level-\u2018natural\u2019)", "Tactic failure (level \u2018natural\u2019)"], [54, 0, 1, "coq:exn.Tactic-failure:--succeeds", "Tactic failure: <tactic closure> succeeds"], [64, 0, 1, "coq:exn.Tactic-failure:-Setoid-library-not-loaded", "Tactic failure: Setoid library not loaded"], [64, 0, 1, "coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal", "Tactic generated a subgoal identical to the original goal"], [64, 0, 1, "coq:exn.Terms-do-not-have-convertible-types", "Terms do not have convertible types"], [29, 3, 1, "coq:cmd.Test", "Test"], [60, 0, 1, "coq:exn.The-\"at\"-syntax-isn't-available-yet-for-the-autorewrite-tactic", "The "at" syntax isn't available yet for the autorewrite tactic"], [41, 0, 1, "coq:exn.The-&-modifier-may-only-occur-once", "The & modifier may only occur once"], [71, 2, 1, "coq:warn.The-'abstract-after'-directive-has-no-effect-when-the-parsing-function-(\u2018qualid\u2019)-targets-an-option-type", "The 'abstract after' directive has no effect when the parsing function (\u2018qualid\u2019) targets an option type"], [41, 0, 1, "coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given", "The 'clear implicits' flag must be omitted if implicit annotations are given"], [41, 0, 1, "coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations", "The 'default implicits' flag is incompatible with implicit annotations"], [41, 0, 1, "coq:exn.The-/-modifier-may-only-occur-once", "The / modifier may only occur once"], [59, 0, 1, "coq:exn.The-command-has-not-failed!", "The command has not failed!"], [34, 0, 1, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019", "The conclusion of \u2018type\u2019 is not valid; it must be built from \u2018ident\u2019"], [46, 0, 1, "coq:exn.The-constructor-\u2018ident\u2019-expects-\u2018natural\u2019-arguments", "The constructor \u2018ident\u2019 expects \u2018natural\u2019 arguments"], [14, 0, 1, "coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context", "The cumulative attribute can only be used in a polymorphic context"], [46, 0, 1, "coq:exn.The-elimination-predicate-term-should-be-of-arity-\u2018natural\u2019-(for-non-dependent-case)-or-\u2018natural\u2019-(for-dependent-case)", "The elimination predicate term should be of arity \u2018natural\u2019 (for non dependent case) or \u2018natural\u2019 (for dependent case)"], [35, 0, 1, "coq:exn.The-field-\u2018ident\u2019-is-missing-in-\u2018qualid\u2019", "The field \u2018ident\u2019 is missing in \u2018qualid\u2019"], [72, 0, 1, "coq:exn.The-recursive-argument-must-be-specified", "The recursive argument must be specified"], [55, 0, 1, "coq:exn.The-reference-X-was-not-found-in-the-current-environment", "The reference X was not found in the current environment"], [64, 0, 1, "coq:exn.The-reference-is-not-unfoldable", "The reference is not unfoldable"], [64, 0, 1, "coq:exn.The-reference-\u2018qualid\u2019-was-not-found-in-the-current-environment", "The reference \u2018qualid\u2019 was not found in the current environment"], [58, 0, 1, "coq:exn.The-term-\"\u2018type\u2019\"-has-type-\"\u2018type\u2019\"-which-should-be-Set,-Prop-or-Type", "The term "\u2018type\u2019" has type "\u2018type\u2019" which should be Set, Prop or Type"], [2, 0, 1, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-foreign-custom-constant", "The term \u2018qualid\u2019 is already defined as foreign custom constant"], [2, 0, 1, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-inline-custom-constant", "The term \u2018qualid\u2019 is already defined as inline custom constant"], [32, 0, 1, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-which-should-be-Set,-Prop-or-Type", "The term \u2018term\u2019 has type \u2018type\u2019 which should be Set, Prop or Type"], [32, 0, 1, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-while-it-is-expected-to-have-type-\u2018type\u2019'", "The term \u2018term\u2019 has type \u2018type\u2019 while it is expected to have type \u2018type\u2019'"], [67, 0, 1, "coq:exn.The-type-has-no-constructors", "The type has no constructors"], [59, 0, 1, "coq:exn.The-type-\u2018ident\u2019-must-be-registered-before-this-construction-can-be-typechecked", "The type \u2018ident\u2019 must be registered before this construction can be typechecked"], [46, 0, 1, "coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term", "The variable ident is bound several times in pattern term"], [58, 0, 1, "coq:exn.The-variable-\u2018ident\u2019-is-already-declared", "The variable \u2018ident\u2019 is already declared"], [40, 0, 1, "coq:exn.The-\u2018natural\u2019-th-argument-of-\u2018ident\u2019-must-be-\u2018ident\u2019-in-\u2018type\u2019", "The \u2018natural\u2019 th argument of \u2018ident\u2019 must be \u2018ident\u2019 in \u2018type\u2019"], [32, 3, 1, "coq:cmd.Theorem", "Theorem"], [54, 0, 1, "coq:exn.There-is-already-an-Ltac-named-\u2018qualid\u2019", "There is already an Ltac named \u2018qualid\u2019"], [54, 0, 1, "coq:exn.There-is-no-Ltac-named-\u2018qualid\u2019", "There is no Ltac named \u2018qualid\u2019"], [29, 2, 1, "coq:warn.There-is-no-flag-or-option-with-this-name:-\"\u2018setting_name\u2019\"", "There is no flag or option with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-flag,-option-or-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no flag, option or table with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-qualid-valued-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no qualid-valued table with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-string-valued-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no string-valued table with this name: "\u2018setting_name\u2019""], [38, 0, 1, "coq:exn.There-is-nothing-to-end", "There is nothing to end"], [29, 2, 1, "coq:warn.This-command-does-not-support-this-attribute", "This command does not support this attribute"], [59, 0, 1, "coq:exn.This-object-does-not-support-universe-names", "This object does not support universe names"], [66, 0, 1, "coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way", "This proof is focused, but cannot be unfocused this way"], [54, 0, 1, "coq:exn.This-tactic-has-more-than-one-success", "This tactic has more than one success"], [59, 3, 1, "coq:cmd.Time", "Time"], [59, 3, 1, "coq:cmd.Timeout", "Timeout"], [71, 2, 1, "coq:warn.To-avoid-stack-overflow,-large-numbers-in-\u2018type\u2019-are-interpreted-as-applications-of-\u2018qualid\u2019", "To avoid stack overflow, large numbers in \u2018type\u2019 are interpreted as applications of \u2018qualid\u2019"], [41, 0, 1, "coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified", "To rename arguments the 'rename' flag must be specified"], [64, 3, 1, "coq:cmd.Transparent", "Transparent"], [9, 4, 1, "coq:flag.Transparent-Obligations", "Transparent Obligations"], [35, 2, 1, "coq:warn.Trying-to-mask-the-absolute-name-\u2018qualid\u2019!", "Trying to mask the absolute name \u2018qualid\u2019!"], [59, 3, 1, "coq:cmd.Type", "Type"], [67, 0, 1, "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", "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"], [13, 4, 1, "coq:flag.Typeclass-Resolution-For-Conversion", "Typeclass Resolution For Conversion"], [13, 4, 1, "coq:flag.Typeclasses-Debug", "Typeclasses Debug"], [13, 6, 1, "coq:opt.Typeclasses-Debug-Verbosity", "Typeclasses Debug Verbosity"], [13, 6, 1, "coq:opt.Typeclasses-Default-Mode", "Typeclasses Default Mode"], [13, 4, 1, "coq:flag.Typeclasses-Dependency-Order", "Typeclasses Dependency Order"], [13, 6, 1, "coq:opt.Typeclasses-Depth", "Typeclasses Depth"], [13, 4, 1, "coq:flag.Typeclasses-Iterative-Deepening", "Typeclasses Iterative Deepening"], [13, 4, 1, "coq:flag.Typeclasses-Limit-Intros", "Typeclasses Limit Intros"], [13, 3, 1, "coq:cmd.Typeclasses-Opaque", "Typeclasses Opaque"], [13, 4, 1, "coq:flag.Typeclasses-Strict-Resolution", "Typeclasses Strict Resolution"], [13, 3, 1, "coq:cmd.Typeclasses-Transparent", "Typeclasses Transparent"], [13, 4, 1, "coq:flag.Typeclasses-Unique-Instances", "Typeclasses Unique Instances"], [13, 4, 1, "coq:flag.Typeclasses-Unique-Solutions", "Typeclasses Unique Solutions"], [13, 3, 1, "coq:cmd.Typeclasses-eauto", "Typeclasses eauto"], [67, 0, 1, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019-\u2026-\u2018ident\u2019", "Unable to find an instance for the variables \u2018ident\u2019 \u2026 \u2018ident\u2019"], [58, 0, 1, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019\u2026\u2018ident\u2019", "Unable to find an instance for the variables \u2018ident\u2019\u2026\u2018ident\u2019"], [46, 0, 1, "coq:exn.Unable-to-infer-a-match-predicate", "Unable to infer a match predicate"], [3, 0, 1, "coq:exn.Unable-to-satisfy-the-rewriting-constraints", "Unable to satisfy the rewriting constraints"], [58, 0, 1, "coq:exn.Unable-to-unify-\u2018one_term\u2019-with-\u2018one_term\u2019", "Unable to unify \u2018one_term\u2019 with \u2018one_term\u2019"], [55, 0, 1, "coq:exn.Unbound-[value|constructor]-X", "Unbound [value|constructor] X"], [54, 0, 1, "coq:exn.Unbound-context-identifier-\u2018ident\u2019", "Unbound context identifier \u2018ident\u2019"], [14, 0, 1, "coq:exn.Undeclared-universe-\u2018ident\u2019", "Undeclared universe \u2018ident\u2019"], [71, 3, 1, "coq:cmd.Undelimit-Scope", "Undelimit Scope"], [66, 3, 1, "coq:cmd.Undo", "Undo"], [71, 0, 1, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-number-notation", "Unexpected non-option term \u2018term\u2019 while parsing a number notation"], [71, 0, 1, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-string-notation", "Unexpected non-option term \u2018term\u2019 while parsing a string notation"], [71, 0, 1, "coq:exn.Unexpected-only-parsing-for-an-only-printing-notation", "Unexpected only parsing for an only printing notation"], [71, 0, 1, "coq:exn.Unexpected-only-printing-for-an-only-parsing-notation", "Unexpected only printing for an only parsing notation"], [71, 0, 1, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-number-notation", "Unexpected term \u2018term\u2019 while parsing a number notation"], [71, 0, 1, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-string-notation", "Unexpected term \u2018term\u2019 while parsing a string notation"], [66, 3, 1, "coq:cmd.Unfocus", "Unfocus"], [66, 3, 1, "coq:cmd.Unfocused", "Unfocused"], [34, 4, 1, "coq:flag.Uniform-Inductive-Parameters", "Uniform Inductive Parameters"], [14, 3, 1, "coq:cmd.Universe", "Universe"], [59, 4, 1, "coq:flag.Universe-Checking", "Universe Checking"], [14, 4, 1, "coq:flag.Universe-Minimization-ToSet", "Universe Minimization ToSet"], [14, 4, 1, "coq:flag.Universe-Polymorphism", "Universe Polymorphism"], [14, 0, 1, "coq:exn.Universe-inconsistency", "Universe inconsistency"], [59, 0, 1, "coq:exn.Universe-instance-length-is-\u2018natural\u2019-but-should-be-\u2018natural\u2019", "Universe instance length is \u2018natural\u2019 but should be \u2018natural\u2019"], [14, 3, 1, "coq:cmd.Universes", "Universes"], [71, 0, 1, "coq:exn.Unknown-custom-entry", "Unknown custom entry"], [71, 0, 1, "coq:exn.Unknown-custom-entry:-\u2018ident\u2019", "Unknown custom entry: \u2018ident\u2019"], [66, 0, 1, "coq:exn.Unknown-inductive-type", "Unknown inductive type"], [29, 3, 1, "coq:cmd.Unset", "Unset"], [66, 3, 1, "coq:cmd.Unshelve", "Unshelve"], [71, 0, 1, "coq:exn.Unterminated-string-in-notation", "Unterminated string in notation"], [28, 2, 1, "coq:warn.Use-of-\"Variable\"-or-\"Hypothesis\"-outside-sections-behaves-as-\"#[local]-Parameter\"-or-\"#[local]-Axiom\"", "Use of "Variable" or "Hypothesis" outside sections behaves as "#[local] Parameter" or "#[local] Axiom""], [71, 2, 1, "coq:warn.Use-of-\u2018string\u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax", "Use of \u2018string\u2019 Notation is deprecated as it is inconsistent with pattern syntax"], [13, 2, 1, "coq:warn.Using-inferred-default-mode:-\u201cmode\u201d-for-\u201c\u2018ident\u2019\u201d", "Using inferred default mode: \u201cmode\u201d for \u201c\u2018ident\u2019\u201d"], [66, 3, 1, "coq:cmd.Validate-Proof", "Validate Proof"], [28, 3, 1, "coq:cmd.Variable", "Variable"], [66, 2, 1, "coq:warn.Variable-All-is-shadowed-by-Collection-named-All-containing-all-variables", "Variable All is shadowed by Collection named All containing all variables"], [28, 3, 1, "coq:cmd.Variables", "Variables"], [40, 3, 1, "coq:cmd.Variant", "Variant"], [59, 6, 1, "coq:opt.Warnings", "Warnings"], [44, 0, 1, "coq:exn.Wrong-argument-name", "Wrong argument name"], [44, 0, 1, "coq:exn.Wrong-argument-position", "Wrong argument position"], [66, 0, 1, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Bullet-\u2018bullet\u2019-is-mandatory-here", "Wrong bullet \u2018bullet\u2019: Bullet \u2018bullet\u2019 is mandatory here"], [66, 0, 1, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Current-bullet-\u2018bullet\u2019-is-not-finished", "Wrong bullet \u2018bullet\u2019: Current bullet \u2018bullet\u2019 is not finished"], [54, 1, 1, "coq:tacn.[-\u2026-|-\u2026-|-\u2026-]-(dispatch)", "[ \u2026 | \u2026 | \u2026 ] (dispatch)"], [54, 1, 1, "coq:tacn.[>-\u2026-|-\u2026-|-\u2026-]-(dispatch)", "[> \u2026 | \u2026 | \u2026 ] (dispatch)"], [55, 7, 1, "coq:attr.abstract", "abstract"], [66, 1, 1, "coq:tacn.abstract", "abstract"], [57, 1, 1, "coq:tacn.abstract-(ssreflect)", "abstract (ssreflect)"], [58, 1, 1, "coq:tacn.absurd", "absurd"], [71, 7, 1, "coq:attr.add_bottom", "add_bottom"], [71, 7, 1, "coq:attr.add_top", "add_top"], [66, 1, 1, "coq:tacn.admit", "admit"], [58, 1, 1, "coq:tacn.apply", "apply"], [57, 1, 1, "coq:tacn.apply-(ssreflect)", "apply (ssreflect)"], [58, 1, 1, "coq:tacn.assert", "assert"], [54, 1, 1, "coq:tacn.assert_fails", "assert_fails"], [54, 1, 1, "coq:tacn.assert_succeeds", "assert_succeeds"], [58, 1, 1, "coq:tacn.assumption", "assumption"], [60, 1, 1, "coq:tacn.auto", "auto"], [13, 1, 1, "coq:tacn.autoapply", "autoapply"], [60, 1, 1, "coq:tacn.autorewrite", "autorewrite"], [60, 1, 1, "coq:tacn.autounfold", "autounfold"], [60, 1, 1, "coq:tacn.autounfold_one", "autounfold_one"], [62, 1, 1, "coq:tacn.btauto", "btauto"], [66, 1, 1, "coq:tacn.bullet-(--+-*)", "bullet (- + *)"], [57, 1, 1, "coq:tacn.by", "by"], [59, 7, 1, "coq:attr.bypass_check(guard)", "bypass_check(guard)"], [59, 7, 1, "coq:attr.bypass_check(positivity)", "bypass_check(positivity)"], [59, 7, 1, "coq:attr.bypass_check(universes)", "bypass_check(universes)"], [42, 7, 1, "coq:attr.canonical", "canonical"], [67, 1, 1, "coq:tacn.case", "case"], [57, 1, 1, "coq:tacn.case-(ssreflect)", "case (ssreflect)"], [67, 1, 1, "coq:tacn.case_eq", "case_eq"], [64, 1, 1, "coq:tacn.cbn", "cbn"], [64, 1, 1, "coq:tacn.cbv", "cbv"], [64, 1, 1, "coq:tacn.change", "change"], [64, 1, 1, "coq:tacn.change_no_check", "change_no_check"], [58, 1, 1, "coq:tacn.classical_left", "classical_left"], [58, 1, 1, "coq:tacn.classical_right", "classical_right"], [58, 1, 1, "coq:tacn.clear", "clear"], [58, 1, 1, "coq:tacn.clear-dependent", "clear dependent"], [38, 7, 1, "coq:attr.clearbody", "clearbody"], [58, 1, 1, "coq:tacn.clearbody", "clearbody"], [71, 2, 1, "coq:warn.closed-notation-not-level-0", "closed-notation-not-level-0"], [67, 1, 1, "coq:tacn.cofix", "cofix"], [67, 1, 1, "coq:tacn.compare", "compare"], [64, 1, 1, "coq:tacn.compute", "compute"], [57, 1, 1, "coq:tacn.congr", "congr"], [62, 1, 1, "coq:tacn.congruence", "congruence"], [54, 1, 1, "coq:tacn.constr_eq", "constr_eq"], [54, 1, 1, "coq:tacn.constr_eq_nounivs", "constr_eq_nounivs"], [54, 1, 1, "coq:tacn.constr_eq_strict", "constr_eq_strict"], [67, 1, 1, "coq:tacn.constructor", "constructor"], [54, 1, 1, "coq:tacn.context", "context"], [58, 1, 1, "coq:tacn.contradict", "contradict"], [58, 1, 1, "coq:tacn.contradiction", "contradiction"], [54, 1, 1, "coq:tacn.convert", "convert"], [58, 1, 1, "coq:tacn.cut", "cut"], [66, 1, 1, "coq:tacn.cycle", "cycle"], [60, 1, 1, "coq:tacn.debug-auto", "debug auto"], [60, 1, 1, "coq:tacn.debug-eauto", "debug eauto"], [60, 1, 1, "coq:tacn.debug-trivial", "debug trivial"], [67, 1, 1, "coq:tacn.decide", "decide"], [67, 1, 1, "coq:tacn.decide-equality", "decide equality"], [67, 1, 1, "coq:tacn.decompose", "decompose"], [67, 1, 1, "coq:tacn.decompose-record", "decompose record"], [67, 1, 1, "coq:tacn.decompose-sum", "decompose sum"], [67, 1, 1, "coq:tacn.dependent-destruction", "dependent destruction"], [58, 1, 1, "coq:tacn.dependent-generalize_eqs", "dependent generalize_eqs"], [58, 1, 1, "coq:tacn.dependent-generalize_eqs_vars", "dependent generalize_eqs_vars"], [67, 1, 1, "coq:tacn.dependent-induction", "dependent induction"], [67, 1, 1, "coq:tacn.dependent-inversion", "dependent inversion"], [67, 1, 1, "coq:tacn.dependent-inversion_clear", "dependent inversion_clear"], [67, 1, 1, "coq:tacn.dependent-rewrite", "dependent rewrite"], [67, 1, 1, "coq:tacn.dependent-simple-inversion", "dependent simple inversion"], [74, 7, 1, "coq:attr.deprecated", "deprecated"], [67, 1, 1, "coq:tacn.destauto", "destauto"], [67, 1, 1, "coq:tacn.destruct", "destruct"], [62, 1, 1, "coq:tacn.dintuition", "dintuition"], [67, 1, 1, "coq:tacn.discriminate", "discriminate"], [54, 1, 1, "coq:tacn.do", "do"], [57, 1, 1, "coq:tacn.do-(ssreflect)", "do (ssreflect)"], [57, 1, 1, "coq:tacn.done", "done"], [62, 1, 1, "coq:tacn.dtauto", "dtauto"], [58, 1, 1, "coq:tacn.eapply", "eapply"], [58, 1, 1, "coq:tacn.eassert", "eassert"], [58, 1, 1, "coq:tacn.eassumption", "eassumption"], [60, 1, 1, "coq:tacn.easy", "easy"], [60, 1, 1, "coq:tacn.eauto", "eauto"], [67, 1, 1, "coq:tacn.ecase", "ecase"], [67, 1, 1, "coq:tacn.econstructor", "econstructor"], [67, 1, 1, "coq:tacn.edestruct", "edestruct"], [67, 1, 1, "coq:tacn.ediscriminate", "ediscriminate"], [67, 1, 1, "coq:tacn.eelim", "eelim"], [58, 1, 1, "coq:tacn.eenough", "eenough"], [58, 1, 1, "coq:tacn.eexact", "eexact"], [67, 1, 1, "coq:tacn.eexists", "eexists"], [67, 1, 1, "coq:tacn.einduction", "einduction"], [67, 1, 1, "coq:tacn.einjection", "einjection"], [58, 1, 1, "coq:tacn.eintros", "eintros"], [67, 1, 1, "coq:tacn.eleft", "eleft"], [67, 1, 1, "coq:tacn.elim", "elim"], [57, 1, 1, "coq:tacn.elim-(ssreflect)", "elim (ssreflect)"], [58, 1, 1, "coq:tacn.enough", "enough"], [58, 1, 1, "coq:tacn.epose", "epose"], [58, 1, 1, "coq:tacn.epose-proof", "epose proof"], [58, 1, 1, "coq:tacn.eremember", "eremember"], [64, 1, 1, "coq:tacn.erewrite", "erewrite"], [67, 1, 1, "coq:tacn.eright", "eright"], [58, 1, 1, "coq:tacn.eset", "eset"], [67, 1, 1, "coq:tacn.esimplify_eq", "esimplify_eq"], [67, 1, 1, "coq:tacn.esplit", "esplit"], [64, 1, 1, "coq:tacn.etransitivity", "etransitivity"], [64, 1, 1, "coq:tacn.eval", "eval"], [58, 1, 1, "coq:tacn.evar", "evar"], [58, 1, 1, "coq:tacn.exact", "exact"], [57, 1, 1, "coq:tacn.exact-(ssreflect)", "exact (ssreflect)"], [58, 1, 1, "coq:tacn.exact_no_check", "exact_no_check"], [54, 1, 1, "coq:tacn.exactly_once", "exactly_once"], [58, 1, 1, "coq:tacn.exfalso", "exfalso"], [67, 1, 1, "coq:tacn.exists", "exists"], [35, 7, 1, "coq:attr.export", "export"], [64, 1, 1, "coq:tacn.f_equal", "f_equal"], [54, 1, 1, "coq:tacn.fail", "fail"], [11, 1, 1, "coq:tacn.field", "field"], [11, 1, 1, "coq:tacn.field_lookup", "field_lookup"], [11, 1, 1, "coq:tacn.field_simplify", "field_simplify"], [11, 1, 1, "coq:tacn.field_simplify_eq", "field_simplify_eq"], [54, 1, 1, "coq:tacn.finish_timing", "finish_timing"], [54, 1, 1, "coq:tacn.first", "first"], [57, 1, 1, "coq:tacn.first-(ssreflect)", "first (ssreflect)"], [57, 9, 1, "coq:tacv.first-last", "first last"], [62, 1, 1, "coq:tacn.firstorder", "firstorder"], [67, 1, 1, "coq:tacn.fix", "fix"], [64, 1, 1, "coq:tacn.fold", "fold"], [54, 1, 1, "coq:tacn.fresh", "fresh"], [54, 1, 1, "coq:tacn.fun", "fun"], [72, 1, 1, "coq:tacn.functional-induction", "functional induction"], [72, 1, 1, "coq:tacn.functional-inversion", "functional inversion"], [58, 1, 1, "coq:tacn.generalize", "generalize"], [58, 1, 1, "coq:tacn.generalize-dependent", "generalize dependent"], [58, 1, 1, "coq:tacn.generalize_eqs", "generalize_eqs"], [58, 1, 1, "coq:tacn.generalize_eqs_vars", "generalize_eqs_vars"], [57, 1, 1, "coq:tacn.generally-have", "generally have"], [54, 1, 1, "coq:tacn.gfail", "gfail"], [66, 1, 1, "coq:tacn.give_up", "give_up"], [35, 7, 1, "coq:attr.global", "global"], [54, 1, 1, "coq:tacn.guard", "guard"], [54, 1, 1, "coq:tacn.has_evar", "has_evar"], [57, 1, 1, "coq:tacn.have", "have"], [3, 1, 1, "coq:tacn.head_of_constr", "head_of_constr"], [64, 1, 1, "coq:tacn.hnf", "hnf"], [54, 1, 1, "coq:tacn.idtac", "idtac"], [55, 1, 1, "coq:tacn.if-then-else-(Ltac2)", "if-then-else (Ltac2)"], [57, 1, 1, "coq:tacn.in", "in"], [67, 1, 1, "coq:tacn.induction", "induction"], [54, 3, 1, "coq:cmd.infoH", "infoH"], [60, 1, 1, "coq:tacn.info_auto", "info_auto"], [60, 1, 1, "coq:tacn.info_eauto", "info_eauto"], [60, 1, 1, "coq:tacn.info_trivial", "info_trivial"], [67, 1, 1, "coq:tacn.injection", "injection"], [58, 1, 1, "coq:tacn.instantiate", "instantiate"], [58, 1, 1, "coq:tacn.intro", "intro"], [58, 1, 1, "coq:tacn.intros", "intros"], [58, 1, 1, "coq:tacn.intros-until", "intros until"], [62, 1, 1, "coq:tacn.intuition", "intuition"], [67, 1, 1, "coq:tacn.inversion", "inversion"], [67, 1, 1, "coq:tacn.inversion_clear", "inversion_clear"], [67, 1, 1, "coq:tacn.inversion_sigma", "inversion_sigma"], [54, 1, 1, "coq:tacn.is_cofix", "is_cofix"], [54, 1, 1, "coq:tacn.is_const", "is_const"], [54, 1, 1, "coq:tacn.is_constructor", "is_constructor"], [54, 1, 1, "coq:tacn.is_evar", "is_evar"], [54, 1, 1, "coq:tacn.is_fix", "is_fix"], [54, 1, 1, "coq:tacn.is_ground", "is_ground"], [54, 1, 1, "coq:tacn.is_ind", "is_ind"], [54, 1, 1, "coq:tacn.is_proj", "is_proj"], [54, 1, 1, "coq:tacn.is_var", "is_var"], [58, 1, 1, "coq:tacn.lapply", "lapply"], [58, 0, 1, "coq:exn.lapply-needs-a-non-dependent-product", "lapply needs a non-dependent product"], [57, 1, 1, "coq:tacn.last", "last"], [57, 9, 1, "coq:tacv.last-first", "last first"], [64, 1, 1, "coq:tacn.lazy", "lazy"], [55, 1, 1, "coq:tacn.lazy_match!", "lazy_match!"], [55, 1, 1, "coq:tacn.lazy_match!-goal", "lazy_match! goal"], [54, 1, 1, "coq:tacn.lazymatch", "lazymatch"], [54, 1, 1, "coq:tacn.lazymatch-goal", "lazymatch goal"], [67, 1, 1, "coq:tacn.left", "left"], [54, 1, 1, "coq:tacn.let", "let"], [5, 1, 1, "coq:tacn.lia", "lia"], [35, 7, 1, "coq:attr.local", "local"], [5, 1, 1, "coq:tacn.lra", "lra"], [54, 1, 1, "coq:tacn.ltac-seq", "ltac-seq"], [54, 1, 1, "coq:tacn.match", "match"], [55, 1, 1, "coq:tacn.match-(Ltac2)", "match (Ltac2)"], [54, 1, 1, "coq:tacn.match-goal", "match goal"], [55, 1, 1, "coq:tacn.match!", "match!"], [55, 1, 1, "coq:tacn.match!-goal", "match! goal"], [60, 2, 1, "coq:warn.mismatched-hint-db", "mismatched-hint-db"], [13, 7, 1, "coq:attr.mode", "mode"], [58, 1, 1, "coq:tacn.move", "move"], [57, 1, 1, "coq:tacn.move-(ssreflect)", "move (ssreflect)"], [55, 1, 1, "coq:tacn.multi_match!", "multi_match!"], [55, 1, 1, "coq:tacn.multi_match!-goal", "multi_match! goal"], [54, 1, 1, "coq:tacn.multimatch", "multimatch"], [54, 1, 1, "coq:tacn.multimatch-goal", "multimatch goal"], [58, 1, 1, "coq:tacn.native_cast_no_check", "native_cast_no_check"], [64, 1, 1, "coq:tacn.native_compute", "native_compute"], [5, 1, 1, "coq:tacn.nia", "nia"], [4, 7, 1, "coq:attr.nonuniform", "nonuniform"], [54, 0, 1, "coq:exn.not-a-cofix-definition", "not a cofix definition"], [54, 0, 1, "coq:exn.not-a-constant", "not a constant"], [54, 0, 1, "coq:exn.not-a-constructor", "not a constructor"], [54, 0, 1, "coq:exn.not-a-fix-definition", "not a fix definition"], [54, 0, 1, "coq:exn.not-a-primitive-projection", "not a primitive projection"], [54, 0, 1, "coq:exn.not-an-(co)inductive-datatype", "not an (co)inductive datatype"], [54, 1, 1, "coq:tacn.not_evar", "not_evar"], [71, 2, 1, "coq:warn.notation-incompatible-prefix", "notation-incompatible-prefix"], [60, 1, 1, "coq:tacn.now", "now"], [64, 1, 1, "coq:tacn.now_show", "now_show"], [5, 1, 1, "coq:tacn.nra", "nra"], [7, 1, 1, "coq:tacn.nsatz", "nsatz"], [7, 1, 1, "coq:tacn.nsatz_compute", "nsatz_compute"], [54, 1, 1, "coq:tacn.numgoals", "numgoals"], [54, 1, 1, "coq:tacn.once", "once"], [54, 1, 1, "coq:tacn.only", "only"], [54, 1, 1, "coq:tacn.optimize_heap", "optimize_heap"], [57, 1, 1, "coq:tacn.over", "over"], [71, 0, 1, "coq:exn.overflow-in-int63-literal-\u2018bigint\u2019", "overflow in int63 literal \u2018bigint\u2019"], [64, 1, 1, "coq:tacn.pattern", "pattern"], [58, 1, 1, "coq:tacn.pose", "pose"], [57, 1, 1, "coq:tacn.pose-(ssreflect)", "pose (ssreflect)"], [58, 1, 1, "coq:tacn.pose-proof", "pose proof"], [71, 2, 1, "coq:warn.postfix-notation-not-level-1", "postfix-notation-not-level-1"], [40, 7, 1, "coq:attr.private(matching)", "private(matching)"], [9, 7, 1, "coq:attr.program", "program"], [54, 1, 1, "coq:tacn.progress", "progress"], [37, 7, 1, "coq:attr.projections(primitive)", "projections(primitive)"], [11, 1, 1, "coq:tacn.protect_fv", "protect_fv"], [5, 1, 1, "coq:tacn.psatz", "psatz"], [59, 0, 1, "coq:exn.public-name-according-to-findlib,-for-example", "public name according to findlib, for example"], [58, 1, 1, "coq:tacn.rapply", "rapply"], [64, 1, 1, "coq:tacn.red", "red"], [13, 7, 1, "coq:attr.refine", "refine"], [58, 1, 1, "coq:tacn.refine", "refine"], [64, 1, 1, "coq:tacn.reflexivity", "reflexivity"], [58, 1, 1, "coq:tacn.remember", "remember"], [58, 1, 1, "coq:tacn.rename", "rename"], [54, 1, 1, "coq:tacn.repeat", "repeat"], [64, 1, 1, "coq:tacn.replace", "replace"], [54, 1, 1, "coq:tacn.reset-ltac-profile", "reset ltac profile"], [54, 1, 1, "coq:tacn.restart_timer", "restart_timer"], [4, 7, 1, "coq:attr.reversible", "reversible"], [58, 1, 1, "coq:tacn.revert", "revert"], [58, 1, 1, "coq:tacn.revert-dependent", "revert dependent"], [66, 1, 1, "coq:tacn.revgoals", "revgoals"], [64, 1, 1, "coq:tacn.rewrite", "rewrite"], [57, 1, 1, "coq:tacn.rewrite-(ssreflect)", "rewrite (ssreflect)"], [64, 1, 1, "coq:tacn.rewrite-*", "rewrite *"], [3, 1, 1, "coq:tacn.rewrite_db", "rewrite_db"], [3, 1, 1, "coq:tacn.rewrite_strat", "rewrite_strat"], [67, 1, 1, "coq:tacn.right", "right"], [11, 1, 1, "coq:tacn.ring", "ring"], [11, 1, 1, "coq:tacn.ring_lookup", "ring_lookup"], [11, 1, 1, "coq:tacn.ring_simplify", "ring_simplify"], [62, 1, 1, "coq:tacn.rtauto", "rtauto"], [58, 1, 1, "coq:tacn.set", "set"], [57, 1, 1, "coq:tacn.set-(ssreflect)", "set (ssreflect)"], [3, 1, 1, "coq:tacn.setoid_etransitivity", "setoid_etransitivity"], [3, 1, 1, "coq:tacn.setoid_reflexivity", "setoid_reflexivity"], [3, 1, 1, "coq:tacn.setoid_replace", "setoid_replace"], [3, 1, 1, "coq:tacn.setoid_rewrite", "setoid_rewrite"], [3, 1, 1, "coq:tacn.setoid_symmetry", "setoid_symmetry"], [3, 1, 1, "coq:tacn.setoid_transitivity", "setoid_transitivity"], [59, 0, 1, "coq:exn.shared-library-failed:-Coq-Error:-\u2018string\u2019-is-not-a-valid", "shared library failed: Coq Error: \u2018string\u2019 is not a valid"], [66, 1, 1, "coq:tacn.shelve", "shelve"], [66, 1, 1, "coq:tacn.shelve_unifiable", "shelve_unifiable"], [54, 1, 1, "coq:tacn.show-ltac-profile", "show ltac profile"], [64, 1, 1, "coq:tacn.simpl", "simpl"], [58, 1, 1, "coq:tacn.simple-apply", "simple apply"], [62, 1, 1, "coq:tacn.simple-congruence", "simple congruence"], [67, 1, 1, "coq:tacn.simple-destruct", "simple destruct"], [58, 1, 1, "coq:tacn.simple-eapply", "simple eapply"], [67, 1, 1, "coq:tacn.simple-induction", "simple induction"], [67, 1, 1, "coq:tacn.simple-injection", "simple injection"], [67, 1, 1, "coq:tacn.simple-inversion", "simple inversion"], [64, 1, 1, "coq:tacn.simple-subst", "simple subst"], [67, 1, 1, "coq:tacn.simplify_eq", "simplify_eq"], [72, 1, 1, "coq:tacn.soft-functional-induction", "soft functional induction"], [54, 1, 1, "coq:tacn.solve", "solve"], [66, 1, 1, "coq:tacn.solve_constraints", "solve_constraints"], [58, 1, 1, "coq:tacn.specialize", "specialize"], [58, 1, 1, "coq:tacn.specialize_eqs", "specialize_eqs"], [67, 1, 1, "coq:tacn.split", "split"], [54, 1, 1, "coq:tacn.start-ltac-profiling", "start ltac profiling"], [64, 1, 1, "coq:tacn.stepl", "stepl"], [64, 1, 1, "coq:tacn.stepr", "stepr"], [54, 1, 1, "coq:tacn.stop-ltac-profiling", "stop ltac profiling"], [64, 1, 1, "coq:tacn.subst", "subst"], [64, 1, 1, "coq:tacn.substitute", "substitute"], [57, 1, 1, "coq:tacn.suff", "suff"], [57, 1, 1, "coq:tacn.suffices", "suffices"], [66, 1, 1, "coq:tacn.swap", "swap"], [64, 1, 1, "coq:tacn.symmetry", "symmetry"], [62, 1, 1, "coq:tacn.tauto", "tauto"], [34, 0, 1, "coq:exn.template-and-polymorphism-not-compatible", "template and polymorphism not compatible"], [54, 1, 1, "coq:tacn.time", "time"], [54, 1, 1, "coq:tacn.time_constr", "time_constr"], [54, 1, 1, "coq:tacn.timeout", "timeout"], [64, 1, 1, "coq:tacn.transitivity", "transitivity"], [66, 1, 1, "coq:tacn.transparent_abstract", "transparent_abstract"], [60, 1, 1, "coq:tacn.trivial", "trivial"], [54, 1, 1, "coq:tacn.try", "try"], [54, 1, 1, "coq:tacn.tryif", "tryif"], [54, 1, 1, "coq:tacn.type-of", "type of"], [54, 1, 1, "coq:tacn.type_term", "type_term"], [13, 1, 1, "coq:tacn.typeclasses-eauto", "typeclasses eauto"], [57, 1, 1, "coq:tacn.under", "under"], [64, 1, 1, "coq:tacn.unfold", "unfold"], [54, 1, 1, "coq:tacn.unify", "unify"], [14, 7, 1, "coq:attr.universes(cumulative)", "universes(cumulative)"], [14, 7, 1, "coq:attr.universes(polymorphic)", "universes(polymorphic)"], [34, 7, 1, "coq:attr.universes(template)", "universes(template)"], [57, 1, 1, "coq:tacn.unlock", "unlock"], [66, 1, 1, "coq:tacn.unshelve", "unshelve"], [66, 7, 1, "coq:attr.using", "using"], [58, 1, 1, "coq:tacn.vm_cast_no_check", "vm_cast_no_check"], [64, 1, 1, "coq:tacn.vm_compute", "vm_compute"], [74, 7, 1, "coq:attr.warn", "warn"], [29, 7, 1, "coq:attr.warning", "warning"], [29, 7, 1, "coq:attr.warnings", "warnings"], [64, 1, 1, "coq:tacn.with_strategy", "with_strategy"], [57, 1, 1, "coq:tacn.without-loss", "without loss"], [5, 1, 1, "coq:tacn.wlia", "wlia"], [57, 1, 1, "coq:tacn.wlog", "wlog"], [5, 1, 1, "coq:tacn.wlra_Q", "wlra_Q"], [5, 1, 1, "coq:tacn.wnia", "wnia"], [5, 1, 1, "coq:tacn.wnra_Q", "wnra_Q"], [5, 1, 1, "coq:tacn.wpsatz_Q", "wpsatz_Q"], [5, 1, 1, "coq:tacn.wpsatz_Z", "wpsatz_Z"], [5, 1, 1, "coq:tacn.wsos_Q", "wsos_Q"], [5, 1, 1, "coq:tacn.wsos_Z", "wsos_Z"], [5, 1, 1, "coq:tacn.xlia", "xlia"], [5, 1, 1, "coq:tacn.xlra_Q", "xlra_Q"], [5, 1, 1, "coq:tacn.xlra_R", "xlra_R"], [5, 1, 1, "coq:tacn.xnia", "xnia"], [5, 1, 1, "coq:tacn.xnra_Q", "xnra_Q"], [5, 1, 1, "coq:tacn.xnra_R", "xnra_R"], [5, 1, 1, "coq:tacn.xpsatz_Q", "xpsatz_Q"], [5, 1, 1, "coq:tacn.xpsatz_R", "xpsatz_R"], [5, 1, 1, "coq:tacn.xpsatz_Z", "xpsatz_Z"], [5, 1, 1, "coq:tacn.xsos_Q", "xsos_Q"], [5, 1, 1, "coq:tacn.xsos_R", "xsos_R"], [5, 1, 1, "coq:tacn.xsos_Z", "xsos_Z"], [5, 1, 1, "coq:tacn.zify", "zify"], [5, 1, 1, "coq:tacn.zify_elim_let", "zify_elim_let"], [5, 1, 1, "coq:tacn.zify_iter_let", "zify_iter_let"], [5, 1, 1, "coq:tacn.zify_iter_specs", "zify_iter_specs"], [5, 1, 1, "coq:tacn.zify_op", "zify_op"], [5, 1, 1, "coq:tacn.zify_saturate", "zify_saturate"], [66, 1, 1, "coq:tacn.{", "{"], [54, 1, 1, "coq:tacn.||-(first-tactic-making-progress)", "|| (first tactic making progress)"], [66, 1, 1, "coq:tacn.}", "}"], [4, 0, 1, "coq:exn.\u2018coercion_class\u2019-must-be-a-transparent-constant", "\u2018coercion_class\u2019 must be a transparent constant"], [37, 0, 1, "coq:exn.\u2018ident\u2019-already-exists", "\u2018ident\u2019 already exists"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined", "\u2018ident\u2019 cannot be defined"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-it-is-informative-and-\u2018ident\u2019-is-not", "\u2018ident\u2019 cannot be defined because it is informative and \u2018ident\u2019 is not"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-the-projection-\u2018ident\u2019-was-not-defined", "\u2018ident\u2019 cannot be defined because the projection \u2018ident\u2019 was not defined"], [13, 2, 1, "coq:warn.\u2018ident\u2019-is-already-declared-as-a-typeclass", "\u2018ident\u2019 is already declared as a typeclass"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-already-used", "\u2018ident\u2019 is already used"], [66, 2, 1, "coq:warn.\u2018ident\u2019-is-both-name-of-a-Collection-and-Variable,-Collection-\u2018ident\u2019-takes-precedence-over-Variable", "\u2018ident\u2019 is both name of a Collection and Variable, Collection \u2018ident\u2019 takes precedence over Variable"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-not-a-local-definition", "\u2018ident\u2019 is not a local definition"], [67, 0, 1, "coq:exn.\u2018ident\u2019-is-not-an-equality-of-\u03a3-types", "\u2018ident\u2019 is not an equality of \u03a3 types"], [64, 0, 1, "coq:exn.\u2018ident\u2019-is-opaque", "\u2018ident\u2019 is opaque"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-used-in-the-conclusion", "\u2018ident\u2019 is used in the conclusion"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-used-in-the-hypothesis-\u2018ident\u2019", "\u2018ident\u2019 is used in the hypothesis \u2018ident\u2019"], [66, 2, 1, "coq:warn.\u2018ident\u2019-was-already-a-defined-Variable,-the-name-\u2018ident\u2019-will-refer-to-Collection-when-executing-\"Proof-using\"-command", "\u2018ident\u2019 was already a defined Variable, the name \u2018ident\u2019 will refer to Collection when executing "Proof using" command"], [60, 0, 1, "coq:exn.\u2018qualid\u2019-cannot-be-used-as-a-hint", "\u2018qualid\u2019 cannot be used as a hint"], [64, 0, 1, "coq:exn.\u2018qualid\u2019-does-not-occur", "\u2018qualid\u2019 does not occur"], [4, 2, 1, "coq:warn.\u2018qualid\u2019-does-not-respect-the-uniform-inheritance-condition", "\u2018qualid\u2019 does not respect the uniform inheritance condition"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-is-already-a-coercion", "\u2018qualid\u2019 is already a coercion"], [71, 0, 1, "coq:exn.\u2018qualid\u2019-is-bound-to-a-notation-that-does-not-denote-a-reference", "\u2018qualid\u2019 is bound to a notation that does not denote a reference"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-a-function", "\u2018qualid\u2019 is not a function"], [35, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-a-module", "\u2018qualid\u2019 is not a module"], [60, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-an-inductive-type", "\u2018qualid\u2019 is not an inductive type"], [59, 0, 1, "coq:exn.\u2018qualid\u2019-not-a-defined-object", "\u2018qualid\u2019 not a defined object"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-not-declared", "\u2018qualid\u2019 not declared"], [71, 0, 1, "coq:exn.\u2018qualid\u2019-was-already-mapped-to-\u2018qualid\u2019-and-cannot-be-remapped-to-\u2018qualid\u2019", "\u2018qualid\u2019 was already mapped to \u2018qualid\u2019 and cannot be remapped to \u2018qualid\u2019"], [74, 2, 1, "coq:warn.\u2018string\u2019", "\u2018string\u2019"], [71, 0, 1, "coq:exn.\u2018type\u2019-is-not-an-inductive-type", "\u2018type\u2019 is not an inductive type"], [71, 2, 1, "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", "\u2018type\u2019 was already mapped to \u2018type\u2019, mapping it also to \u2018type\u2019 might yield ill typed terms when using the notation"], [54, 1, 1, "coq:tacn.\u2026-:-\u2026-(goal-selector)", "\u2026 : \u2026 (goal selector)"], [57, 1, 1, "coq:tacn.\u2026-:-\u2026-(ssreflect)", "\u2026 : \u2026 (ssreflect)"]], "..": [[4, 2, 1, "coq:warn....-is-not-definitionally-an-identity-function", " is not definitionally an identity function"]], "Argument \u2018name\u2019 is a trailing implicit, so it can't be declared non maximal": [[44, 0, 1, "coq:exn.Argument-\u2018name\u2019-is-a-trailing-implicit,-so-it-can't-be-declared-non-maximal.-Please-use-{-}-instead-of-[-]", " Please use { } instead of [ ]"]], "Cannot infer a term for this placeholder": [[44, 0, 1, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)", " (Casual use of implicit arguments)"], [58, 0, 1, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)", " (refine)"]], "Compiled library \u2018ident\u2019": [[59, 0, 1, "coq:exn.Compiled-library-\u2018ident\u2019.vo-makes-inconsistent-assumptions-over-library-\u2018qualid\u2019", "vo makes inconsistent assumptions over library \u2018qualid\u2019"]], "Duplicate clear of H": [[57, 2, 1, "coq:warn.Duplicate-clear-of-H.-Use-{-}H-instead-of-{-H-}H", " Use { }H instead of { H }H"]], "File ... found twice in ..": [[59, 2, 1, "coq:warn.File-...-found-twice-in-...", ""]], "Goal is solvable by congruence but some arguments are missing": [[62, 0, 1, "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", " Try congruence with \u2018term\u2019\u2026\u2018term\u2019, replacing metavariables by arbitrary terms"]], "Library File (transitively required) \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Library-File-(transitively-required)-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Library File \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Library-File-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Ltac Profiler encountered an invalid stack (no self node)": [[54, 2, 1, "coq:warn.Ltac-Profiler-encountered-an-invalid-stack-(no-self-node).-This-can-happen-if-you-reset-the-profile-during-tactic-execution", " This can happen if you reset the profile during tactic execution"]], "Ltac2 alias \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-alias-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 constructor \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-constructor-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 definition \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-definition-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 notation \u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-notation-\u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "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."": [[32, 0, 1, "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", " If you really intended to use nested proofs, you can do so by turning the "Nested Proofs Allowed" flag on"]], "New coercion path ... is ambiguous with existing ..": [[4, 2, 1, "coq:warn.New-coercion-path-...-is-ambiguous-with-existing-...", ""]], "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": [[67, 0, 1, "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", " You can try to use option Set Keep Proof Equalities"]], "No such bound variable \u2018ident\u2019 (possible names are: \u2018ident\u2019 ..": [[58, 0, 1, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(possible-names-are:-\u2018ident\u2019-...)", ")"]], "No such goal": [[54, 0, 1, "coq:exn.No-such-goal.-(Goal-selector)", " (Goal selector)"], [54, 0, 1, "coq:exn.No-such-goal.-(fail)", " (fail)"], [66, 0, 1, "coq:exn.No-such-goal.-Focus-next-goal-with-bullet-\u2018bullet\u2019", " Focus next goal with bullet \u2018bullet\u2019"], [66, 0, 1, "coq:exn.No-such-goal.-Try-unfocusing-with-}", " Try unfocusing with }"]], "Notation \u2018string\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Notation-\u2018string\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Proof is not complete": [[66, 0, 1, "coq:exn.Proof-is-not-complete.-(abstract)", " (abstract)"], [58, 0, 1, "coq:exn.Proof-is-not-complete.-(assert)", " (assert)"]], "Require inside a module is deprecated and strongly discouraged": [[59, 2, 1, "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", " You can Require a module at toplevel and optionally Import it inside another one"]], "Required library \u2018qualid\u2019 matches several files in path (found file.vo, file.vo, ..": [[59, 0, 1, "coq:exn.Required-library-\u2018qualid\u2019-matches-several-files-in-path-(found-file.vo,-file.vo,-...)", ")"]], "SSReflect: cannot obtain new equations out of ..": [[57, 2, 1, "coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-...", ""]], "Tactic Notation \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Tactic-Notation-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Tactic \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Tactic-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "The file \u2018ident\u2019": [[59, 0, 1, "coq:exn.The-file-\u2018ident\u2019.vo-contains-library-\u2018qualid\u2019-and-not-library-\u2018qualid\u2019", "vo contains library \u2018qualid\u2019 and not library \u2018qualid\u2019"]], "The relation \u2018ident\u2019 is not a declared reflexive relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-reflexive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "The relation \u2018ident\u2019 is not a declared symmetric relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-symmetric-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "The relation \u2018ident\u2019 is not a declared transitive relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-transitive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "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'": [[41, 2, 1, "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'", " If you want to clear notation scopes, add ': clear scopes'"]], "This hint is not local but depends on a section variable": [[60, 2, 1, "coq:warn.This-hint-is-not-local-but-depends-on-a-section-variable.-It-will-disappear-when-the-section-is-closed", " It will disappear when the section is closed"]], "Type of \u2018qualid\u2019 seems incompatible with the type of \u2018qualid\u2019. Expected type is: \u2018type\u2019 instead of \u2018type\u2019": [[71, 2, 1, "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", " This might yield ill typed terms when using the notation"]], "Unable to apply lemma of type "..." on hypothesis of type "..": [[58, 0, 1, "coq:exn.Unable-to-apply-lemma-of-type-\"...\"-on-hypothesis-of-type-\"...\"", """]], "Unused variable \u2018ident\u2019 might be a misspelled constructor. Use _ or _\u2018ident\u2019 to silence this warning": [[46, 2, 1, "coq:warn.Unused-variable-\u2018ident\u2019-might-be-a-misspelled-constructor.-Use-_-or-_\u2018ident\u2019-to-silence-this-warning.", ""]], "package-name": [[59, 0, 1, "coq:exn.package-name.foo-and-not-foo_plugin", "foo and not foo_plugin"]], "plugin name anymore": [[59, 0, 1, "coq:exn.plugin-name-anymore.-Plugins-should-be-loaded-using-their", " Plugins should be loaded using their"]], "\u2018ident\u2019 already exists": [[28, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Axiom)", " (Axiom)"], [32, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Definition)", " (Definition)"], [32, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Theorem)", " (Theorem)"]], "\u2018qualid\u2019 should go from Byte.byte, (list Byte.byte), or PrimString": [[71, 0, 1, "coq:exn.\u2018qualid\u2019-should-go-from-Byte.byte,-(list-Byte.byte),-or-PrimString.string-to-\u2018type\u2019-or-(option-\u2018type\u2019)", "string to \u2018type\u2019 or (option \u2018type\u2019)"]], "\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": [[71, 0, 1, "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)", "number could be used (you may need to require BinNums or Number or PrimInt63 or PrimFloat first)"]], "\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": [[71, 0, 1, "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)", "number could be used (you may need to require BinNums or Number or PrimInt63 first)"]], "\u2018qualid\u2019 should go from \u2018type\u2019 to T or (option T), where T is either Byte.byte, (list Byte.byte), or PrimString": [[71, 0, 1, "coq:exn.\u2018qualid\u2019-should-go-from-\u2018type\u2019-to-T-or-(option-T),-where-T-is-either-Byte.byte,-(list-Byte.byte),-or-PrimString.string", "string"]], "\u2018string\u2019 cannot be interpreted as a known notation in \u2018ident\u2019 entry": [[71, 0, 1, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation-in-\u2018ident\u2019-entry.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\"", " Make sure that symbols are surrounded by spaces and that holes are explicitly denoted by "_""]], "\u2018string\u2019 cannot be interpreted as a known notation": [[71, 0, 1, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\"", " Make sure that symbols are surrounded by spaces and that holes are explicitly denoted by "_""]]}, "objtypes": {"0": "coq:exn", "1": "coq:tacn", "2": "coq:warn", "3": "coq:cmd", "4": "coq:flag", "5": "coq:thm", "6": "coq:opt", "7": "coq:attr", "8": "coq:table", "9": "coq:tacv"}, "objnames": {"0": ["coq", "exn", "Coq exn"], "1": ["coq", "tacn", "Coq tacn"], "2": ["coq", "warn", "Coq warn"], "3": ["coq", "cmd", "Coq cmd"], "4": ["coq", "flag", "Coq flag"], "5": ["coq", "thm", "Coq thm"], "6": ["coq", "opt", "Coq opt"], "7": ["coq", "attr", "Coq attr"], "8": ["coq", "table", "Coq table"], "9": ["coq", "tacv", "Coq tacv"]}, "titleterms": {"program": [2, 6, 9, 27, 55, 60], "extract": [2, 17, 24], "gener": [2, 3, 4, 11, 14, 23, 29, 44, 54, 55, 57, 67, 71, 72], "ml": [2, 55], "code": 2, "option": [2, 17, 21, 29, 51, 66, 75], "set": [2, 13, 26, 29, 37, 41, 57, 58, 60, 66], "target": [2, 53], "languag": [2, 17, 24, 25, 33, 45, 55, 57], "inlin": [2, 59], "optim": [2, 54], "extra": [2, 59], "elimin": [2, 46, 57], "useless": 2, "argument": [2, 37, 41, 44, 46, 53, 57, 67, 71], "realiz": 2, "axiom": 2, "induct": [2, 26, 34, 40, 46, 67, 71, 72], "type": [2, 3, 4, 10, 17, 26, 28, 30, 32, 34, 35, 37, 38, 40, 44, 46, 54, 55, 57, 59, 67, 71], "ffi": 2, "avoid": 2, "conflict": 2, "exist": [2, 24, 35], "filenam": [2, 53], "addit": [2, 57, 60], "differ": [2, 44, 66], "between": [2, 55, 59, 66], "rocq": [2, 25, 51, 53, 57, 60, 71, 74, 75], "system": [2, 35], "some": [2, 35], "exampl": [2, 3, 4, 5, 6, 11, 14, 17, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "A": [2, 14, 35, 58, 67], "detail": [2, 17, 24, 53], "euclidean": 2, "divis": 2, "": [2, 41, 67], "horror": 2, "museum": 2, "user": [2, 3, 10, 24, 27], "contribut": [2, 24, 27], "rewrit": [3, 10, 57, 64, 67], "introduct": [3, 25, 57], "relat": 3, "morphism": 3, "parametr": [3, 46, 57], "continu": [3, 41, 44], "contravari": 3, "ad": [3, 11, 52], "new": [3, 11, 17, 24, 35, 53, 57, 63], "nonreflex": 3, "nonsymmetr": 3, "covari": 3, "ambigu": 3, "setoid": [3, 64], "context": [3, 13, 54, 55, 57, 58], "valu": [3, 46, 54, 55], "declar": [3, 13, 38, 41, 42, 44, 55, 57, 66, 67], "command": [3, 13, 17, 19, 24, 35, 51, 52, 57, 59, 66, 67, 71, 75, 76], "tactic": [3, 5, 11, 17, 22, 24, 27, 43, 54, 55, 57, 58, 60, 61, 63, 64, 67, 71, 72, 74], "first": [3, 34, 46, 54, 57], "class": [3, 4, 37, 55, 71], "enabl": [3, 66, 71], "provid": [3, 46], "print": [3, 4, 14, 37, 43, 44, 46, 54, 55, 59, 71, 75], "deprec": [3, 74], "syntax": [3, 10, 17, 24, 29, 44, 46, 54, 55, 57, 71], "backward": [3, 58], "incompat": [3, 17], "extens": [3, 24, 45, 46, 57, 71], "under": [3, 57], "binder": [3, 28, 44, 57, 71], "subrel": 3, "constant": [3, 37, 59, 71], "unfold": [3, 41, 64], "dure": 3, "proper": 3, "instanc": [3, 13, 43], "search": [3, 59, 60], "strategi": [3, 46, 64], "usag": [3, 11, 57, 66, 75], "definit": [3, 9, 12, 14, 30, 32, 34, 37, 40, 46, 54, 55, 57, 64, 71], "innermost": 3, "outermost": 3, "implicit": [4, 41, 44, 46, 60, 71], "coercion": [4, 46, 71], "present": [4, 14], "revers": [4, 44, 54, 55, 64], "ident": [4, 54], "inherit": [4, 71], "graph": 4, "displai": [4, 43, 44, 52, 59, 71], "avail": 4, "activ": 4, "record": [4, 37], "section": [4, 13, 14, 38, 66, 75], "modul": [4, 35, 53], "function": [4, 28, 30, 34, 41, 44, 54, 60, 72], "applic": [4, 28, 44, 54, 58], "us": [4, 14, 25, 35, 37, 38, 43, 44, 46, 51, 52, 53, 54, 58, 64, 66, 67, 71], "attribut": [4, 17, 18, 29, 35, 38], "micromega": 5, "solver": [5, 7, 11, 61, 62], "arithmet": [5, 27], "goal": [5, 11, 54, 55, 57, 58, 66, 67], "over": [5, 9, 55, 57], "order": [5, 10, 58], "ring": [5, 11], "short": 5, "descript": 5, "positivstellensatz": 5, "refut": 5, "lra": 5, "decis": 5, "procedur": 5, "linear": 5, "real": [5, 17], "ration": [5, 11], "lia": 5, "integ": [5, 36, 71], "high": 5, "level": [5, 10, 29, 30, 32, 34, 55], "view": [5, 57], "cut": [5, 54], "plane": 5, "proof": [5, 8, 12, 14, 25, 31, 32, 46, 54, 57, 58, 60, 65, 66], "case": [5, 24, 40, 52, 57, 58, 67], "split": [5, 53], "nra": 5, "non": [5, 12, 34, 44, 54, 55, 58, 67, 71], "nia": 5, "psatz": 5, "zifi": 5, "pre": 5, "process": [5, 8, 54], "deriv": [6, 42, 67], "nsatz": 7, "equal": [7, 9, 27, 62, 64, 67], "integr": 7, "domain": 7, "more": 7, "about": [7, 46, 71], "asynchron": [8, 52], "parallel": 8, "annot": 8, "automat": [8, 11, 34, 41, 43, 44, 61, 67], "suggest": 8, "block": [8, 57], "error": [8, 20, 54, 55], "resili": 8, "caveat": [8, 30], "interact": [8, 35, 44, 51, 54, 55, 57], "mode": [8, 44, 52, 55, 57, 66], "limit": [8, 67], "number": [8, 54, 60, 71], "worker": 8, "elabor": 9, "syntact": [9, 54, 55], "control": [9, 35, 44, 46, 54, 57, 58, 59, 64, 66], "fixpoint": [9, 34], "lemma": [9, 27, 66], "solv": [9, 43, 54, 66], "oblig": 9, "frequent": 9, "ask": 9, "question": 9, "defin": [10, 34, 35, 37, 54, 55, 60], "rule": [10, 26, 31, 34, 38, 57, 64, 71, 75], "symbol": [10, 52, 54], "pattern": [10, 44, 46, 54, 55, 57, 58, 59, 71], "higher": 10, "hole": [10, 54], "univers": [10, 14], "polymorph": [10, 14, 34, 57], "preserv": 10, "confluenc": 10, "termin": [10, 12, 57], "compat": [10, 17, 37, 55, 57, 74], "eta": 10, "law": 10, "support": [10, 29, 52], "field": [11, 35, 37], "polynomi": 11, "equat": [11, 57], "what": 11, "doe": [11, 46], "thi": 11, "do": [11, 54], "The": [11, 26, 27, 34, 35, 44, 51, 53, 57, 71, 75], "variabl": [11, 43, 44, 46, 51, 52, 55, 66], "map": 11, "i": [11, 54, 58], "concret": [11, 24], "structur": [11, 42, 57], "how": [11, 66], "work": [11, 53, 66], "deal": 11, "side": [11, 46], "histori": [11, 15, 24], "discuss": 11, "sprop": 12, "irrelev": [12, 31], "proposit": [12, 27, 54], "basic": [12, 27, 29, 52, 53, 54, 57, 65, 71], "construct": [12, 24, 26, 34, 37, 40, 54, 59], "encod": [12, 52], "strict": [12, 34, 44, 55], "uip": 12, "debug": [12, 54, 55, 59], "issu": [12, 17, 57], "typeclass": [13, 57], "bind": [13, 41, 52, 55, 58, 71], "parameter": [13, 34, 71], "build": [13, 53], "hierarchi": [13, 42], "superclass": 13, "substructur": 13, "summari": [13, 17, 24, 35, 38], "transpar": 13, "opaqu": 13, "eauto": 13, "monomorph": 14, "cumul": 14, "noncumul": 14, "specifi": 14, "demonstr": 14, "varianc": 14, "weak": 14, "constraint": [14, 66], "global": [14, 54, 71], "local": [14, 29, 35, 38, 46, 53, 54, 57, 58, 60, 71], "convers": [14, 31, 64], "unif": [14, 58, 66], "minim": 14, "explicit": [14, 43, 44, 57], "sort": [14, 34, 39], "recent": [15, 17], "chang": [15, 17, 24, 55], "index": [16, 18, 19, 20, 21, 22, 23, 34, 57, 69], "unreleas": 17, "kernel": 17, "specif": [17, 25, 27], "infer": [17, 43, 44], "notat": [17, 27, 42, 54, 55, 59, 71], "ltac": [17, 54, 55], "ltac2": [17, 55], "ssreflect": [17, 57], "line": [17, 51, 75, 76], "tool": [17, 24, 76], "coqid": [17, 52], "standard": [17, 24, 55, 57, 60, 71], "librari": [17, 24, 27, 51, 53, 59, 60, 71, 73, 74], "infrastructur": 17, "depend": [17, 46, 53, 58, 59, 67], "miscellan": [17, 24], "version": [17, 24, 53], "8": 17, "20": 17, "0": [17, 24], "19": 17, "1": [17, 24, 37, 67], "2": [17, 24, 37, 67], "18": 17, "17": 17, "16": 17, "15": 17, "14": 17, "nativ": [17, 53], "compil": [17, 51, 52, 53, 59], "13": 17, "beta1": 17, "12": 17, "flag": [17, 21, 29, 59], "refer": [17, 54, 59], "manual": [17, 41, 44], "11": 17, "10": 17, "other": [17, 44, 66], "beta2": 17, "beta3": 17, "9": 17, "7": [17, 24], "potenti": 17, "6": [17, 24], "sourc": [17, 75], "6beta1": 17, "5": [17, 24], "5beta1": 17, "5beta2": 17, "5beta3": 17, "5pl1": 17, "5pl2": 17, "5pl3": 17, "4": [17, 24], "4beta": 17, "4beta2": 17, "3": [17, 24, 71], "1beta": 17, "1gamma": 17, "0beta": 17, "old": 17, "warn": [20, 53, 74], "tabl": [21, 29], "earli": 24, "coq": [24, 27, 52], "histor": 24, "root": [24, 53], "main": 24, "novelti": 24, "let": [24, 32, 46, 54, 57], "long": 24, "name": [24, 35, 37, 54, 66], "reduct": [24, 31, 34, 37, 55, 59, 64], "effici": 24, "pars": [24, 44, 55, 71], "grammar": [24, 53], "content": 25, "prover": [25, 51, 53], "appendix": 25, "term": [26, 54, 55, 64, 71], "subtyp": [26, 44], "calculu": 26, "impred": 26, "prelud": 27, "logic": [27, 53, 54, 60, 62], "connect": 27, "quantifi": 27, "datatyp": 27, "well": [27, 34], "found": 27, "recurs": [27, 30, 34, 55, 71, 72], "assumpt": [28, 57], "fun": 28, "foral": 28, "simpl": [28, 31, 34, 35, 55, 64, 71], "notion": 29, "convent": [29, 46], "lexic": 29, "stack": [29, 52], "overflow": 29, "nat": 29, "essenti": 29, "vocabulari": 29, "document": [29, 53, 75], "unset": 29, "coinduct": 30, "corecurs": 30, "co": 30, "cofix": 30, "top": [30, 32, 34], "\u03b1": 31, "\u03b2": 31, "\u03b4": 31, "\u03b9": 31, "\u03b6": 31, "\u03b7": 31, "expans": [31, 46], "delta": 31, "fix": [31, 34], "beta": 31, "match": [31, 34, 37, 40, 46, 54, 55, 57], "convert": 31, "cast": 32, "assert": 32, "core": 33, "prop": 34, "lower": 34, "mutual": 34, "theori": 34, "object": [34, 36, 46, 74], "form": 34, "ariti": 34, "given": 34, "constructor": [34, 67], "posit": 34, "condit": [34, 54, 57], "nest": [34, 46], "correct": 34, "neg": 34, "occurr": [34, 57, 58, 67], "second": [34, 46, 54, 58], "strictli": 34, "templat": [34, 52], "destructor": 34, "end": [34, 38], "creat": [35, 37, 43, 60, 63], "omit": 35, "item": [35, 57], "from": [35, 44, 55], "an": [35, 57, 59, 67], "functor": 35, "paramet": [35, 46, 51, 57], "two": [35, 54], "sub": 35, "share": 35, "qualifi": 35, "scope": [35, 41, 71], "primit": [36, 37, 59, 71], "float": 36, "arrai": 36, "byte": 36, "base": 36, "string": [36, 71], "reus": 37, "multipl": [37, 41, 46, 53, 54, 55, 57], "claus": [37, 46, 58], "access": 37, "project": [37, 53], "anonym": [37, 57], "variant": [40, 46, 57, 58], "privat": 40, "properti": [41, 54, 71], "altern": [41, 54], "implicits_alt": 41, "default": [41, 46], "renam": 41, "effect": [41, 55], "bidirection": 41, "hint": [41, 57, 59, 60], "canon": 42, "overload": 42, "compact": 42, "existenti": [43, 57], "subterm": [43, 46], "e": 43, "can": 43, "appli": [43, 57, 58, 64, 67], "v": [43, 55, 57], "eappli": 43, "resolut": [43, 44, 57], "pretti": [43, 44, 46, 75], "kind": 44, "knowledg": 44, "maxim": 44, "insert": 44, "trail": 44, "casual": 44, "contextu": [44, 57], "follow": 44, "combin": [44, 58, 67], "explicitli": 44, "give": 44, "when": [44, 46, 57], "deactiv": 44, "extend": [46, 57], "boolean": [46, 54, 57], "express": [46, 54, 55, 71], "irrefut": 46, "destructur": [46, 57], "factor": [46, 71], "same": [46, 53], "right": [46, 67], "hand": 46, "wildcard": [46, 57], "predic": [46, 57, 67], "hidden": 46, "unus": 46, "alias": 46, "subpattern": 46, "disjunct": 46, "understand": 46, "must": 46, "write": [46, 65, 74], "involv": [46, 71], "fail": [46, 54, 57], "repl": 51, "batch": 51, "load": [51, 53, 59], "singl": [51, 54], "file": [51, 52, 53, 59, 74, 75], "custom": [51, 52, 71], "launch": 51, "time": [51, 53, 54], "coqrc": 51, "start": [51, 57], "up": 51, "script": [51, 52], "environ": [51, 59], "profil": [51, 54, 55], "interfac": 51, "produc": 51, "vo": 51, "checker": 51, "rocqchk": 51, "manag": [52, 58, 66], "buffer": 52, "edit": 52, "run": [52, 54], "queri": [52, 59], "prefer": 52, "kei": 52, "unicod": 52, "input": 52, "charact": 52, "save": 52, "debugg": [52, 54], "breakpoint": 52, "call": [52, 55], "configur": 53, "instal": 53, "packag": 53, "opam": 53, "setup": 53, "your": 53, "own": 53, "_coqproject": 53, "overview": [53, 55], "path": [53, 59], "modifi": 53, "interdepend": 53, "uninstal": 53, "upgrad": 53, "makefil": 53, "comment": 53, "quot": 53, "c": 53, "forbidden": 53, "No": 53, "common": [53, 58], "coqmakefil": 53, "late": 53, "perform": [53, 58], "test": [53, 54], "subset": 53, "j": 53, "precompil": 53, "native_comput": [53, 64], "dune": 53, "dep": 53, "comput": [53, 54, 64], "embed": 53, "phrase": 53, "insid": [53, 54, 75], "latex": [53, 75], "man": 53, "page": 53, "macro": 54, "defect": [54, 57], "substitut": 54, "selector": [54, 57], "reorder": [54, 66], "focus": [54, 66], "branch": [54, 57], "backtrack": [54, 55, 59], "flow": [54, 57, 58], "sequenc": 54, "loop": 54, "repeat": 54, "catch": [54, 55], "try": 54, "tryif": 54, "succe": 54, "list": [54, 55, 75], "make": 54, "progress": 54, "detect": 54, "success": 54, "failur": 54, "check": 54, "assert_succe": 54, "assert_fail": 54, "soft": 54, "onc": 54, "exactly_onc": 54, "manipul": 54, "comparison": [54, 55], "lazymatch": 54, "multimatch": 54, "hypothes": [54, 55, 58, 59, 66], "wai": [54, 55], "fill": 54, "fresh": 54, "hypothesi": [54, 58], "eval": [54, 64], "get": [54, 57], "untyp": 54, "type_term": 54, "count": 54, "numgoal": 54, "guard": 54, "is_fix": 54, "is_cofix": 54, "is_proj": 54, "timeout": 54, "evalu": [54, 55], "time_constr": 54, "idtac": 54, "toplevel": 54, "natur": [54, 55, 60, 67], "have": [54, 57], "least": 54, "element": [54, 58], "prove": [54, 66, 67], "permut": 54, "decid": [54, 67], "intuitionist": 54, "isomorph": 54, "backtrac": 54, "trace": 54, "execut": 54, "design": 55, "compon": 55, "api": 55, "dynam": 55, "mutabl": 55, "cell": 55, "io": 55, "fatal": 55, "meta": 55, "quotat": 55, "built": 55, "antiquot": 55, "semant": 55, "static": 55, "lazy_match": 55, "multi_match": 55, "abbrevi": [55, 57, 71], "layer": 55, "ltac1": 55, "low": 55, "switch": [55, 57], "transit": 55, "delai": [55, 66], "In": 55, "except": 55, "acknowledg": 57, "gallina": 57, "assign": 57, "select": 57, "bookkeep": 57, "move": [57, 58], "elim": 57, "discharg": 57, "clear": 57, "exact": 57, "abstract": [57, 66], "simplif": 57, "intro": [57, 58], "famili": 57, "indent": 57, "bullet": [57, 66], "iter": 57, "entri": [57, 71], "suff": 57, "wlog": 57, "advanc": [57, 72], "remark": 57, "redex": 57, "chain": 57, "step": [57, 66], "ar": [57, 66], "repetit": 57, "multi": 57, "licit": 57, "metavari": 57, "One": 57, "liner": 57, "lock": 57, "unlock": 57, "congruenc": 57, "recurr": 57, "reflect": 57, "interpret": [57, 71], "special": [57, 58], "mechan": 57, "equival": [57, 58], "shortcut": 57, "synopsi": 57, "reserv": [58, 71], "keyword": [58, 59], "invoc": 58, "b": 58, "compound": 58, "theorem": 58, "reason": [58, 64, 67], "includ": 58, "premis": [58, 67], "forward": 58, "until": 58, "simple_bind": 58, "partial": 58, "product": 58, "contradict": 58, "classic": 58, "orient": 58, "part": [59, 75], "identifi": [59, 71], "disambigu": 59, "conclus": 59, "statu": 59, "searchpattern": 59, "searchrewrit": 59, "request": [59, 66], "locat": [59, 71], "quit": 59, "full": 59, "intern": 59, "registr": 59, "expos": 59, "ocaml": 59, "fast": [59, 64], "machin": 59, "regist": 59, "oper": 59, "programm": [60, 61], "ackermann": 60, "maccarthi": 60, "databas": 60, "autom": 60, "leibniz": 64, "fold": 64, "doesn": 64, "t": 64, "alwai": 64, "undo": 64, "fold_right": 64, "vm_comput": 64, "algorithm": 64, "state": 66, "enter": 66, "exit": 66, "curli": 66, "brace": 66, "shelv": 66, "shelve_unifi": 66, "cycl": 66, "swap": 66, "revgoal": 66, "subgoal": 66, "separ": 66, "inform": [66, 71], "show": [66, 75], "diff": 66, "calcul": 66, "mainten": 66, "memori": 66, "left": 67, "analysi": 67, "destruct": 67, "discrimin": 67, "n": 67, "invers": 67, "or_and_intropattern": 67, "inversion_sigma": 67, "helper": 67, "principl": [67, 72, 75], "scheme": [67, 72], "tree": 67, "forest": 67, "odd": 67, "even": 67, "variou": 67, "scheme_typ": 67, "larger": 67, "glossari": 69, "preced": 71, "associ": 71, "complex": 71, "infix": 71, "simultan": 71, "disabl": 71, "bound": 71, "both": 71, "predefin": 71, "open": 71, "type_scop": 71, "function_scop": 71, "radix": 71, "plugin": [73, 74], "trigger": 74, "introduc": 74, "alia": 74, "doc": 75, "materi": 75, "emphasi": 75, "escap": 75, "html": 75, "verbatim": 75, "hyperlink": 75, "hide": 75, "style": 75, "graphic": 76, "bibliographi": 77}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinxcontrib.bibtex": 9, "coqrst.coqdomain": 2, "sphinx": 57}, "alltitles": {"Program extraction": [[2, "program-extraction"]], "Generating ML Code": [[2, "generating-ml-code"]], "Extraction Options": [[2, "extraction-options"]], "Setting the target language": [[2, "setting-the-target-language"]], "Inlining and optimizations": [[2, "inlining-and-optimizations"]], "Extra elimination of useless arguments": [[2, "extra-elimination-of-useless-arguments"]], "Realizing axioms": [[2, "realizing-axioms"]], "Realizing inductive types": [[2, "realizing-inductive-types"]], "Generating FFI Code": [[2, "generating-ffi-code"]], "Avoiding conflicts with existing filenames": [[2, "avoiding-conflicts-with-existing-filenames"]], "Additional settings": [[2, "additional-settings"]], "Differences between Rocq and ML type systems": [[2, "differences-between-rocq-and-ml-type-systems"]], "Some examples": [[2, "some-examples"]], "A detailed example: Euclidean division": [[2, "a-detailed-example-euclidean-division"]], "Extraction's horror museum": [[2, "extraction-s-horror-museum"]], "Users' Contributions": [[2, "users-contributions"]], "Generalized rewriting": [[3, "generalized-rewriting"]], "Introduction to generalized rewriting": [[3, "introduction-to-generalized-rewriting"]], "Relations and morphisms": [[3, "relations-and-morphisms"]], "Example: Parametric relation": [[3, null], [3, null]], "Example: Parametric relation (continued)": [[3, null]], "Example: Morphisms": [[3, null]], "Example: Contravariant morphisms": [[3, null]], "Example: Rewriting": [[3, null]], "Adding new relations and morphisms": [[3, "adding-new-relations-and-morphisms"]], "Example": [[3, null], [3, null], [3, null], [3, null], [3, null], [3, null], [6, null], [11, null], [11, null], [11, null], [17, null], [26, null], [27, null], [30, null], [30, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [35, null], [35, null], [35, null], [35, null], [35, null], [37, null], [37, null], [40, null], [40, null], [41, null], [41, null], [41, null], [41, null], [41, null], [41, null], [42, null], [42, null], [42, null], [44, null], [44, null], [44, null], [44, null], [46, null], [46, null], [46, null], [46, null], [46, null], [46, null], [52, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [54, null], [54, null], [54, null], [54, null], [55, null], [55, null], [55, null], [55, null], [55, null], [55, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [58, null], [58, "simple-apply-ex"], [58, null], [58, null], [58, null], [58, null], [58, null], [59, null], [60, null], [60, null], [60, null], [62, null], [62, null], [62, null], [62, null], [64, null], [64, null], [64, null], [64, null], [64, null], [64, null], [66, null], [66, null], [66, null], [66, null], [67, null], [67, null], [67, null], [67, null], [67, null], [67, null], [67, null], [71, null], [72, null], [72, null], [72, null], [75, null], [75, null], [75, null], [75, null]], "Rewriting and nonreflexive relations": [[3, "rewriting-and-nonreflexive-relations"]], "Rewriting and nonsymmetric relations": [[3, "rewriting-and-nonsymmetric-relations"]], "Example: Covariance and contravariance": [[3, null]], "Rewriting in ambiguous setoid contexts": [[3, "rewriting-in-ambiguous-setoid-contexts"]], "Rewriting with Type valued relations": [[3, "rewriting-with-type-valued-relations"]], "Declaring rewrite relations": [[3, "declaring-rewrite-relations"]], "Commands and tactics": [[3, "commands-and-tactics"]], "First class setoids and morphisms": [[3, "first-class-setoids-and-morphisms"]], "Example: First class setoids": [[3, null]], "Tactics enabled on user provided relations": [[3, "tactics-enabled-on-user-provided-relations"]], "Printing relations and morphisms": [[3, "printing-relations-and-morphisms"]], "Deprecated syntax and backward incompatibilities": [[3, "deprecated-syntax-and-backward-incompatibilities"]], "Extensions": [[3, "extensions"]], "Rewriting under binders": [[3, "rewriting-under-binders"], [57, "rewriting-under-binders"]], "Subrelations": [[3, "subrelations"]], "Constant unfolding during rewriting": [[3, "constant-unfolding-during-rewriting"]], "Constant unfolding during Proper-instance search": [[3, "constant-unfolding-during-proper-instance-search"]], "Strategies for rewriting": [[3, "strategies-for-rewriting"]], "Usage": [[3, "usage"], [57, "usage"], [75, "usage"]], "Definitions": [[3, "definitions"], [32, "definitions"], [57, "definitions"]], "Example: innermost and outermost": [[3, "rewrite-strat-innermost-outermost"]], "Implicit Coercions": [[4, "implicit-coercions"]], "General Presentation": [[4, "general-presentation"], [14, "general-presentation"]], "Coercion Classes": [[4, "coercion-classes"], [4, "id2"]], "Coercions": [[4, "id1"]], "Reversible Coercions": [[4, "reversible-coercions"]], "Identity Coercions": [[4, "identity-coercions"]], "Inheritance Graph": [[4, "inheritance-graph"]], "Displaying Available Coercions": [[4, "displaying-available-coercions"]], "Activating the Printing of Coercions": [[4, "activating-the-printing-of-coercions"]], "Classes as Records": [[4, "classes-as-records"]], "Coercions and Sections": [[4, "coercions-and-sections"]], "Coercions and Modules": [[4, "coercions-and-modules"]], "Examples": [[4, "examples"], [31, "examples"], [35, "examples"], [57, "examples"]], "Example: Coercion at function application": [[4, null]], "Example: Coercion to a type": [[4, null]], "Example: Coercion to a function": [[4, null]], "Example: Reversible coercions": [[4, "example-reversible-coercion"]], "Example: Reversible coercions using the reversible attribute": [[4, "example-reversible-coercion-attribute"]], "Example: Identity coercions.": [[4, "example-identity-coercion"]], "Example: Inheritance Graph": [[4, null]], "Micromega: solvers for arithmetic goals over ordered rings": [[5, "micromega-solvers-for-arithmetic-goals-over-ordered-rings"]], "Short description of the tactics": [[5, "short-description-of-the-tactics"]], "Positivstellensatz refutations": [[5, "positivstellensatz-refutations"]], "lra: a decision procedure for linear real and rational arithmetic": [[5, "lra-a-decision-procedure-for-linear-real-and-rational-arithmetic"]], "lia: a tactic for linear integer arithmetic": [[5, "lia-a-tactic-for-linear-integer-arithmetic"]], "High level view of lia": [[5, "high-level-view-of-lia"]], "Cutting plane proofs": [[5, "cutting-plane-proofs"]], "Example: Cutting plane": [[5, null]], "Case split": [[5, "case-split"]], "nra: a proof procedure for non-linear arithmetic": [[5, "nra-a-proof-procedure-for-non-linear-arithmetic"]], "nia: a proof procedure for non-linear integer arithmetic": [[5, "nia-a-proof-procedure-for-non-linear-integer-arithmetic"]], "psatz: a proof procedure for non-linear arithmetic": [[5, "psatz-a-proof-procedure-for-non-linear-arithmetic"]], "zify: pre-processing of arithmetic goals": [[5, "zify-pre-processing-of-arithmetic-goals"]], "Example: Lra": [[5, "lra-example"]], "Program derivation": [[6, "program-derivation"]], "Nsatz: a solver for equalities in integral domains": [[7, "nsatz-a-solver-for-equalities-in-integral-domains"]], "More about nsatz": [[7, "more-about-nsatz"]], "Asynchronous and Parallel Proof Processing": [[8, "asynchronous-and-parallel-proof-processing"]], "Proof annotations": [[8, "proof-annotations"]], "Automatic suggestion of proof annotations": [[8, "automatic-suggestion-of-proof-annotations"]], "Proof blocks and error resilience": [[8, "proof-blocks-and-error-resilience"]], "Caveats": [[8, "caveats"], [8, "id3"]], "Interactive mode": [[8, "interactive-mode"], [57, "interactive-mode"]], "Limiting the number of parallel workers": [[8, "limiting-the-number-of-parallel-workers"]], "Program": [[9, "program"]], "Elaborating programs": [[9, "elaborating-programs"]], "Syntactic control over equalities": [[9, "syntactic-control-over-equalities"]], "Program Definition": [[9, "program-definition"]], "Program Fixpoint": [[9, "program-fixpoint"]], "Program Lemma": [[9, "program-lemma"]], "Solving obligations": [[9, "solving-obligations"]], "Frequently Asked Questions": [[9, "frequently-asked-questions"]], "User-defined rewrite rules": [[10, "user-defined-rewrite-rules"]], "Symbols": [[10, "symbols"]], "Rewrite rules": [[10, "id1"]], "Pattern syntax": [[10, "pattern-syntax"]], "Higher-order pattern holes": [[10, "higher-order-pattern-holes"]], "Universe polymorphic rules": [[10, "universe-polymorphic-rules"]], "Rewrite rules, type preservation, confluence and termination": [[10, "rewrite-rules-type-preservation-confluence-and-termination"]], "Compatibility with the eta laws": [[10, "compatibility-with-the-eta-laws"]], "Level of support": [[10, "level-of-support"]], "ring and field: solvers for polynomial and rational equations": [[11, "ring-and-field-solvers-for-polynomial-and-rational-equations"]], "What does this tactic do?": [[11, "what-does-this-tactic-do"]], "The variables map": [[11, "the-variables-map"]], "Is it automatic?": [[11, "is-it-automatic"]], "Concrete usage": [[11, "concrete-usage"]], "Adding a ring structure": [[11, "adding-a-ring-structure"]], "How does it work?": [[11, "how-does-it-work"]], "Dealing with fields": [[11, "dealing-with-fields"]], "Example: field that generates side goals": [[11, null]], "Adding a new field structure": [[11, "adding-a-new-field-structure"]], "History of ring": [[11, "history-of-ring"]], "Discussion": [[11, "discussion"]], "SProp (proof irrelevant propositions)": [[12, "sprop-proof-irrelevant-propositions"]], "Basic constructs": [[12, "basic-constructs"]], "Encodings for strict propositions": [[12, "encodings-for-strict-propositions"]], "Definitional UIP": [[12, "definitional-uip"]], "Non Termination with UIP": [[12, "non-termination-with-uip"]], "Debugging \\SProp issues": [[12, "debugging-sprop-issues"]], "Typeclasses": [[13, "typeclasses"]], "Typeclass and instance declarations": [[13, "typeclass-and-instance-declarations"]], "Binding typeclasses": [[13, "binding-typeclasses"]], "Parameterized instances": [[13, "parameterized-instances"]], "Sections and contexts": [[13, "sections-and-contexts"]], "Building hierarchies": [[13, "building-hierarchies"]], "Superclasses": [[13, "superclasses"]], "Substructures": [[13, "substructures"]], "Command summary": [[13, "command-summary"]], "Typeclasses Transparent, Typeclasses Opaque": [[13, "typeclasses-transparent-typeclasses-opaque"]], "Settings": [[13, "settings"], [29, "settings"], [57, "settings"]], "Typeclasses eauto": [[13, "typeclasses-eauto"]], "Polymorphic Universes": [[14, "polymorphic-universes"]], "Polymorphic, Monomorphic": [[14, "polymorphic-monomorphic"]], "Cumulative, NonCumulative": [[14, "cumulative-noncumulative"]], "Specifying cumulativity": [[14, "specifying-cumulativity"]], "Example: Demonstration of universe variances": [[14, null]], "Example: A proof using cumulativity": [[14, null]], "Cumulativity Weak Constraints": [[14, "cumulativity-weak-constraints"]], "Global and local universes": [[14, "global-and-local-universes"]], "Conversion and unification": [[14, "conversion-and-unification"]], "Minimization": [[14, "minimization"]], "Explicit Universes": [[14, "explicit-universes"]], "Printing universes": [[14, "printing-universes"]], "Polymorphic definitions": [[14, "polymorphic-definitions"]], "Sort polymorphism": [[14, "sort-polymorphism"]], "Universe polymorphism and sections": [[14, "universe-polymorphism-and-sections"]], "History and recent changes": [[15, "history-and-recent-changes"]], "Indexes": [[16, "indexes"]], "Recent changes": [[17, "recent-changes"]], "Unreleased changes": [[17, "unreleased-changes"]], "Kernel": [[17, "kernel"], [17, "id101"], [17, "id305"], [17, "id456"], [17, "id500"], [17, "id646"], [17, "id807"], [17, "id948"], [17, "id970"], [17, "id1138"], [17, "id1198"], [17, "id1371"], [17, "id1392"], [17, "id1539"], [17, "id1543"], [17, "id1557"]], "Specification language, type inference": [[17, "specification-language-type-inference"], [17, "changes-spec-language"], [17, "id310"], [17, "id476"], [17, "id506"], [17, "id651"], [17, "id819"], [17, "id973"], [17, "id1205"], [17, "id1374"], [17, "id1402"], [17, "id1560"]], "Notations": [[17, "notations"], [17, "id129"], [17, "id322"], [17, "id461"], [17, "id479"], [17, "id519"], [17, "id657"], [17, "id831"], [17, "id984"], [17, "id1143"], [17, "id1216"], [17, "id1431"], [17, "id1581"], [27, "notations"], [55, "notations"], [71, "notations"]], "Tactics": [[17, "tactics"], [17, "id138"], [17, "id357"], [17, "id463"], [17, "id482"], [17, "id532"], [17, "id665"], [17, "id837"], [17, "id1001"], [17, "id1146"], [17, "id1171"], [17, "id1233"], [17, "id1377"], [17, "id1464"], [17, "id1602"], [27, "tactics"], [57, "tactics"], [58, "tactics"], [60, "tactics"], [72, "tactics"]], "Ltac language": [[17, "ltac-language"], [17, "id165"], [17, "id392"], [17, "id685"]], "Ltac2 language": [[17, "ltac2-language"], [17, "id170"], [17, "ltac2"], [17, "id466"], [17, "id485"], [17, "id552"], [17, "id688"]], "SSReflect": [[17, "ssreflect"], [17, "id195"], [17, "id712"], [17, "id871"], [17, "id1051"], [17, "id1290"], [17, "id1491"], [17, "id1652"]], "Commands and options": [[17, "commands-and-options"], [17, "id204"], [17, "id414"], [17, "id487"], [17, "id570"], [17, "id714"], [17, "id873"], [17, "id957"], [17, "id1060"], [17, "id1293"], [17, "id1382"], [17, "id1495"], [17, "id1537"]], "Command-line tools": [[17, "command-line-tools"], [17, "id235"], [17, "id432"], [17, "id601"], [17, "id743"], [17, "id899"], [17, "id1092"], [17, "id1155"], [17, "id1316"]], "CoqIDE": [[17, "coqide"], [17, "id241"], [17, "id491"], [17, "id610"], [17, "id904"], [17, "id960"], [17, "id1107"], [17, "id1157"], [17, "id1176"], [17, "id1331"], [17, "id1513"], [17, "id1541"], [17, "id1719"], [52, "coqide"]], "Standard library": [[17, "standard-library"], [17, "renaming-stdlib"], [17, "stdlib"], [17, "id613"], [17, "id749"], [17, "id906"], [17, "id1114"], [17, "id1188"], [17, "id1335"], [17, "id1516"], [17, "id1722"], [24, "standard-library"]], "Infrastructure and dependencies": [[17, "infrastructure-and-dependencies"], [17, "id271"], [17, "id471"], [17, "id494"], [17, "id634"], [17, "id769"], [17, "id925"], [17, "id1127"], [17, "id1362"], [17, "id1531"], [17, "id1797"]], "Extraction": [[17, "extraction"], [17, "id288"], [17, "id452"], [17, "id637"], [17, "id937"], [17, "id1133"], [17, "id1759"], [24, "extraction"]], "Miscellaneous": [[17, "miscellaneous"], [17, "id789"], [17, "id1166"], [17, "id1368"]], "Version 8.20": [[17, "version-8-20"]], "Summary of changes": [[17, "summary-of-changes"], [17, "id293"], [17, "id498"], [17, "id640"], [17, "id800"], [17, "id963"], [17, "id1191"], [17, "id1387"], [17, "id1551"], [17, "id1857"], [17, "id1995"], [17, "id2142"], [17, "id2144"], [17, "id2145"], [17, "id2146"], [17, "id2147"], [17, "id2149"], [17, "id2152"], [17, "id2153"], [17, "id2155"], [17, "id2156"], [24, "summary-of-changes"]], "Changes in 8.20.0": [[17, "changes-in-8-20-0"]], "Version 8.19": [[17, "version-8-19"]], "Changes in 8.19.0": [[17, "changes-in-8-19-0"]], "Changes in 8.19.1": [[17, "changes-in-8-19-1"]], "Changes in 8.19.2": [[17, "changes-in-8-19-2"]], "Version 8.18": [[17, "version-8-18"]], "Changes in 8.18.0": [[17, "changes-in-8-18-0"]], "Version 8.17": [[17, "version-8-17"]], "Changes in 8.17.0": [[17, "changes-in-8-17-0"]], "Changes in 8.17.1": [[17, "changes-in-8-17-1"]], "Version 8.16": [[17, "version-8-16"]], "Changes in 8.16.0": [[17, "changes-in-8-16-0"]], "Tactic language": [[17, "tactic-language"], [17, "id1048"], [17, "id1270"], [17, "id1485"], [17, "id1548"], [17, "id1643"]], "Changes in 8.16.1": [[17, "changes-in-8-16-1"]], "Version 8.15": [[17, "version-8-15"]], "Changes in 8.15.0": [[17, "changes-in-8-15-0"]], "Changes in 8.15.1": [[17, "changes-in-8-15-1"]], "Changes in 8.15.2": [[17, "changes-in-8-15-2"]], "Version 8.14": [[17, "version-8-14"]], "Changes in 8.14.0": [[17, "changes-in-8-14-0"]], "Native Compilation": [[17, "native-compilation"]], "Changes in 8.14.1": [[17, "changes-in-8-14-1"]], "Version 8.13": [[17, "version-8-13"]], "Changes in 8.13+beta1": [[17, "changes-in-8-13-beta1"]], "Tools": [[17, "tools"], [17, "id1684"], [24, "tools"]], "Changes in 8.13.0": [[17, "changes-in-8-13-0"]], "Changes in 8.13.1": [[17, "changes-in-8-13-1"]], "Changes in 8.13.2": [[17, "changes-in-8-13-2"]], "Version 8.12": [[17, "version-8-12"]], "Changes in 8.12+beta1": [[17, "changes-in-8-12-beta1"]], "Flags, options and attributes": [[17, "flags-options-and-attributes"]], "Commands": [[17, "id1666"], [57, "commands"], [59, "commands"]], "Reals library": [[17, "reals-library"]], "Reference manual": [[17, "refman"]], "Changes in 8.12.0": [[17, "changes-in-8-12-0"]], "Changes in 8.12.1": [[17, "changes-in-8-12-1"]], "Changes in 8.12.2": [[17, "changes-in-8-12-2"]], "Version 8.11": [[17, "version-8-11"]], "Changes in 8.11+beta1": [[17, "changes-in-8-11-beta1"]], "Changes in 8.11.0": [[17, "changes-in-8-11-0"]], "Changes in 8.11.1": [[17, "changes-in-8-11-1"]], "Changes in 8.11.2": [[17, "changes-in-8-11-2"]], "Version 8.10": [[17, "version-8-10"]], "Other changes in 8.10+beta1": [[17, "other-changes-in-8-10-beta1"]], "Changes in 8.10+beta2": [[17, "changes-in-8-10-beta2"]], "Changes in 8.10+beta3": [[17, "changes-in-8-10-beta3"]], "Changes in 8.10.0": [[17, "changes-in-8-10-0"]], "Changes in 8.10.1": [[17, "changes-in-8-10-1"]], "Changes in 8.10.2": [[17, "changes-in-8-10-2"]], "Version 8.9": [[17, "version-8-9"]], "Details of changes in 8.9+beta1": [[17, "details-of-changes-in-8-9-beta1"]], "Changes in 8.8.0": [[17, "changes-in-8-8-0"]], "Changes in 8.8.1": [[17, "changes-in-8-8-1"]], "Version 8.8": [[17, "version-8-8"]], "Details of changes in 8.8+beta1": [[17, "details-of-changes-in-8-8-beta1"]], "Details of changes in 8.8.0": [[17, "details-of-changes-in-8-8-0"]], "Details of changes in 8.8.1": [[17, "details-of-changes-in-8-8-1"]], "Details of changes in 8.8.2": [[17, "details-of-changes-in-8-8-2"]], "Version 8.7": [[17, "version-8-7"]], "Potential compatibility issues": [[17, "potential-compatibility-issues"]], "Details of changes in 8.7+beta1": [[17, "details-of-changes-in-8-7-beta1"]], "Details of changes in 8.7+beta2": [[17, "details-of-changes-in-8-7-beta2"]], "Details of changes in 8.7.0": [[17, "details-of-changes-in-8-7-0"]], "Details of changes in 8.7.1": [[17, "details-of-changes-in-8-7-1"]], "Details of changes in 8.7.2": [[17, "details-of-changes-in-8-7-2"]], "Version 8.6": [[17, "version-8-6"]], "Potential sources of incompatibilities": [[17, "potential-sources-of-incompatibilities"], [17, "id2148"], [17, "id2151"]], "Details of changes in 8.6beta1": [[17, "details-of-changes-in-8-6beta1"]], "Details of changes in 8.6": [[17, "details-of-changes-in-8-6"]], "Details of changes in 8.6.1": [[17, "details-of-changes-in-8-6-1"]], "Version 8.5": [[17, "version-8-5"]], "Details of changes in 8.5beta1": [[17, "details-of-changes-in-8-5beta1"]], "Details of changes in 8.5beta2": [[17, "details-of-changes-in-8-5beta2"]], "Details of changes in 8.5beta3": [[17, "details-of-changes-in-8-5beta3"]], "Details of changes in 8.5": [[17, "details-of-changes-in-8-5"]], "Details of changes in 8.5pl1": [[17, "details-of-changes-in-8-5pl1"]], "Details of changes in 8.5pl2": [[17, "details-of-changes-in-8-5pl2"]], "Details of changes in 8.5pl3": [[17, "details-of-changes-in-8-5pl3"]], "Version 8.4": [[17, "version-8-4"]], "Details of changes in 8.4beta": [[17, "details-of-changes-in-8-4beta"]], "Details of changes in 8.4beta2": [[17, "details-of-changes-in-8-4beta2"]], "Details of changes in 8.4": [[17, "details-of-changes-in-8-4"]], "Version 8.3": [[17, "version-8-3"]], "Details of changes": [[17, "details-of-changes"], [17, "id2154"], [24, "details-of-changes"]], "Version 8.2": [[17, "version-8-2"]], "Version 8.1": [[17, "version-8-1"]], "Details of changes in 8.1beta": [[17, "details-of-changes-in-8-1beta"]], "Details of changes in 8.1gamma": [[17, "details-of-changes-in-8-1gamma"]], "Details of changes in 8.1": [[17, "details-of-changes-in-8-1"]], "Version 8.0": [[17, "version-8-0"]], "Details of changes in 8.0beta old syntax": [[17, "details-of-changes-in-8-0beta-old-syntax"]], "Details of changes in 8.0beta new syntax": [[17, "details-of-changes-in-8-0beta-new-syntax"]], "Details of changes in 8.0": [[17, "details-of-changes-in-8-0"]], "Attribute index": [[18, "attribute-index"]], "Command index": [[19, "command-index"]], "Errors and warnings index": [[20, "errors-and-warnings-index"]], "Flags, options and tables index": [[21, "flags-options-and-tables-index"]], "Tactic index": [[22, "tactic-index"]], "General index": [[23, "general-index"]], "Early history of Coq": [[24, "early-history-of-coq"]], "Historical roots": [[24, "historical-roots"]], "Versions 1 to 5": [[24, "versions-1-to-5"]], "Version 1": [[24, "version-1"]], "Version 2": [[24, "version-2"]], "Version 3": [[24, "version-3"]], "Version 4": [[24, "version-4"]], "Version 5": [[24, "version-5"]], "Versions 6": [[24, "versions-6"]], "Version 6.1": [[24, "version-6-1"]], "Version 6.2": [[24, "version-6-2"]], "Version 6.3": [[24, "version-6-3"]], "Versions 7": [[24, "versions-7"]], "Details of changes in 7.0 and 7.1": [[24, "details-of-changes-in-7-0-and-7-1"]], "Main novelties": [[24, "main-novelties"]], "Language: new \"let-in\" construction": [[24, "language-new-let-in-construction"]], "Language: long names": [[24, "language-long-names"]], "Language: miscellaneous": [[24, "language-miscellaneous"]], "Language: Cases": [[24, "language-cases"]], "Reduction": [[24, "reduction"], [37, "reduction"], [55, "reduction"]], "New tactics": [[24, "new-tactics"]], "Changes in existing tactics": [[24, "changes-in-existing-tactics"]], "Efficiency": [[24, "efficiency"]], "Concrete syntax of constructions": [[24, "concrete-syntax-of-constructions"]], "Parsing and grammar extension": [[24, "parsing-and-grammar-extension"]], "New commands": [[24, "new-commands"]], "Changes in existing commands": [[24, "changes-in-existing-commands"]], "New user contributions": [[24, "new-user-contributions"]], "Details of changes in 7.2": [[24, "details-of-changes-in-7-2"]], "Details of changes in 7.3": [[24, "details-of-changes-in-7-3"]], "Changes in 7.3.1": [[24, "changes-in-7-3-1"]], "Details of changes in 7.4": [[24, "details-of-changes-in-7-4"]], "Introduction and Contents": [[25, "introduction-and-contents"]], "Contents": [[25, "contents"]], "Specification language": [[25, null]], "Proofs": [[25, null]], "Using the Rocq Prover": [[25, null]], "Appendix": [[25, null]], "Typing rules": [[26, "typing-rules"], [26, "id4"]], "The terms": [[26, "the-terms"]], "Subtyping rules": [[26, "subtyping-rules"]], "The Calculus of Inductive Constructions with impredicative Set": [[26, "the-calculus-of-inductive-constructions-with-impredicative-set"]], "The Coq libraries": [[27, "the-coq-libraries"]], "The prelude": [[27, "the-prelude"]], "Logic": [[27, "logic"]], "Propositional Connectives": [[27, "propositional-connectives"]], "Quantifiers": [[27, "quantifiers"]], "Equality": [[27, "equality"]], "Lemmas": [[27, "lemmas"]], "Datatypes": [[27, "datatypes"]], "Programming": [[27, "programming"]], "Specification": [[27, "specification"]], "Basic Arithmetic": [[27, "basic-arithmetic"]], "Well-founded recursion": [[27, "well-founded-recursion"]], "Users\u2019 contributions": [[27, "users-contributions"]], "Functions and assumptions": [[28, "functions-and-assumptions"]], "Binders": [[28, "binders"]], "Functions (fun) and function types (forall)": [[28, "functions-fun-and-function-types-forall"]], "Function application": [[28, "function-application"]], "Assumptions": [[28, "assumptions"]], "Example: Simple assumptions": [[28, null]], "Basic notions and conventions": [[29, "basic-notions-and-conventions"]], "Syntax and lexical conventions": [[29, "syntax-and-lexical-conventions"]], "Syntax conventions": [[29, "syntax-conventions"]], "Lexical conventions": [[29, "lexical-conventions"]], "Example: Stack overflow with nat": [[29, null]], "Essential vocabulary": [[29, "essential-vocabulary"]], "Attributes": [[29, "attributes"]], "Generic attributes": [[29, "generic-attributes"]], "Document-level attributes": [[29, "document-level-attributes"]], "Flags, Options and Tables": [[29, "flags-options-and-tables"]], "Locality attributes supported by Set and Unset": [[29, "locality-attributes-supported-by-set-and-unset"]], "Coinductive types and corecursive functions": [[30, "coinductive-types-and-corecursive-functions"]], "Coinductive types": [[30, "coinductive-types"]], "Caveat": [[30, "caveat"]], "Co-recursive functions: cofix": [[30, "co-recursive-functions-cofix"]], "Top-level definitions of corecursive functions": [[30, "top-level-definitions-of-corecursive-functions"]], "Conversion rules": [[31, "conversion-rules"]], "\u03b1-conversion": [[31, "conversion"]], "\u03b2-reduction": [[31, "reduction"]], "\u03b4-reduction": [[31, "delta-reduction-sect"]], "\u03b9-reduction": [[31, "id4"]], "\u03b6-reduction": [[31, "id6"]], "\u03b7-expansion": [[31, "expansion"]], "Example: Simple delta, fix, beta and match reductions": [[31, null]], "Proof Irrelevance": [[31, "proof-irrelevance"]], "Convertibility": [[31, "convertibility"]], "Let-in definitions": [[32, "let-in-definitions"]], "Type cast": [[32, "type-cast"]], "Top-level definitions": [[32, "top-level-definitions"]], "Assertions and proofs": [[32, "assertions-and-proofs"]], "Core language": [[33, "core-language"]], "Inductive types and recursive functions": [[34, "inductive-types-and-recursive-functions"]], "Inductive types": [[34, "inductive-types"]], "Simple inductive types": [[34, "simple-inductive-types"]], "Automatic Prop lowering": [[34, "automatic-prop-lowering"]], "Simple indexed inductive types": [[34, "simple-indexed-inductive-types"]], "Parameterized inductive types": [[34, "parameterized-inductive-types"]], "Mutually defined inductive types": [[34, "mutually-defined-inductive-types"]], "Example: Mutually defined inductive types": [[34, null]], "Recursive functions: fix": [[34, "recursive-functions-fix"]], "Top-level recursive functions": [[34, "top-level-recursive-functions"]], "Example: Mutual fixpoints": [[34, null]], "Theory of inductive definitions": [[34, "theory-of-inductive-definitions"]], "Types of inductive objects": [[34, "types-of-inductive-objects"]], "Well-formed inductive definitions": [[34, "well-formed-inductive-definitions"]], "Arity of a given sort": [[34, "arity-of-a-given-sort"]], "Arity": [[34, "arity"]], "Type of constructor": [[34, "type-of-constructor"]], "Positivity Condition": [[34, "positivity-condition"]], "Strict positivity": [[34, "strict-positivity"]], "Nested Positivity": [[34, "nested-positivity"]], "Correctness rules": [[34, "correctness-rules"]], "Example: Negative occurrence (first example)": [[34, null]], "Example: Negative occurrence (second example)": [[34, null]], "Example: Non strictly positive occurrence": [[34, null]], "Template polymorphism": [[34, "template-polymorphism"]], "Destructors": [[34, "destructors"]], "The match ... with ... end construction": [[34, "the-match-with-end-construction"]], "Fixpoint definitions": [[34, "fixpoint-definitions"]], "Typing rule": [[34, "id10"]], "Reduction rule": [[34, "reduction-rule"]], "The Module System": [[35, "the-module-system"]], "Modules and module types": [[35, "modules-and-module-types"]], "Using modules": [[35, "using-modules"]], "Example: Defining a simple module interactively": [[35, null]], "Example: Defining a simple module type interactively": [[35, "example-def-simple-module-type"]], "Example: Creating a new module that omits some items from an existing module": [[35, "example-filter-module"]], "Example: Creating a functor (a module with parameters)": [[35, null]], "Example: A module type with two sub-modules, sharing some fields": [[35, null]], "Qualified names": [[35, "qualified-names"]], "Controlling the scope of commands with locality attributes": [[35, "controlling-the-scope-of-commands-with-locality-attributes"]], "Summary of locality attributes in a module": [[35, "summary-of-locality-attributes-in-a-module"]], "Typing Modules": [[35, "typing-modules"]], "Primitive objects": [[36, "primitive-objects"]], "Primitive Integers": [[36, "primitive-integers"]], "Primitive Floats": [[36, "primitive-floats"]], "Primitive Arrays": [[36, "primitive-arrays"]], "Primitive (Byte-Based) Strings": [[36, "primitive-byte-based-strings"]], "Record types": [[37, "record-types"]], "Defining record types": [[37, "defining-record-types"]], "Example: Defining a record": [[37, null]], "Example: Reusing a field name in multiple records": [[37, null]], "Example: Using the \"as\" clause in a record definition": [[37, null]], "Example: Argument name for a record type created using Class": [[37, null]], "Constructing records": [[37, "constructing-records"]], "Example: Constructing 1/2 as a record": [[37, null]], "Accessing fields (projections)": [[37, "accessing-fields-projections"]], "Example: Accessing record fields": [[37, null]], "Example: Matching on records": [[37, null]], "Example: Accessing anonymous record fields with match": [[37, null]], "Settings for printing records": [[37, "settings-for-printing-records"]], "Primitive Projections": [[37, "primitive-projections"]], "Compatibility Constants for Projections": [[37, "compatibility-constants-for-projections"]], "Sections": [[38, "sections"], [75, "sections"]], "Using sections": [[38, "using-sections"]], "Example: Section-local declarations": [[38, "section-local-declarations"]], "Summary of locality attributes in a section": [[38, "summary-of-locality-attributes-in-a-section"]], "Typing rules used at the end of a section": [[38, "typing-rules-used-at-the-end-of-a-section"]], "Sorts": [[39, "sorts"]], "Variants and the match construct": [[40, "variants-and-the-match-construct"]], "Variants": [[40, "id1"]], "Private (matching) inductive types": [[40, "private-matching-inductive-types"]], "Definition by cases: match": [[40, "definition-by-cases-match"]], "Setting properties of a function's arguments": [[41, "setting-properties-of-a-function-s-arguments"]], "Manual declaration of implicit arguments": [[41, "manual-declaration-of-implicit-arguments"]], "Example: Multiple alternatives with implicits_alt": [[41, "example-more-implicits"]], "Automatic declaration of implicit arguments": [[41, "automatic-declaration-of-implicit-arguments"]], "Example: Default implicits": [[41, null]], "Renaming implicit arguments": [[41, "renaming-implicit-arguments"]], "Example: (continued) Renaming implicit arguments": [[41, null]], "Binding arguments to scopes": [[41, "binding-arguments-to-scopes"]], "Effects of Arguments on unfolding": [[41, "effects-of-arguments-on-unfolding"]], "Bidirectionality hints": [[41, "bidirectionality-hints"]], "Example: Bidirectionality hints": [[41, null]], "Canonical Structures": [[42, "canonical-structures"]], "Declaration of canonical structures": [[42, "declaration-of-canonical-structures"]], "Notation overloading": [[42, "notation-overloading"]], "Derived Canonical Structures": [[42, "derived-canonical-structures"]], "Hierarchy of structures": [[42, "hierarchy-of-structures"]], "Compact declaration of Canonical Structures": [[42, "compact-declaration-of-canonical-structures"]], "Existential variables": [[43, "existential-variables"]], "Inferable subterms": [[43, "inferable-subterms"]], "e* tactics that can create existential variables": [[43, "e-tactics-that-can-create-existential-variables"]], "Example: apply vs eapply": [[43, null]], "Automatic resolution of existential variables": [[43, "automatic-resolution-of-existential-variables"]], "Example: Automatic resolution of existential variables": [[43, "automatic-evar-resolution"]], "Explicit display of existential instances for pretty-printing": [[43, "explicit-display-of-existential-instances-for-pretty-printing"]], "Solving existential variables using tactics": [[43, "solving-existential-variables-using-tactics"]], "Implicit arguments": [[44, "implicit-arguments"]], "The different kinds of implicit arguments": [[44, "the-different-kinds-of-implicit-arguments"]], "Implicit arguments inferable from the knowledge of other arguments of a function": [[44, "implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function"]], "Implicit arguments inferable by resolution": [[44, "implicit-arguments-inferable-by-resolution"]], "Maximal and non-maximal insertion of implicit arguments": [[44, "maximal-and-non-maximal-insertion-of-implicit-arguments"]], "Trailing Implicit Arguments": [[44, "trailing-implicit-arguments"]], "Casual use of implicit arguments": [[44, "casual-use-of-implicit-arguments"]], "Declaration of implicit arguments": [[44, "declaration-of-implicit-arguments"]], "Implicit Argument Binders": [[44, "implicit-argument-binders"]], "Mode for automatic declaration of implicit arguments": [[44, "mode-for-automatic-declaration-of-implicit-arguments"]], "Controlling strict implicit arguments": [[44, "controlling-strict-implicit-arguments"]], "Controlling contextual implicit arguments": [[44, "controlling-contextual-implicit-arguments"]], "Controlling reversible-pattern implicit arguments": [[44, "controlling-reversible-pattern-implicit-arguments"]], "Controlling the insertion of implicit arguments not followed by explicit arguments": [[44, "controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments"]], "Combining manual declaration and automatic declaration": [[44, "combining-manual-declaration-and-automatic-declaration"]], "Explicit applications": [[44, "explicit-applications"]], "Example: Syntax for explicitly giving implicit arguments (continued)": [[44, null]], "Displaying implicit arguments": [[44, "displaying-implicit-arguments"]], "Displaying implicit arguments when pretty-printing": [[44, "displaying-implicit-arguments-when-pretty-printing"]], "Interaction with subtyping": [[44, "interaction-with-subtyping"]], "Deactivation of implicit arguments for parsing": [[44, "deactivation-of-implicit-arguments-for-parsing"]], "Implicit types of variables": [[44, "implicit-types-of-variables"]], "Implicit generalization": [[44, "implicit-generalization"]], "Language extensions": [[45, "language-extensions"]], "Extended pattern matching": [[46, "extended-pattern-matching"]], "Variants and extensions of match": [[46, "variants-and-extensions-of-match"]], "Multiple and nested pattern matching": [[46, "multiple-and-nested-pattern-matching"]], "Pattern-matching on boolean values: the if expression": [[46, "pattern-matching-on-boolean-values-the-if-expression"]], "Irrefutable patterns: the destructuring let variants": [[46, "irrefutable-patterns-the-destructuring-let-variants"]], "First destructuring let syntax": [[46, "first-destructuring-let-syntax"]], "Second destructuring let syntax": [[46, "second-destructuring-let-syntax"]], "Controlling pretty-printing of match expressions": [[46, "controlling-pretty-printing-of-match-expressions"]], "Printing nested patterns": [[46, "printing-nested-patterns"]], "Factorization of clauses with same right-hand side": [[46, "factorization-of-clauses-with-same-right-hand-side"]], "Use of a default clause": [[46, "use-of-a-default-clause"]], "Printing of wildcard patterns": [[46, "printing-of-wildcard-patterns"]], "Printing of the elimination predicate": [[46, "printing-of-the-elimination-predicate"]], "Printing of hidden subterms": [[46, "printing-of-hidden-subterms"]], "Printing matching on irrefutable patterns": [[46, "printing-matching-on-irrefutable-patterns"]], "Printing matching on booleans": [[46, "printing-matching-on-booleans"]], "Conventions about unused pattern-matching variables": [[46, "conventions-about-unused-pattern-matching-variables"]], "Patterns": [[46, "patterns"]], "Multiple patterns": [[46, "multiple-patterns"]], "Aliasing subpatterns": [[46, "aliasing-subpatterns"]], "Nested patterns": [[46, "nested-patterns"]], "Disjunctive patterns": [[46, "disjunctive-patterns"]], "About patterns of parametric types": [[46, "about-patterns-of-parametric-types"]], "Parameters in patterns": [[46, "parameters-in-patterns"]], "Implicit arguments in patterns": [[46, "implicit-arguments-in-patterns"]], "Matching objects of dependent types": [[46, "matching-objects-of-dependent-types"]], "Understanding dependencies in patterns": [[46, "understanding-dependencies-in-patterns"]], "When the elimination predicate must be provided": [[46, "when-the-elimination-predicate-must-be-provided"]], "Dependent pattern matching": [[46, "dependent-pattern-matching"]], "Multiple dependent pattern matching": [[46, "multiple-dependent-pattern-matching"]], "Patterns in in": [[46, "patterns-in-in"]], "Using pattern matching to write proofs": [[46, "using-pattern-matching-to-write-proofs"]], "Pattern-matching on inductive objects involving local definitions": [[46, "pattern-matching-on-inductive-objects-involving-local-definitions"]], "Pattern-matching and coercions": [[46, "pattern-matching-and-coercions"]], "When does the expansion strategy fail?": [[46, "when-does-the-expansion-strategy-fail"]], "The Rocq Prover commands": [[51, "the-rocq-prover-commands"]], "Interactive use (rocq repl)": [[51, "interactive-use-rocq-repl"]], "Batch compilation (rocq compile)": [[51, "batch-compilation-rocq-compile"]], "Example: Compiling and loading a single file": [[51, null]], "Customization at launch time": [[51, "customization-at-launch-time"]], "Command parameters": [[51, "command-parameters"]], "coqrc start up script": [[51, "coqrc-start-up-script"]], "Environment variables": [[51, "environment-variables"]], "Command line options": [[51, "command-line-options"], [75, "command-line-options"]], "Profiling": [[51, "profiling"], [55, "profiling"]], "Compiled interfaces (produced using -vos)": [[51, "compiled-interfaces-produced-using-vos"]], "Compiled libraries checker (rocqchk)": [[51, "compiled-libraries-checker-rocqchk"]], "Managing files and buffers, basic editing": [[52, "managing-files-and-buffers-basic-editing"]], "Running Coq scripts": [[52, "running-coq-scripts"]], "Asynchronous mode": [[52, "asynchronous-mode"]], "Commands and templates": [[52, "commands-and-templates"]], "Queries": [[52, "queries"]], "Compilation": [[52, "compilation"]], "Customizations": [[52, "customizations"]], "Preferences": [[52, "preferences"]], "Key bindings": [[52, "key-bindings"]], "Using Unicode symbols": [[52, "using-unicode-symbols"]], "Displaying Unicode symbols": [[52, "displaying-unicode-symbols"]], "Bindings for input of Unicode symbols": [[52, "bindings-for-input-of-unicode-symbols"]], "Adding custom bindings": [[52, "adding-custom-bindings"]], "Character encoding for saved files": [[52, "character-encoding-for-saved-files"]], "Debugger": [[52, "debugger"]], "Breakpoints": [[52, "breakpoints"]], "Call Stack and Variables": [[52, "call-stack-and-variables"]], "Supported use cases": [[52, "supported-use-cases"]], "Building Rocq Projects": [[53, "building-rocq-projects"]], "Rocq configuration basics": [[53, "rocq-configuration-basics"]], "Installing the Rocq Prover and Rocq packages with opam": [[53, "installing-the-rocq-prover-and-rocq-packages-with-opam"]], "Setup for working on your own projects": [[53, "setup-for-working-on-your-own-projects"]], "Building a project with _CoqProject (overview)": [[53, "building-a-project-with-coqproject-overview"]], "Logical paths and the load path": [[53, "logical-paths-and-the-load-path"]], "Modifying multiple interdependent projects at the same time": [[53, "modifying-multiple-interdependent-projects-at-the-same-time"]], "Installed and uninstalled packages": [[53, "installed-and-uninstalled-packages"]], "Upgrading to a new version of Rocq": [[53, "upgrading-to-a-new-version-of-rocq"]], "Building a Rocq project with rocq makefile (details)": [[53, "building-a-rocq-project-with-rocq-makefile-details"]], "Comments": [[53, "comments"]], "Quoting arguments to rocq c": [[53, "quoting-arguments-to-rocq-c"]], "Forbidden filenames": [[53, "forbidden-filenames"]], "Warning: No common logical root": [[53, "warning-no-common-logical-root"]], "CoqMakefile.local": [[53, "coqmakefile-local"]], "CoqMakefile.local-late": [[53, "coqmakefile-local-late"]], "Timing targets and performance testing": [[53, "timing-targets-and-performance-testing"]], "Building a subset of the targets with -j": [[53, "building-a-subset-of-the-targets-with-j"]], "Precompiling for native_compute": [[53, "precompiling-for-native-compute"]], "The grammar of _CoqProject": [[53, "the-grammar-of-coqproject"]], "Building a Rocq project with Dune": [[53, "building-a-rocq-project-with-dune"]], "rocq dep: Computing Module dependencies": [[53, "rocq-dep-computing-module-dependencies"]], "Split compilation of native computation files": [[53, "split-compilation-of-native-computation-files"]], "Using Rocq as a library": [[53, "using-rocq-as-a-library"]], "Embedded Rocq phrases inside LaTeX documents": [[53, "embedded-rocq-phrases-inside-latex-documents"]], "Man pages": [[53, "man-pages"]], "Ltac": [[54, "ltac"]], "Example: Basic tactic macros": [[54, null]], "Defects": [[54, "defects"]], "Syntax": [[54, "syntax"], [55, "syntax"], [57, "syntax"], [71, "syntax"]], "Values": [[54, "values"]], "Syntactic values": [[54, "syntactic-values"]], "Substitution": [[54, "substitution"]], "Example: Substitution of global and local symbols": [[54, null]], "Local definitions: let": [[54, "local-definitions-let"]], "Function construction and application": [[54, "function-construction-and-application"]], "Tactics in terms": [[54, "tactics-in-terms"]], "Goal selectors": [[54, "goal-selectors"]], "Example: Selector reordering goals": [[54, "reordering-goals-ex"]], "Processing multiple goals": [[54, "processing-multiple-goals"]], "Example: Multiple focused goals": [[54, null]], "Branching and backtracking": [[54, "branching-and-backtracking"]], "Example: Backtracking": [[54, null]], "Control flow": [[54, "control-flow"], [57, "control-flow"]], "Sequence: ;": [[54, "sequence"]], "Do loop": [[54, "do-loop"]], "Repeat loop": [[54, "repeat-loop"]], "Catching errors: try": [[54, "catching-errors-try"]], "Conditional branching: tryif": [[54, "conditional-branching-tryif"]], "Alternatives": [[54, "alternatives"]], "Branching with backtracking: +": [[54, "branching-with-backtracking"]], "Example: Backtracking branching with +": [[54, null]], "Local application of tactics: [> ... ]": [[54, "local-application-of-tactics"]], "First tactic to succeed": [[54, "first-tactic-to-succeed"]], "Example: Backtracking inside a non-backtracking construct": [[54, null]], "Example: Referring to a list of tactics in Tactic Notation": [[54, null]], "Solving": [[54, "solving"]], "First tactic to make progress: ||": [[54, "first-tactic-to-make-progress"]], "Detecting progress": [[54, "detecting-progress"]], "Success and failure": [[54, "success-and-failure"]], "Checking for success: assert_succeeds": [[54, "checking-for-success-assert-succeeds"]], "Checking for failure: assert_fails": [[54, "checking-for-failure-assert-fails"]], "Failing": [[54, "failing"]], "Soft cut: once": [[54, "soft-cut-once"]], "Checking for a single success: exactly_once": [[54, "checking-for-a-single-success-exactly-once"]], "Manipulating values": [[54, "manipulating-values"]], "Pattern matching on terms: match": [[54, "pattern-matching-on-terms-match"]], "Example: Comparison of lazymatch and match": [[54, null]], "Example: Comparison of match and multimatch": [[54, null]], "Example: Matching a pattern with holes": [[54, null]], "Example: Multiple matches for a \"context\" pattern.": [[54, null]], "Pattern matching on goals and hypotheses: match goal": [[54, "pattern-matching-on-goals-and-hypotheses-match-goal"]], "Example: Matching hypotheses": [[54, null]], "Example: Matching hypotheses with reverse": [[54, null], [55, "ltac2-match-goal-hyps-rev-ex"]], "Example: Multiple ways to match hypotheses": [[54, null]], "Filling a term context": [[54, "filling-a-term-context"]], "Example: Substituting a matched context": [[54, null]], "Generating fresh hypothesis names": [[54, "generating-fresh-hypothesis-names"]], "Computing in a term: eval": [[54, "computing-in-a-term-eval"]], "Getting the type of a term": [[54, "getting-the-type-of-a-term"]], "Manipulating untyped terms: type_term": [[54, "manipulating-untyped-terms-type-term"]], "Counting goals: numgoals": [[54, "counting-goals-numgoals"]], "Testing boolean expressions: guard": [[54, "testing-boolean-expressions-guard"]], "Example: guard": [[54, null]], "Checking properties of terms": [[54, "checking-properties-of-terms"]], "Example: is_fix": [[54, null]], "Example: is_cofix": [[54, null]], "Example: is_proj": [[54, null]], "Timing": [[54, "timing"]], "Timeout": [[54, "timeout"]], "Timing a tactic": [[54, "timing-a-tactic"]], "Timing a tactic that evaluates to a term: time_constr": [[54, "timing-a-tactic-that-evaluates-to-a-term-time-constr"]], "Print/identity tactic: idtac": [[54, "print-identity-tactic-idtac"]], "Tactic toplevel definitions": [[54, "tactic-toplevel-definitions"]], "Defining Ltac symbols": [[54, "defining-ltac-symbols"]], "Printing Ltac tactics": [[54, "printing-ltac-tactics"]], "Examples of using Ltac": [[54, "examples-of-using-ltac"]], "Proof that the natural numbers have at least two elements": [[54, "proof-that-the-natural-numbers-have-at-least-two-elements"]], "Example: Proof that the natural numbers have at least two elements": [[54, null]], "Proving that a list is a permutation of a second list": [[54, "proving-that-a-list-is-a-permutation-of-a-second-list"]], "Example: Proving that a list is a permutation of a second list": [[54, null]], "Deciding intuitionistic propositional logic": [[54, "deciding-intuitionistic-propositional-logic"]], "Deciding type isomorphisms": [[54, "deciding-type-isomorphisms"]], "Debugging Ltac tactics": [[54, "debugging-ltac-tactics"]], "Backtraces": [[54, "backtraces"]], "Tracing execution": [[54, "tracing-execution"]], "Interactive debugger": [[54, "interactive-debugger"]], "Profiling Ltac tactics": [[54, "profiling-ltac-tactics"]], "Run-time optimization tactic": [[54, "run-time-optimization-tactic"]], "Ltac2": [[55, "ltac2"]], "General design": [[55, "general-design"]], "ML component": [[55, "ml-component"]], "Overview": [[55, "overview"], [55, "id3"]], "Type Syntax": [[55, "type-syntax"]], "Type declarations": [[55, "type-declarations"]], "APIs": [[55, "apis"]], "Term Syntax": [[55, "term-syntax"]], "Ltac2 Definitions": [[55, "ltac2-definitions"]], "Example: Dynamic nature of mutable cells": [[55, null]], "Example: Interaction with recursive calls": [[55, null]], "Printing Ltac2 tactics": [[55, "printing-ltac2-tactics"]], "Typing": [[55, "typing"]], "Effects": [[55, "effects"]], "Standard IO": [[55, "standard-io"]], "Fatal errors": [[55, "fatal-errors"]], "Backtracking": [[55, "backtracking"], [59, "backtracking"]], "Goals": [[55, "goals"]], "Meta-programming": [[55, "meta-programming"]], "Quotations": [[55, "quotations"]], "Built-in quotations": [[55, "built-in-quotations"]], "Strict vs. non-strict mode": [[55, "strict-vs-non-strict-mode"]], "Term Antiquotations": [[55, "term-antiquotations"]], "Semantics": [[55, "semantics"]], "Static semantics": [[55, "static-semantics"]], "Dynamic semantics": [[55, "dynamic-semantics"]], "Match over terms": [[55, "match-over-terms"]], "Example: Ltac2 Comparison of lazy_match! and match!": [[55, "ltac2-match-vs-lazymatch-ex"]], "Example: Ltac2 Comparison of match! and multi_match!": [[55, "ltac2-match-vs-multimatch-ex"]], "Example: Ltac2 Multiple matches for a \"context\" pattern.": [[55, "ltac2-match-term-context-ex"]], "Match over goals": [[55, "match-over-goals"]], "Example: Ltac2 Matching hypotheses": [[55, "ltac2-match-goal-hyps-ex"]], "Example: Multiple ways to match a hypotheses": [[55, "ltac2-match-goal-multiple-hyps-ex"]], "Match on values": [[55, "match-on-values"]], "Example: Printing a term": [[55, null]], "Example: Parsing a list of terms": [[55, null]], "Abbreviations": [[55, "abbreviations"], [57, "abbreviations"], [71, "abbreviations"]], "Defining tactics": [[55, "defining-tactics"]], "Syntactic classes": [[55, "syntactic-classes"]], "Evaluation": [[55, "evaluation"]], "Debug": [[55, "debug"]], "Compatibility layer with Ltac1": [[55, "compatibility-layer-with-ltac1"]], "Ltac1 from Ltac2": [[55, "ltac1-from-ltac2"]], "Simple API": [[55, "simple-api"]], "Low-level API": [[55, "low-level-api"]], "Ltac2 from Ltac1": [[55, "ltac2-from-ltac1"]], "Switching between Ltac languages": [[55, "switching-between-ltac-languages"]], "Transition from Ltac1": [[55, "transition-from-ltac1"]], "Syntax changes": [[55, "syntax-changes"]], "Tactic delay": [[55, "tactic-delay"]], "Variable binding": [[55, "variable-binding"]], "In Ltac expressions": [[55, "in-ltac-expressions"]], "In quotations": [[55, "in-quotations"]], "Exception catching": [[55, "exception-catching"]], "The SSReflect proof language": [[57, "the-ssr-proof-language"]], "Introduction": [[57, "introduction"]], "Acknowledgments": [[57, "acknowledgments"]], "Getting started": [[57, "getting-started"]], "Compatibility issues": [[57, "compatibility-issues"]], "Gallina extensions": [[57, "gallina-extensions"]], "Pattern assignment": [[57, "pattern-assignment"]], "Pattern conditional": [[57, "pattern-conditional"]], "Parametric polymorphism": [[57, "parametric-polymorphism"]], "Anonymous arguments": [[57, "anonymous-arguments"]], "Wildcards": [[57, "wildcards"]], "Matching": [[57, "matching"]], "Occurrence selection": [[57, "occurrence-selection"]], "Basic localization": [[57, "basic-localization"]], "Basic tactics": [[57, "basic-tactics"]], "Bookkeeping": [[57, "bookkeeping"]], "The defective tactics": [[57, "the-defective-tactics"]], "The move tactic.": [[57, "the-move-tactic"]], "The case tactic": [[57, "the-case-tactic"]], "The elim tactic": [[57, "the-elim-tactic"]], "The apply tactic": [[57, "the-apply-tactic"]], "Discharge": [[57, "discharge"]], "Clear rules": [[57, "clear-rules"]], "Matching for apply and exact": [[57, "matching-for-apply-and-exact"]], "The abstract tactic": [[57, "the-abstract-tactic"]], "Introduction in the context": [[57, "introduction-in-the-context"]], "Simplification items": [[57, "simplification-items"]], "Views": [[57, "views"]], "Intro patterns": [[57, "intro-patterns"], [58, "intro-patterns"]], "Clear switch": [[57, "clear-switch"]], "Branching and destructuring": [[57, "branching-and-destructuring"]], "Block introduction": [[57, "block-introduction"]], "Generation of equations": [[57, "generation-of-equations"]], "Type families": [[57, "type-families"]], "Indentation and bullets": [[57, "indentation-and-bullets"]], "Terminators": [[57, "terminators"]], "Selectors": [[57, "selectors"]], "Iteration": [[57, "iteration"]], "Localization": [[57, "localization"]], "Structure": [[57, "structure"]], "The have tactic.": [[57, "the-have-tactic"]], "Generating let in context entries with have": [[57, "generating-let-in-context-entries-with-have"]], "The have tactic and typeclass resolution": [[57, "the-have-tactic-and-typeclass-resolution"]], "Variants: the suff and wlog tactics": [[57, "variants-the-suff-and-wlog-tactics"]], "Advanced generalization": [[57, "advanced-generalization"]], "Rewriting": [[57, "rewriting"]], "An extended rewrite tactic": [[57, "an-extended-rewrite-tactic"]], "Remarks and examples": [[57, "remarks-and-examples"]], "Rewrite redex selection": [[57, "rewrite-redex-selection"]], "Chained rewrite steps": [[57, "chained-rewrite-steps"]], "Explicit redex switches are matched first": [[57, "explicit-redex-switches-are-matched-first"]], "Occurrence switches and redex switches": [[57, "occurrence-switches-and-redex-switches"]], "Occurrence selection and repetition": [[57, "occurrence-selection-and-repetition"]], "Multi-rule rewriting": [[57, "multi-rule-rewriting"]], "Wildcards vs abstractions": [[57, "wildcards-vs-abstractions"]], "When SSReflect rewrite fails on standard Rocq licit rewrite": [[57, "when-ssr-rewrite-fails-on-standard-rocq-licit-rewrite"]], "Existential metavariables and rewriting": [[57, "existential-metavariables-and-rewriting"]], "The under tactic": [[57, "the-under-tactic"]], "The over tactic": [[57, "the-over-tactic"]], "One-liner mode": [[57, "one-liner-mode"]], "Locking, unlocking": [[57, "locking-unlocking"]], "Congruence": [[57, "congruence"]], "Contextual patterns": [[57, "contextual-patterns"]], "Matching contextual patterns": [[57, "matching-contextual-patterns"]], "Contextual pattern in set and the : tactical": [[57, "contextual-pattern-in-set-and-the-tactical"]], "Contextual patterns in rewrite": [[57, "contextual-patterns-in-rewrite"]], "Patterns for recurrent contexts": [[57, "patterns-for-recurrent-contexts"]], "Views and reflection": [[57, "views-and-reflection"]], "Interpreting eliminations": [[57, "interpreting-eliminations"]], "Interpreting assumptions": [[57, "interpreting-assumptions"], [57, "id16"]], "Specializing assumptions": [[57, "specializing-assumptions"], [57, "id15"]], "Interpreting goals": [[57, "interpreting-goals"], [57, "id17"]], "Boolean reflection": [[57, "boolean-reflection"]], "The reflect predicate": [[57, "the-reflect-predicate"]], "General mechanism for interpreting goals and assumptions": [[57, "general-mechanism-for-interpreting-goals-and-assumptions"]], "Interpreting equivalences": [[57, "interpreting-equivalences"]], "Declaring new Hint Views": [[57, "declaring-new-hint-views"]], "Multiple views": [[57, "multiple-views"]], "Additional view shortcuts": [[57, "additional-view-shortcuts"]], "Synopsis and Index": [[57, "synopsis-and-index"]], "Parameters": [[57, "parameters"]], "Items and switches": [[57, "items-and-switches"]], "Tacticals": [[57, "tacticals"]], "Common elements of tactics": [[58, "common-elements-of-tactics"]], "Reserved keywords": [[58, "reserved-keywords"]], "Invocation of tactics": [[58, "invocation-of-tactics"]], "Bindings": [[58, "bindings"]], "Example: intro pattern for /\\": [[58, null]], "Example: intro pattern for \\/": [[58, null]], "Example: -> intro pattern": [[58, null]], "Example: [=] intro pattern": [[58, null]], "Example: (A & B & \u2026) intro pattern": [[58, null]], "Example: * intro pattern": [[58, null]], "Example: ** pattern (\"intros **\" is equivalent to \"intros\")": [[58, null]], "Example: compound intro pattern": [[58, null]], "Example: combined intro pattern using [=] -> and %": [[58, null]], "Occurrence clauses": [[58, "occurrence-clauses"]], "Applying theorems": [[58, "applying-theorems"]], "Example: Backward reasoning in the goal with apply": [[58, "apply-backward"]], "Example: Backward reasoning in the goal with apply including a premise": [[58, "apply-backward-w-premises"]], "Example: Forward reasoning in hypotheses with apply": [[58, "apply-forward"]], "Example: Apply a theorem with a binding in a goal": [[58, "apply-with-binding-goal"]], "Example: Apply a theorem with a binding in a hypothesis": [[58, "apply-with-binding-hyp"]], "Example: Applying theorems with <->": [[58, "apply-with-iff"]], "Example: Special case of second-order unification in apply": [[58, "example-apply-pattern"]], "Managing the local context": [[58, "managing-the-local-context"]], "Example: intro and intros": [[58, "intro-examples"]], "Example: intros until": [[58, null]], "Example: move": [[58, null]], "Example: set with a simple_binder": [[58, null]], "Controlling the proof flow": [[58, "controlling-the-proof-flow"]], "Example: partial application in specialize": [[58, null]], "Example: specialize with a non-dependent product": [[58, null]], "Example: contradiction tactic": [[58, null]], "Classical tactics": [[58, "classical-tactics"]], "Performance-oriented tactic variants": [[58, "performance-oriented-tactic-variants"]], "Displaying": [[59, "displaying"]], "Query commands": [[59, "query-commands"]], "Example: Searching for a pattern": [[59, "search-pattern"]], "Example: Searching for part of an identifier": [[59, "search-part-ident"]], "Example: Searching for a reference by notation": [[59, "search-by-notation"]], "Example: Disambiguating between part of identifier and notation": [[59, "search-disambiguate-notation"]], "Example: Search in hypotheses": [[59, "search-hyp"]], "Example: Search in conclusion": [[59, "search-concl"]], "Example: Search by keyword or status": [[59, "search-by-keyword"]], "Example: SearchPattern examples": [[59, null]], "Example: SearchRewrite examples": [[59, null]], "Requests to the environment": [[59, "requests-to-the-environment"]], "Example: Locate examples": [[59, null]], "Printing flags": [[59, "printing-flags"]], "Loading files": [[59, "loading-files"]], "Compiled files": [[59, "compiled-files"]], "Load paths": [[59, "load-paths"]], "Extra Dependencies": [[59, "extra-dependencies"]], "Quitting and debugging": [[59, "quitting-and-debugging"]], "Controlling display": [[59, "controlling-display"]], "Printing constructions in full": [[59, "printing-constructions-in-full"]], "Controlling Typing Flags": [[59, "controlling-typing-flags"]], "Internal registration commands": [[59, "internal-registration-commands"]], "Exposing constants to OCaml libraries": [[59, "exposing-constants-to-ocaml-libraries"]], "Inlining hints for the fast reduction machines": [[59, "inlining-hints-for-the-fast-reduction-machines"]], "Registering primitive operations": [[59, "registering-primitive-operations"]], "Programmable proof search": [[60, "programmable-proof-search"]], "Example: Ackermann function": [[60, null]], "Example: MacCarthy function": [[60, null]], "Hint databases": [[60, "hint-databases"]], "Creating hint databases": [[60, "creating-hint-databases"]], "Hint databases defined in the Rocq standard library": [[60, "hint-databases-defined-in-the-rocq-standard-library"]], "Creating Hints": [[60, "creating-hints"]], "Example: Logic programming with addition on natural numbers": [[60, null]], "Hint locality": [[60, "hint-locality"]], "Setting implicit automation tactics": [[60, "setting-implicit-automation-tactics"]], "Automatic solvers and programmable tactics": [[61, "automatic-solvers-and-programmable-tactics"]], "Solvers for logic and equality": [[62, "solvers-for-logic-and-equality"]], "Creating new tactics": [[63, "creating-new-tactics"]], "Reasoning with equalities": [[64, "reasoning-with-equalities"]], "Tactics for simple equalities": [[64, "tactics-for-simple-equalities"]], "Rewriting with Leibniz and setoid equality": [[64, "rewriting-with-leibniz-and-setoid-equality"]], "Rewriting with definitional equality": [[64, "rewriting-with-definitional-equality"]], "Applying conversion rules": [[64, "applying-conversion-rules"]], "Example: fold doesn't always undo unfold": [[64, null]], "Example: Use fold to reverse unfolding of fold_right": [[64, null]], "Fast reduction tactics: vm_compute and native_compute": [[64, "fast-reduction-tactics-vm-compute-and-native-compute"]], "Computing in a term: eval and Eval": [[64, "computing-in-a-term-eval-and-eval"]], "Controlling reduction strategies and the conversion algorithm": [[64, "controlling-reduction-strategies-and-the-conversion-algorithm"]], "Basic proof writing": [[65, "basic-proof-writing"]], "Proof mode": [[66, "proof-mode"]], "Proof State": [[66, "proof-state"]], "Entering and exiting proof mode": [[66, "entering-and-exiting-proof-mode"]], "Example: Declaring section variables": [[66, null]], "Proof using options": [[66, "proof-using-options"]], "Name a set of section hypotheses for Proof using": [[66, "name-a-set-of-section-hypotheses-for-proof-using"]], "Proof modes": [[66, "proof-modes"]], "Managing goals": [[66, "managing-goals"]], "Focusing goals": [[66, "focusing-goals"]], "Curly braces": [[66, "curly-braces"]], "Example: Working with named goals": [[66, null]], "Bullets": [[66, "bullets"]], "Example: Use of bullets": [[66, null]], "Other focusing commands": [[66, "other-focusing-commands"]], "Shelving goals": [[66, "shelving-goals"]], "Example: shelve_unifiable": [[66, null]], "Reordering goals": [[66, "reordering-goals"]], "Example: cycle": [[66, null]], "Example: swap": [[66, null]], "Example: revgoals": [[66, null]], "Proving a subgoal as a separate lemma: abstract": [[66, "proving-a-subgoal-as-a-separate-lemma-abstract"]], "Requesting information": [[66, "requesting-information"]], "Showing differences between proof steps": [[66, "showing-differences-between-proof-steps"]], "How to enable diffs": [[66, "how-to-enable-diffs"]], "How diffs are calculated": [[66, "how-diffs-are-calculated"]], "\"Show Proof\" differences": [[66, "show-proof-differences"]], "Delaying solving unification constraints": [[66, "delaying-solving-unification-constraints"]], "Proof maintenance": [[66, "proof-maintenance"]], "Controlling proof mode": [[66, "controlling-proof-mode"]], "Controlling memory usage": [[66, "controlling-memory-usage"]], "Reasoning with inductive types": [[67, "reasoning-with-inductive-types"]], "Applying constructors": [[67, "applying-constructors"]], "Example: constructor, left and right": [[67, null]], "Case analysis": [[67, "case-analysis"]], "Example: Using destruct on an argument with premises": [[67, "example-destruct-ind-concl"]], "Induction": [[67, "induction"]], "Example: induction with occurrences": [[67, null]], "Equality of inductive types": [[67, "equality-of-inductive-types"]], "Example: Proving 1 <> 2": [[67, null]], "Example: discriminate limitation: proving n <> S n": [[67, null]], "Example: inversion with as or_and_intropattern": [[67, null]], "Example: Non-dependent inversion": [[67, null]], "Example: Dependent inversion": [[67, null]], "Example: Using inversion_sigma": [[67, null]], "Helper tactics": [[67, "helper-tactics"]], "Example: Using decide to rewrite the goal": [[67, null]], "Generation of induction principles with Scheme": [[67, "generation-of-induction-principles-with-scheme"]], "Example: Induction scheme for tree and forest": [[67, null]], "Example: Predicates odd and even on naturals": [[67, null]], "Example: Scheme commands with various scheme_types": [[67, null]], "Automatic declaration of schemes": [[67, "automatic-declaration-of-schemes"]], "Combined Scheme": [[67, "combined-scheme"]], "Generation of inversion principles with Derive Inversion": [[67, "generation-of-inversion-principles-with-derive-inversion"]], "Examples of dependent destruction / dependent induction": [[67, "examples-of-dependent-destruction-dependent-induction"]], "A larger example": [[67, "a-larger-example"]], "Glossary index": [[69, "glossary-index"]], "Syntax extensions and notation scopes": [[71, "syntax-extensions-and-notation-scopes"]], "Basic notations": [[71, "basic-notations"]], "Precedences and associativity": [[71, "precedences-and-associativity"]], "Complex notations": [[71, "complex-notations"]], "Simple factorization rules": [[71, "simple-factorization-rules"]], "Use of notations for printing": [[71, "use-of-notations-for-printing"]], "The Infix command": [[71, "the-infix-command"]], "Reserving notations": [[71, "reserving-notations"]], "Simultaneous definition of terms and notations": [[71, "simultaneous-definition-of-terms-and-notations"]], "Enabling and disabling notations": [[71, "enabling-and-disabling-notations"]], "Example: Enabling and disabling notations": [[71, null]], "Displaying information about notations": [[71, "displaying-information-about-notations"]], "Example: Print Notation": [[71, null]], "Locating notations": [[71, "locating-notations"]], "Inheritance of the properties of arguments of constants bound to a notation": [[71, "inheritance-of-the-properties-of-arguments-of-constants-bound-to-a-notation"]], "Notations and binders": [[71, "notations-and-binders"]], "Binders bound in the notation and parsed as identifiers": [[71, "binders-bound-in-the-notation-and-parsed-as-identifiers"]], "Binders bound in the notation and parsed as patterns": [[71, "binders-bound-in-the-notation-and-parsed-as-patterns"]], "Binders bound in the notation and parsed as terms": [[71, "binders-bound-in-the-notation-and-parsed-as-terms"]], "Binders bound in the notation and parsed as general binders": [[71, "binders-bound-in-the-notation-and-parsed-as-general-binders"]], "Binders not bound in the notation": [[71, "binders-not-bound-in-the-notation"]], "Notations with expressions used both as binder and term": [[71, "notations-with-expressions-used-both-as-binder-and-term"]], "Notations with recursive patterns": [[71, "notations-with-recursive-patterns"]], "Notations with recursive patterns involving binders": [[71, "notations-with-recursive-patterns-involving-binders"]], "Predefined entries": [[71, "predefined-entries"]], "Custom entries": [[71, "custom-entries"]], "Notation scopes": [[71, "notation-scopes"]], "Global interpretation rules for notations": [[71, "global-interpretation-rules-for-notations"]], "Local interpretation rules for notations": [[71, "local-interpretation-rules-for-notations"]], "Opening a notation scope locally": [[71, "opening-a-notation-scope-locally"]], "Binding types or coercion classes to notation scopes": [[71, "binding-types-or-coercion-classes-to-notation-scopes"]], "Example: Binding scopes to a type": [[71, null]], "The type_scope notation scope": [[71, "the-type-scope-notation-scope"]], "The function_scope notation scope": [[71, "the-function-scope-notation-scope"]], "Notation scopes used in the standard library of Rocq": [[71, "notation-scopes-used-in-the-standard-library-of-rocq"]], "Displaying information about scopes": [[71, "displaying-information-about-scopes"]], "Numbers and strings": [[71, "numbers-and-strings"]], "Number notations": [[71, "number-notations"]], "String notations": [[71, "string-notations"]], "Example: Number Notation for radix 3": [[71, null]], "Example: Number Notation for primitive integers": [[71, "example-number-notation-primitive-int"]], "Example: Number Notation for a non-inductive type": [[71, "example-number-notation-non-inductive"]], "Example: Number Notation with implicit arguments": [[71, "example-number-notation-implicit-args"]], "Example: String Notation with a parameterized inductive type": [[71, "example-string-notation-parameterized-inductive"]], "Tactic Notations": [[71, "tactic-notations"]], "Functional induction": [[72, "functional-induction"]], "Advanced recursive functions": [[72, "advanced-recursive-functions"]], "Generation of induction principles with Functional Scheme": [[72, "generation-of-induction-principles-with-functional-scheme"]], "Libraries and plugins": [[73, "libraries-and-plugins"]], "Writing Rocq libraries and plugins": [[74, "writing-rocq-libraries-and-plugins"]], "Deprecating library objects, tactics or library files": [[74, "deprecating-library-objects-tactics-or-library-files"]], "Triggering warning for library objects or library files": [[74, "triggering-warning-for-library-objects-or-library-files"]], "Example: Deprecating a tactic.": [[74, null]], "Example: Introducing a compatibility alias": [[74, "compatibility-alias"]], "Documenting Rocq files with rocq doc": [[75, "documenting-rocq-files-with-rocq-doc"]], "Principles": [[75, "principles"]], "Rocq material inside documentation.": [[75, "rocq-material-inside-documentation"]], "Pretty-printing.": [[75, "pretty-printing"]], "Lists.": [[75, "lists"]], "Rules.": [[75, "rules"]], "Emphasis.": [[75, "emphasis"]], "Escaping to LaTeX and HTML.": [[75, "escaping-to-latex-and-html"]], "Verbatim": [[75, "verbatim"]], "Hyperlinks": [[75, "hyperlinks"]], "Hiding / Showing parts of the source": [[75, "hiding-showing-parts-of-the-source"]], "The rocq doc LaTeX style file": [[75, "the-rocq-doc-latex-style-file"]], "Command-line and graphical tools": [[76, "command-line-and-graphical-tools"]], "Bibliography": [[77, "bibliography"]]}, "indexentries": {"cd (command)": [[2, "coq:cmd.Cd"]], "extract callback (command)": [[2, "coq:cmd.Extract-Callback"]], "extract callback is supported only for ocaml extraction (error)": [[2, "coq:exn.Extract-Callback-is-supported-only-for-OCaml-extraction"]], "extract constant (command)": [[2, "coq:cmd.Extract-Constant"]], "extract foreign constant (command)": [[2, "coq:cmd.Extract-Foreign-Constant"]], "extract foreign constant is supported only for ocaml extraction (error)": [[2, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-OCaml-extraction"]], "extract foreign constant is supported only for functions (error)": [[2, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-functions"]], "extract inductive (command)": [[2, "coq:cmd.Extract-Inductive"]], "extract inlined constant (command)": [[2, "coq:cmd.Extract-Inlined-Constant"]], "extraction (command)": [[2, "coq:cmd.Extraction"]], "extraction autoinline (flag)": [[2, "coq:flag.Extraction-AutoInline"]], "extraction blacklist (command)": [[2, "coq:cmd.Extraction-Blacklist"]], "extraction conservative types (flag)": [[2, "coq:flag.Extraction-Conservative-Types"]], "extraction file comment (option)": [[2, "coq:opt.Extraction-File-Comment"]], "extraction flag (option)": [[2, "coq:opt.Extraction-Flag"]], "extraction implicit (command)": [[2, "coq:cmd.Extraction-Implicit"]], "extraction inline (command)": [[2, "coq:cmd.Extraction-Inline"]], "extraction keepsingleton (flag)": [[2, "coq:flag.Extraction-KeepSingleton"]], "extraction language (command)": [[2, "coq:cmd.Extraction-Language"]], "extraction library (command)": [[2, "coq:cmd.Extraction-Library"]], "extraction noinline (command)": [[2, "coq:cmd.Extraction-NoInline"]], "extraction optimize (flag)": [[2, "coq:flag.Extraction-Optimize"]], "extraction output directory (option)": [[2, "coq:opt.Extraction-Output-Directory"]], "extraction safeimplicits (flag)": [[2, "coq:flag.Extraction-SafeImplicits"]], "extraction testcompile (command)": [[2, "coq:cmd.Extraction-TestCompile"]], "extraction typeexpand (flag)": [[2, "coq:flag.Extraction-TypeExpand"]], "print extraction blacklist (command)": [[2, "coq:cmd.Print-Extraction-Blacklist"]], "print extraction callback (command)": [[2, "coq:cmd.Print-Extraction-Callback"]], "print extraction foreign (command)": [[2, "coq:cmd.Print-Extraction-Foreign"]], "print extraction inline (command)": [[2, "coq:cmd.Print-Extraction-Inline"]], "pwd (command)": [[2, "coq:cmd.Pwd"]], "recursive extraction (command)": [[2, "coq:cmd.Recursive-Extraction"]], "recursive extraction library (command)": [[2, "coq:cmd.Recursive-Extraction-Library"]], "reset extraction blacklist (command)": [[2, "coq:cmd.Reset-Extraction-Blacklist"]], "reset extraction callback (command)": [[2, "coq:cmd.Reset-Extraction-Callback"]], "reset extraction inline (command)": [[2, "coq:cmd.Reset-Extraction-Inline"]], "separate extraction (command)": [[2, "coq:cmd.Separate-Extraction"]], "show extraction (command)": [[2, "coq:cmd.Show-Extraction"]], "the term \u2018qualid\u2019 is already defined as foreign custom constant (error)": [[2, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-foreign-custom-constant"]], "the term \u2018qualid\u2019 is already defined as inline custom constant (error)": [[2, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-inline-custom-constant"]], "add morphism (command)": [[3, "coq:cmd.Add-Morphism"]], "add parametric morphism (command)": [[3, "coq:cmd.Add-Parametric-Morphism"]], "add parametric relation (command)": [[3, "coq:cmd.Add-Parametric-Relation"]], "add parametric setoid (command)": [[3, "coq:cmd.Add-Parametric-Setoid"]], "add relation (command)": [[3, "coq:cmd.Add-Relation"]], "add setoid (command)": [[3, "coq:cmd.Add-Setoid"]], "declare morphism (command)": [[3, "coq:cmd.Declare-Morphism"]], "no progress made (error)": [[3, "coq:exn.No-progress-made"]], "nothing to rewrite (error)": [[3, "coq:exn.Nothing-to-rewrite"]], "unable to satisfy the rewriting constraints (error)": [[3, "coq:exn.Unable-to-satisfy-the-rewriting-constraints"]], "head_of_constr (tactic)": [[3, "coq:tacn.head_of_constr"]], "rewrite_db (tactic)": [[3, "coq:tacn.rewrite_db"]], "rewrite_strat (tactic)": [[3, "coq:tacn.rewrite_strat"]], "setoid_etransitivity (tactic)": [[3, "coq:tacn.setoid_etransitivity"]], "setoid_reflexivity (tactic)": [[3, "coq:tacn.setoid_reflexivity"]], "setoid_replace (tactic)": [[3, "coq:tacn.setoid_replace"]], "setoid_rewrite (tactic)": [[3, "coq:tacn.setoid_rewrite"]], "setoid_symmetry (tactic)": [[3, "coq:tacn.setoid_symmetry"]], "setoid_transitivity (tactic)": [[3, "coq:tacn.setoid_transitivity"]], "... is not definitionally an identity function (warning)": [[4, "coq:warn....-is-not-definitionally-an-identity-function"]], ":> (coercion)": [[4, "index-0"]], "cannot find the source class of \u2018qualid\u2019 (error)": [[4, "coq:exn.Cannot-find-the-source-class-of-\u2018qualid\u2019"]], "cannot find the target class (error)": [[4, "coq:exn.Cannot-find-the-target-class"]], "cannot recognize \u2018coercion_class\u2019 as a source class of \u2018qualid\u2019 (error)": [[4, "coq:exn.Cannot-recognize-\u2018coercion_class\u2019-as-a-source-class-of-\u2018qualid\u2019"]], "coercion (command)": [[4, "coq:cmd.Coercion"]], "found target class \u2018coercion_class\u2019 instead of \u2018coercion_class\u2019 (error)": [[4, "coq:exn.Found-target-class-\u2018coercion_class\u2019-instead-of-\u2018coercion_class\u2019"]], "funclass cannot be a source class (error)": [[4, "coq:exn.Funclass-cannot-be-a-source-class"]], "identity coercion (command)": [[4, "coq:cmd.Identity-Coercion"]], "new coercion path ... is ambiguous with existing ... (warning)": [[4, "coq:warn.New-coercion-path-...-is-ambiguous-with-existing-..."]], "print classes (command)": [[4, "coq:cmd.Print-Classes"]], "print coercion paths (command)": [[4, "coq:cmd.Print-Coercion-Paths"]], "print coercions (command)": [[4, "coq:cmd.Print-Coercions"]], "print graph (command)": [[4, "coq:cmd.Print-Graph"]], "printing coercion (table)": [[4, "coq:table.Printing-Coercion"]], "printing coercions (flag)": [[4, "coq:flag.Printing-Coercions"]], "subclass (command)": [[4, "coq:cmd.SubClass"]], "nonuniform (attribute)": [[4, "coq:attr.nonuniform"]], "reversible (attribute)": [[4, "coq:attr.reversible"]], "\u2018coercion_class\u2019 must be a transparent constant (error)": [[4, "coq:exn.\u2018coercion_class\u2019-must-be-a-transparent-constant"]], "\u2018qualid\u2019 does not respect the uniform inheritance condition (warning)": [[4, "coq:warn.\u2018qualid\u2019-does-not-respect-the-uniform-inheritance-condition"]], "\u2018qualid\u2019 is already a coercion (error)": [[4, "coq:exn.\u2018qualid\u2019-is-already-a-coercion"]], "\u2018qualid\u2019 is not a function (error)": [[4, "coq:exn.\u2018qualid\u2019-is-not-a-function"]], "\u2018qualid\u2019 not declared (error)": [[4, "coq:exn.\u2018qualid\u2019-not-declared"]], "add zify (command)": [[5, "coq:cmd.Add-Zify"]], "bound on the ceiling function (theorem)": [[5, "coq:thm.Bound-on-the-ceiling-function"]], "case split (theorem)": [[5, "coq:thm.Case-split"]], "dump arith (option)": [[5, "coq:opt.Dump-Arith"]], "info micromega (flag)": [[5, "coq:flag.Info-Micromega"]], "lia cache (flag)": [[5, "coq:flag.Lia-Cache"]], "nia cache (flag)": [[5, "coq:flag.Nia-Cache"]], "nra cache (flag)": [[5, "coq:flag.Nra-Cache"]], "psatz (theorem)": [[5, "coq:thm.Psatz"]], "show lia profile (command)": [[5, "coq:cmd.Show-Lia-Profile"]], "show zify (command)": [[5, "coq:cmd.Show-Zify"]], "lia (tactic)": [[5, "coq:tacn.lia"]], "lra (tactic)": [[5, "coq:tacn.lra"]], "nia (tactic)": [[5, "coq:tacn.nia"]], "nra (tactic)": [[5, "coq:tacn.nra"]], "psatz (tactic)": [[5, "coq:tacn.psatz"]], "wlia (tactic)": [[5, "coq:tacn.wlia"]], "wlra_q (tactic)": [[5, "coq:tacn.wlra_Q"]], "wnia (tactic)": [[5, "coq:tacn.wnia"]], "wnra_q (tactic)": [[5, "coq:tacn.wnra_Q"]], "wpsatz_q (tactic)": [[5, "coq:tacn.wpsatz_Q"]], "wpsatz_z (tactic)": [[5, "coq:tacn.wpsatz_Z"]], "wsos_q (tactic)": [[5, "coq:tacn.wsos_Q"]], "wsos_z (tactic)": [[5, "coq:tacn.wsos_Z"]], "xlia (tactic)": [[5, "coq:tacn.xlia"]], "xlra_q (tactic)": [[5, "coq:tacn.xlra_Q"]], "xlra_r (tactic)": [[5, "coq:tacn.xlra_R"]], "xnia (tactic)": [[5, "coq:tacn.xnia"]], "xnra_q (tactic)": [[5, "coq:tacn.xnra_Q"]], "xnra_r (tactic)": [[5, "coq:tacn.xnra_R"]], "xpsatz_q (tactic)": [[5, "coq:tacn.xpsatz_Q"]], "xpsatz_r (tactic)": [[5, "coq:tacn.xpsatz_R"]], "xpsatz_z (tactic)": [[5, "coq:tacn.xpsatz_Z"]], "xsos_q (tactic)": [[5, "coq:tacn.xsos_Q"]], "xsos_r (tactic)": [[5, "coq:tacn.xsos_R"]], "xsos_z (tactic)": [[5, "coq:tacn.xsos_Z"]], "zify (tactic)": [[5, "coq:tacn.zify"]], "zify_elim_let (tactic)": [[5, "coq:tacn.zify_elim_let"]], "zify_iter_let (tactic)": [[5, "coq:tacn.zify_iter_let"]], "zify_iter_specs (tactic)": [[5, "coq:tacn.zify_iter_specs"]], "zify_op (tactic)": [[5, "coq:tacn.zify_op"]], "zify_saturate (tactic)": [[5, "coq:tacn.zify_saturate"]], "derive (command)": [[6, "coq:cmd.Derive"]], "nsatz (tactic)": [[7, "coq:tacn.nsatz"]], "nsatz_compute (tactic)": [[7, "coq:tacn.nsatz_compute"]], "admit obligations (command)": [[9, "coq:cmd.Admit-Obligations"]], "final obligation (command)": [[9, "coq:cmd.Final-Obligation"]], "ill-formed recursive definition (error)": [[9, "coq:exn.Ill-formed-recursive-definition"]], "next obligation (command)": [[9, "coq:cmd.Next-Obligation"]], "non extensible universe declaration not supported with monomorphic program definition (error)": [[9, "coq:exn.Non-extensible-universe-declaration-not-supported-with-monomorphic-Program-Definition"]], "obligation (command)": [[9, "coq:cmd.Obligation"]], "obligation tactic (command)": [[9, "coq:cmd.Obligation-Tactic"]], "obligations (command)": [[9, "coq:cmd.Obligations"]], "preterm (command)": [[9, "coq:cmd.Preterm"]], "program (attribute)": [[9, "coq:attr.Program"], [9, "coq:attr.program"]], "program cases (flag)": [[9, "coq:flag.Program-Cases"]], "program generalized coercion (flag)": [[9, "coq:flag.Program-Generalized-Coercion"]], "program mode (flag)": [[9, "coq:flag.Program-Mode"]], "show obligation tactic (command)": [[9, "coq:cmd.Show-Obligation-Tactic"]], "solve all obligations (command)": [[9, "coq:cmd.Solve-All-Obligations"]], "solve obligations (command)": [[9, "coq:cmd.Solve-Obligations"]], "transparent obligations (flag)": [[9, "coq:flag.Transparent-Obligations"]], "rewrite rule (command)": [[10, "coq:cmd.Rewrite-Rule"]], "rewrite rules (command)": [[10, "coq:cmd.Rewrite-Rules"]], "rewrite rule declaration requires passing the flag \"-allow-rewrite-rules\" (error)": [[10, "coq:exn.Rewrite-rule-declaration-requires-passing-the-flag-\"-allow-rewrite-rules\""]], "symbol (command)": [[10, "coq:cmd.Symbol"]], "symbols (command)": [[10, "coq:cmd.Symbols"]], "add field (command)": [[11, "coq:cmd.Add-Field"]], "add ring (command)": [[11, "coq:cmd.Add-Ring"]], "arguments of ring_simplify do not have all the same type (error)": [[11, "coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type"]], "bad lemma for decidability of equality (error)": [[11, "coq:exn.Bad-lemma-for-decidability-of-equality"]], "bad ring structure (error)": [[11, "coq:exn.Bad-ring-structure"]], "cannot find a declared ring structure for equality \u2018term\u2019 (error)": [[11, "coq:exn.Cannot-find-a-declared-ring-structure-for-equality-\u2018term\u2019"]], "cannot find a declared ring structure over \u2018term\u2019 (error)": [[11, "coq:exn.Cannot-find-a-declared-ring-structure-over-\u2018term\u2019"]], "not a valid ring equation (error)": [[11, "coq:exn.Not-a-valid-ring-equation"]], "print fields (command)": [[11, "coq:cmd.Print-Fields"]], "print rings (command)": [[11, "coq:cmd.Print-Rings"]], "ring operation should be declared as a morphism (error)": [[11, "coq:exn.Ring-operation-should-be-declared-as-a-morphism"]], "field (tactic)": [[11, "coq:tacn.field"]], "field_lookup (tactic)": [[11, "coq:tacn.field_lookup"]], "field_simplify (tactic)": [[11, "coq:tacn.field_simplify"]], "field_simplify_eq (tactic)": [[11, "coq:tacn.field_simplify_eq"]], "protect_fv (tactic)": [[11, "coq:tacn.protect_fv"]], "ring (tactic)": [[11, "coq:tacn.ring"]], "ring_lookup (tactic)": [[11, "coq:tacn.ring_lookup"]], "ring_simplify (tactic)": [[11, "coq:tacn.ring_simplify"]], "allow strictprop (flag)": [[12, "coq:flag.Allow-StrictProp"]], "bad relevance (warning)": [[12, "coq:warn.Bad-relevance"]], "definitional uip (flag)": [[12, "coq:flag.Definitional-UIP"]], "printing relevance marks (flag)": [[12, "coq:flag.Printing-Relevance-Marks"]], "sprop is disallowed because the \"allow strictprop\" flag is off (error)": [[12, "coq:exn.SProp-is-disallowed-because-the-\"Allow-StrictProp\"-flag-is-off"]], ":: (substructure)": [[13, "index-0"]], "class (command)": [[13, "coq:cmd.Class"]], "declare instance (command)": [[13, "coq:cmd.Declare-Instance"]], "existing class (command)": [[13, "coq:cmd.Existing-Class"]], "existing instance (command)": [[13, "coq:cmd.Existing-Instance"]], "existing instances (command)": [[13, "coq:cmd.Existing-Instances"]], "ignored instance declaration for \u201c\u2018ident\u2019\u201d: \u201c\u2018term\u2019\u201d is not a class (warning)": [[13, "coq:warn.Ignored-instance-declaration-for-\u201c\u2018ident\u2019\u201d:-\u201c\u2018term\u2019\u201d-is-not-a-class"]], "instance (command)": [[13, "coq:cmd.Instance"]], "print instances (command)": [[13, "coq:cmd.Print-Instances"]], "print typeclasses (command)": [[13, "coq:cmd.Print-Typeclasses"]], "typeclass resolution for conversion (flag)": [[13, "coq:flag.Typeclass-Resolution-For-Conversion"]], "typeclasses debug (flag)": [[13, "coq:flag.Typeclasses-Debug"]], "typeclasses debug verbosity (option)": [[13, "coq:opt.Typeclasses-Debug-Verbosity"]], "typeclasses default mode (option)": [[13, "coq:opt.Typeclasses-Default-Mode"]], "typeclasses dependency order (flag)": [[13, "coq:flag.Typeclasses-Dependency-Order"]], "typeclasses depth (option)": [[13, "coq:opt.Typeclasses-Depth"]], "typeclasses iterative deepening (flag)": [[13, "coq:flag.Typeclasses-Iterative-Deepening"]], "typeclasses limit intros (flag)": [[13, "coq:flag.Typeclasses-Limit-Intros"]], "typeclasses opaque (command)": [[13, "coq:cmd.Typeclasses-Opaque"]], "typeclasses strict resolution (flag)": [[13, "coq:flag.Typeclasses-Strict-Resolution"]], "typeclasses transparent (command)": [[13, "coq:cmd.Typeclasses-Transparent"]], "typeclasses unique instances (flag)": [[13, "coq:flag.Typeclasses-Unique-Instances"]], "typeclasses unique solutions (flag)": [[13, "coq:flag.Typeclasses-Unique-Solutions"]], "typeclasses eauto (command)": [[13, "coq:cmd.Typeclasses-eauto"]], "using inferred default mode: \u201cmode\u201d for \u201c\u2018ident\u2019\u201d (warning)": [[13, "coq:warn.Using-inferred-default-mode:-\u201cmode\u201d-for-\u201c\u2018ident\u2019\u201d"]], "autoapply (tactic)": [[13, "coq:tacn.autoapply"]], "mode (attribute)": [[13, "coq:attr.mode"]], "refine (attribute)": [[13, "coq:attr.refine"]], "typeclasses eauto (tactic)": [[13, "coq:tacn.typeclasses-eauto"]], "\u2018ident\u2019 is already declared as a typeclass (warning)": [[13, "coq:warn.\u2018ident\u2019-is-already-declared-as-a-typeclass"]], "constraint (command)": [[14, "coq:cmd.Constraint"]], "cumulative (attribute)": [[14, "coq:attr.Cumulative"]], "cumulativity weak constraints (flag)": [[14, "coq:flag.Cumulativity-Weak-Constraints"]], "monomorphic (attribute)": [[14, "coq:attr.Monomorphic"]], "noncumulative (attribute)": [[14, "coq:attr.NonCumulative"]], "polymorphic (attribute)": [[14, "coq:attr.Polymorphic"]], "polymorphic inductive cumulativity (flag)": [[14, "coq:flag.Polymorphic-Inductive-Cumulativity"]], "polymorphic universe constraints can only be declared inside sections, use monomorphic constraint instead (error)": [[14, "coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead"]], "polymorphic universes can only be declared inside sections, use monomorphic universe instead (error)": [[14, "coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead"]], "print universes (command)": [[14, "coq:cmd.Print-Universes"]], "printing universes (flag)": [[14, "coq:flag.Printing-Universes"]], "private polymorphic universes (flag)": [[14, "coq:flag.Private-Polymorphic-Universes"]], "strict universe declaration (flag)": [[14, "coq:flag.Strict-Universe-Declaration"]], "the cumulative attribute can only be used in a polymorphic context (error)": [[14, "coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context"]], "undeclared universe \u2018ident\u2019 (error)": [[14, "coq:exn.Undeclared-universe-\u2018ident\u2019"]], "universe (command)": [[14, "coq:cmd.Universe"]], "universe minimization toset (flag)": [[14, "coq:flag.Universe-Minimization-ToSet"]], "universe polymorphism (flag)": [[14, "coq:flag.Universe-Polymorphism"]], "universe inconsistency (error)": [[14, "coq:exn.Universe-inconsistency"]], "universes (command)": [[14, "coq:cmd.Universes"]], "universes(cumulative) (attribute)": [[14, "coq:attr.universes(cumulative)"]], "universes(polymorphic) (attribute)": [[14, "coq:attr.universes(polymorphic)"]], "* (term)": [[27, "index-9"]], "+ (term)": [[27, "index-9"]], "a*b (term)": [[27, "index-9"]], "a+b (term)": [[27, "index-9"]], "a+{b} (term)": [[27, "index-13"]], "acc (term)": [[27, "index-20"]], "acc_inv (term)": [[27, "index-20"]], "acc_rect (term)": [[27, "index-20"]], "choice (term)": [[27, "index-14"]], "choice2 (term)": [[27, "index-14"]], "connectives": [[27, "index-1"]], "datatypes": [[27, "index-7"]], "equality": [[27, "index-4"]], "exc (term)": [[27, "index-15"]], "false (term)": [[27, "index-1"], [27, "index-8"]], "false_rec (term)": [[27, "index-16"]], "false_rect (term)": [[27, "index-16"]], "fix_f (term)": [[27, "index-21"]], "fix_f_eq (term)": [[27, "index-21"]], "fix_f_inv (term)": [[27, "index-21"]], "fix_eq (term)": [[27, "index-21"]], "i (term)": [[27, "index-1"]], "issucc (term)": [[27, "index-17"]], "none (term)": [[27, "index-8"]], "o (term)": [[27, "index-8"]], "o_s (term)": [[27, "index-17"]], "programming": [[27, "index-8"]], "quantifiers": [[27, "index-3"]], "recursion": [[27, "index-20"]], "s (term)": [[27, "index-8"]], "some (term)": [[27, "index-8"]], "theories": [[27, "index-0"]], "true (term)": [[27, "index-1"], [27, "index-8"]], "well founded induction": [[27, "index-20"]], "well foundedness": [[27, "index-20"]], "absurd (term)": [[27, "index-5"]], "absurd_set (term)": [[27, "index-16"]], "all (term)": [[27, "index-3"]], "and (term)": [[27, "index-1"]], "and_rect (term)": [[27, "index-16"]], "bool (term)": [[27, "index-8"]], "bool_choice (term)": [[27, "index-14"]], "conj (term)": [[27, "index-1"]], "eq (term)": [[27, "index-4"]], "eq_s (term)": [[27, "index-17"]], "eq_add_s (term)": [[27, "index-17"]], "eq_ind_r (term)": [[27, "index-5"]], "eq_rec_r (term)": [[27, "index-5"]], "eq_rect (term)": [[27, "index-16"], [27, "index-5"]], "eq_rect_r (term)": [[27, "index-5"]], "eq_refl (term)": [[27, "index-4"]], "eq_sym (term)": [[27, "index-5"]], "eq_trans (term)": [[27, "index-5"]], "error (term)": [[27, "index-15"]], "ex (term)": [[27, "index-3"]], "ex2 (term)": [[27, "index-3"]], "ex_intro (term)": [[27, "index-3"]], "ex_intro2 (term)": [[27, "index-3"]], "exist (term)": [[27, "index-10"]], "exist2 (term)": [[27, "index-10"]], "existt (term)": [[27, "index-11"]], "existt2 (term)": [[27, "index-11"]], "exists (term)": [[27, "index-3"]], "exists2 (term)": [[27, "index-3"]], "f_equal (term)": [[27, "index-5"]], "f_equal2 ... f_equal5 (term)": [[27, "index-6"]], "fst (term)": [[27, "index-9"]], "ge (term)": [[27, "index-18"]], "gt (term)": [[27, "index-18"]], "identity (term)": [[27, "index-8"]], "iff (term)": [[27, "index-1"]], "inl (term)": [[27, "index-9"]], "inleft (term)": [[27, "index-13"]], "inr (term)": [[27, "index-9"]], "inright (term)": [[27, "index-13"]], "le (term)": [[27, "index-18"]], "le_s (term)": [[27, "index-18"]], "le_n (term)": [[27, "index-18"]], "left (term)": [[27, "index-12"]], "lt (term)": [[27, "index-18"]], "mult (term)": [[27, "index-17"]], "mult_n_o (term)": [[27, "index-17"]], "mult_n_sm (term)": [[27, "index-17"]], "n_sn (term)": [[27, "index-17"]], "nat (term)": [[27, "index-8"]], "nat_case (term)": [[27, "index-19"]], "nat_double_ind (term)": [[27, "index-19"]], "not (term)": [[27, "index-1"]], "nott (term)": [[27, "index-2"]], "not_eq_s (term)": [[27, "index-17"]], "option (term)": [[27, "index-8"]], "or (term)": [[27, "index-1"]], "or_introl (term)": [[27, "index-1"]], "or_intror (term)": [[27, "index-1"]], "pair (term)": [[27, "index-9"]], "plus (term)": [[27, "index-17"]], "plus_n_o (term)": [[27, "index-17"]], "plus_n_sm (term)": [[27, "index-17"]], "pred (term)": [[27, "index-17"]], "pred_sn (term)": [[27, "index-17"]], "prod (term)": [[27, "index-9"]], "proj1 (term)": [[27, "index-1"]], "proj2 (term)": [[27, "index-1"]], "projt1 (term)": [[27, "index-11"]], "projt2 (term)": [[27, "index-11"]], "refl_identity (term)": [[27, "index-8"]], "right (term)": [[27, "index-12"]], "sig (term)": [[27, "index-10"]], "sig2 (term)": [[27, "index-10"]], "sigt (term)": [[27, "index-11"]], "sigt2 (term)": [[27, "index-11"]], "snd (term)": [[27, "index-9"]], "sum (term)": [[27, "index-9"]], "sumbool (term)": [[27, "index-12"]], "sumor (term)": [[27, "index-13"]], "sym_not_eq (term)": [[27, "index-5"]], "tt (term)": [[27, "index-8"]], "unit (term)": [[27, "index-8"]], "value (term)": [[27, "index-15"]], "well_founded (term)": [[27, "index-20"]], "{a}+{b} (term)": [[27, "index-12"]], "{x:a & p x} (term)": [[27, "index-11"]], "{x:a | p x} (term)": [[27, "index-10"]], "axiom (command)": [[28, "coq:cmd.Axiom"]], "axioms (command)": [[28, "coq:cmd.Axioms"]], "conjecture (command)": [[28, "coq:cmd.Conjecture"]], "conjectures (command)": [[28, "coq:cmd.Conjectures"]], "hypotheses (command)": [[28, "coq:cmd.Hypotheses"]], "hypothesis (command)": [[28, "coq:cmd.Hypothesis"]], "parameter (command)": [[28, "coq:cmd.Parameter"]], "parameters (command)": [[28, "coq:cmd.Parameters"]], "use of \"variable\" or \"hypothesis\" outside sections behaves as \"#[local] parameter\" or \"#[local] axiom\" (warning)": [[28, "coq:warn.Use-of-\"Variable\"-or-\"Hypothesis\"-outside-sections-behaves-as-\"#[local]-Parameter\"-or-\"#[local]-Axiom\""]], "variable (command)": [[28, "coq:cmd.Variable"]], "variables (command)": [[28, "coq:cmd.Variables"]], "forall": [[28, "index-1"]], "fun": [[28, "index-0"]], "\u2018ident\u2019 already exists. (axiom) (error)": [[28, "coq:exn.\u2018ident\u2019-already-exists.-(Axiom)"]], "add (command)": [[29, "coq:cmd.Add"]], "attributes (command)": [[29, "coq:cmd.Attributes"]], "comments (command)": [[29, "coq:cmd.Comments"]], "print options (command)": [[29, "coq:cmd.Print-Options"]], "print table (command)": [[29, "coq:cmd.Print-Table"]], "print tables (command)": [[29, "coq:cmd.Print-Tables"]], "remove (command)": [[29, "coq:cmd.Remove"]], "set (command)": [[29, "coq:cmd.Set"]], "test (command)": [[29, "coq:cmd.Test"]], "there is no flag or option with this name: \"\u2018setting_name\u2019\" (warning)": [[29, "coq:warn.There-is-no-flag-or-option-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no flag, option or table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-flag,-option-or-table-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no qualid-valued table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-qualid-valued-table-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no string-valued table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-string-valued-table-with-this-name:-\"\u2018setting_name\u2019\""]], "this command does not support this attribute (warning)": [[29, "coq:warn.This-command-does-not-support-this-attribute"]], "unset (command)": [[29, "coq:cmd.Unset"]], "command": [[29, "term-command"]], "sentence": [[29, "term-sentence"]], "tactic": [[29, "term-tactic"]], "term": [[29, "term-term"]], "type": [[29, "term-type"], [39, "index-0"]], "warning (attribute)": [[29, "coq:attr.warning"]], "warnings (attribute)": [[29, "coq:attr.warnings"]], "cofixpoint (command)": [[30, "coq:cmd.CoFixpoint"]], "coinductive (command)": [[30, "coq:cmd.CoInductive"]], "cofix": [[30, "index-0"]], "... : ... (type cast)": [[32, "index-1"]], "... :> ... (volatile type cast)": [[32, "index-1"]], "... <: ... (vm type cast)": [[32, "index-1"]], "... <<: ... (native compute type cast)": [[32, "index-1"]], "corollary (command)": [[32, "coq:cmd.Corollary"]], "definition (command)": [[32, "coq:cmd.Definition"]], "example (command)": [[32, "coq:cmd.Example"]], "fact (command)": [[32, "coq:cmd.Fact"]], "lemma (command)": [[32, "coq:cmd.Lemma"]], "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 (error)": [[32, "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"]], "property (command)": [[32, "coq:cmd.Property"]], "proposition (command)": [[32, "coq:cmd.Proposition"]], "remark (command)": [[32, "coq:cmd.Remark"]], "the term \u2018term\u2019 has type \u2018type\u2019 which should be set, prop or type (error)": [[32, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-which-should-be-Set,-Prop-or-Type"]], "the term \u2018term\u2019 has type \u2018type\u2019 while it is expected to have type \u2018type\u2019' (error)": [[32, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-while-it-is-expected-to-have-type-\u2018type\u2019'"]], "theorem (command)": [[32, "coq:cmd.Theorem"]], "let ... := ... (term)": [[32, "index-0"]], "\u2018ident\u2019 already exists. (definition) (error)": [[32, "coq:exn.\u2018ident\u2019-already-exists.-(Definition)"]], "\u2018ident\u2019 already exists. (theorem) (error)": [[32, "coq:exn.\u2018ident\u2019-already-exists.-(Theorem)"]], "auto template polymorphism (flag)": [[34, "coq:flag.Auto-Template-Polymorphism"]], "automatically declaring \u2018ident\u2019 as template polymorphic (warning)": [[34, "coq:warn.Automatically-declaring-\u2018ident\u2019-as-template-polymorphic"]], "dependent proposition eliminators (flag)": [[34, "coq:flag.Dependent-Proposition-Eliminators"]], "fixpoint (command)": [[34, "coq:cmd.Fixpoint"]], "ill-formed template inductive declaration: not polymorphic on any universe (error)": [[34, "coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe"]], "inductive (command)": [[34, "coq:cmd.Inductive"]], "non strictly positive occurrence of \u2018ident\u2019 in \u2018type\u2019 (error)": [[34, "coq:exn.Non-strictly-positive-occurrence-of-\u2018ident\u2019-in-\u2018type\u2019"]], "the conclusion of \u2018type\u2019 is not valid": [[34, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019"]], "uniform inductive parameters (flag)": [[34, "coq:flag.Uniform-Inductive-Parameters"]], "fix": [[34, "index-0"]], "it must be built from \u2018ident\u2019 (error)": [[34, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019"]], "template and polymorphism not compatible (error)": [[34, "coq:exn.template-and-polymorphism-not-compatible"]], "universes(template) (attribute)": [[34, "coq:attr.universes(template)"]], "cannot import local constant, it will be ignored (warning)": [[35, "coq:warn.Cannot-import-local-constant,-it-will-be-ignored"]], "declare module (command)": [[35, "coq:cmd.Declare-Module"]], "export (command)": [[35, "coq:cmd.Export"]], "import (command)": [[35, "coq:cmd.Import"]], "include (command)": [[35, "coq:cmd.Include"]], "include type (command)": [[35, "coq:cmd.Include-Type"]], "module (command)": [[35, "coq:cmd.Module"]], "module type (command)": [[35, "coq:cmd.Module-Type"]], "no field named \u2018ident\u2019 in \u2018qualid\u2019 (error)": [[35, "coq:exn.No-field-named-\u2018ident\u2019-in-\u2018qualid\u2019"]], "print module (command)": [[35, "coq:cmd.Print-Module"]], "print module type (command)": [[35, "coq:cmd.Print-Module-Type"]], "print namespace (command)": [[35, "coq:cmd.Print-Namespace"]], "short module printing (flag)": [[35, "coq:flag.Short-Module-Printing"]], "signature components for field \u2018ident\u2019 do not match (error)": [[35, "coq:exn.Signature-components-for-field-\u2018ident\u2019-do-not-match"]], "the field \u2018ident\u2019 is missing in \u2018qualid\u2019 (error)": [[35, "coq:exn.The-field-\u2018ident\u2019-is-missing-in-\u2018qualid\u2019"]], "trying to mask the absolute name \u2018qualid\u2019! (warning)": [[35, "coq:warn.Trying-to-mask-the-absolute-name-\u2018qualid\u2019!"]], "export (attribute)": [[35, "coq:attr.export"]], "global (attribute)": [[35, "coq:attr.global"]], "local (attribute)": [[35, "coq:attr.local"]], "\u2018qualid\u2019 is not a module (error)": [[35, "coq:exn.\u2018qualid\u2019-is-not-a-module"]], "primitive projections (flag)": [[37, "coq:flag.Primitive-Projections"]], "printing constructor (table)": [[37, "coq:table.Printing-Constructor"]], "printing primitive projection parameters (flag)": [[37, "coq:flag.Printing-Primitive-Projection-Parameters"]], "printing projections (flag)": [[37, "coq:flag.Printing-Projections"]], "printing record (table)": [[37, "coq:table.Printing-Record"]], "printing records (flag)": [[37, "coq:flag.Printing-Records"]], "printing unfolded projection as match (flag)": [[37, "coq:flag.Printing-Unfolded-Projection-As-Match"]], "record (command)": [[37, "coq:cmd.Record"]], "records declared with the keyword record or structure cannot be recursive (error)": [[37, "coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive"]], "structure (command)": [[37, "coq:cmd.Structure"]], "projections(primitive) (attribute)": [[37, "coq:attr.projections(primitive)"]], "\u2018ident\u2019 already exists (error)": [[37, "coq:exn.\u2018ident\u2019-already-exists"]], "\u2018ident\u2019 cannot be defined (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined"]], "\u2018ident\u2019 cannot be defined because it is informative and \u2018ident\u2019 is not (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-it-is-informative-and-\u2018ident\u2019-is-not"]], "\u2018ident\u2019 cannot be defined because the projection \u2018ident\u2019 was not defined (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-the-projection-\u2018ident\u2019-was-not-defined"]], "context (command)": [[38, "coq:cmd.Context"]], "end (command)": [[38, "coq:cmd.End"]], "last block to end has name \u2018ident\u2019 (error)": [[38, "coq:exn.Last-block-to-end-has-name-\u2018ident\u2019"]], "let (command)": [[38, "coq:cmd.Let"]], "let cofixpoint (command)": [[38, "coq:cmd.Let-CoFixpoint"]], "let fixpoint (command)": [[38, "coq:cmd.Let-Fixpoint"]], "section (command)": [[38, "coq:cmd.Section"]], "there is nothing to end (error)": [[38, "coq:exn.There-is-nothing-to-end"]], "clearbody (attribute)": [[38, "coq:attr.clearbody"]], "prop": [[39, "index-0"]], "sprop": [[39, "index-0"]], "set (sort)": [[39, "index-0"]], "casts are not supported in this pattern (error)": [[40, "coq:exn.Casts-are-not-supported-in-this-pattern"]], "private (attribute)": [[40, "coq:attr.Private"]], "the \u2018natural\u2019 th argument of \u2018ident\u2019 must be \u2018ident\u2019 in \u2018type\u2019 (error)": [[40, "coq:exn.The-\u2018natural\u2019-th-argument-of-\u2018ident\u2019-must-be-\u2018ident\u2019-in-\u2018type\u2019"]], "variant (command)": [[40, "coq:cmd.Variant"]], "match ... with ...": [[40, "index-0"]], "private(matching) (attribute)": [[40, "coq:attr.private(matching)"]], "arguments (command)": [[41, "coq:cmd.Arguments"]], "arguments of section variables such as \u2018name\u2019 may not be renamed (error)": [[41, "coq:exn.Arguments-of-section-variables-such-as-\u2018name\u2019-may-not-be-renamed"]], "flag 'rename' expected to rename \u2018name\u2019 into \u2018name\u2019 (error)": [[41, "coq:exn.Flag-'rename'-expected-to-rename-\u2018name\u2019-into-\u2018name\u2019"]], "the & modifier may only occur once (error)": [[41, "coq:exn.The-&-modifier-may-only-occur-once"]], "the 'clear implicits' flag must be omitted if implicit annotations are given (error)": [[41, "coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given"]], "the 'default implicits' flag is incompatible with implicit annotations (error)": [[41, "coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations"]], "the / modifier may only occur once (error)": [[41, "coq:exn.The-/-modifier-may-only-occur-once"]], "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' (warning)": [[41, "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'"]], "to rename arguments the 'rename' flag must be specified (error)": [[41, "coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified"]], "canonical structure (command)": [[42, "coq:cmd.Canonical-Structure"]], "print canonical projections (command)": [[42, "coq:cmd.Print-Canonical-Projections"]], "canonical (attribute)": [[42, "coq:attr.canonical"]], "printing existential instances (flag)": [[43, "coq:flag.Printing-Existential-Instances"]], "_": [[43, "index-0"]], "argument at position \u2018natural\u2019 is mentioned more than once (error)": [[44, "coq:exn.Argument-at-position-\u2018natural\u2019-is-mentioned-more-than-once"]], "argument \u2018name\u2019 is a trailing implicit, so it can't be declared non maximal. please use { } instead of [ ] (error)": [[44, "coq:exn.Argument-\u2018name\u2019-is-a-trailing-implicit,-so-it-can't-be-declared-non-maximal.-Please-use-{-}-instead-of-[-]"]], "arguments given by name or position not supported in explicit mode (error)": [[44, "coq:exn.Arguments-given-by-name-or-position-not-supported-in-explicit-mode"]], "cannot infer a term for this placeholder. (casual use of implicit arguments) (error)": [[44, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)"]], "contextual implicit (flag)": [[44, "coq:flag.Contextual-Implicit"]], "generalizable (command)": [[44, "coq:cmd.Generalizable"]], "ignoring implicit binder declaration in unexpected position (warning)": [[44, "coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position"]], "implicit arguments (flag)": [[44, "coq:flag.Implicit-Arguments"]], "implicit type (command)": [[44, "coq:cmd.Implicit-Type"]], "implicit types (command)": [[44, "coq:cmd.Implicit-Types"]], "making shadowed name of implicit argument accessible by position (warning)": [[44, "coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position"]], "maximal implicit insertion (flag)": [[44, "coq:flag.Maximal-Implicit-Insertion"]], "not enough non implicit arguments to accept the argument bound to \u2018ident\u2019 (error)": [[44, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018ident\u2019"]], "not enough non implicit arguments to accept the argument bound to \u2018natural\u2019 (error)": [[44, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018natural\u2019"]], "parsing explicit (flag)": [[44, "coq:flag.Parsing-Explicit"]], "print implicit (command)": [[44, "coq:cmd.Print-Implicit"]], "printing implicit (flag)": [[44, "coq:flag.Printing-Implicit"]], "printing implicit defensive (flag)": [[44, "coq:flag.Printing-Implicit-Defensive"]], "printing use implicit types (flag)": [[44, "coq:flag.Printing-Use-Implicit-Types"]], "reversible pattern implicit (flag)": [[44, "coq:flag.Reversible-Pattern-Implicit"]], "strict implicit (flag)": [[44, "coq:flag.Strict-Implicit"]], "strongly strict implicit (flag)": [[44, "coq:flag.Strongly-Strict-Implicit"]], "wrong argument name (error)": [[44, "coq:exn.Wrong-argument-name"]], "wrong argument position (error)": [[44, "coq:exn.Wrong-argument-position"]], "`( )": [[44, "index-2"]], "`(! )": [[44, "index-5"]], "`[ ]": [[44, "index-1"]], "`[! ]": [[44, "index-4"]], "`{ }": [[44, "index-0"]], "`{! }": [[44, "index-3"]], "asymmetric patterns (flag)": [[46, "coq:flag.Asymmetric-Patterns"]], "either there is a type incompatibility or the problem involves dependencies (error)": [[46, "coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies"]], "found a constructor of inductive type term while a constructor of term is expected (error)": [[46, "coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected"]], "non exhaustive pattern matching (error)": [[46, "coq:exn.Non-exhaustive-pattern-matching"]], "printing allow match default clause (flag)": [[46, "coq:flag.Printing-Allow-Match-Default-Clause"]], "printing factorizable match patterns (flag)": [[46, "coq:flag.Printing-Factorizable-Match-Patterns"]], "printing if (table)": [[46, "coq:table.Printing-If"]], "printing let (table)": [[46, "coq:table.Printing-Let"]], "printing match all subterms (flag)": [[46, "coq:flag.Printing-Match-All-Subterms"]], "printing matching (flag)": [[46, "coq:flag.Printing-Matching"]], "printing synth (flag)": [[46, "coq:flag.Printing-Synth"]], "printing wildcard (flag)": [[46, "coq:flag.Printing-Wildcard"]], "the constructor \u2018ident\u2019 expects \u2018natural\u2019 arguments (error)": [[46, "coq:exn.The-constructor-\u2018ident\u2019-expects-\u2018natural\u2019-arguments"]], "the elimination predicate term should be of arity \u2018natural\u2019 (for non dependent case) or \u2018natural\u2019 (for dependent case) (error)": [[46, "coq:exn.The-elimination-predicate-term-should-be-of-arity-\u2018natural\u2019-(for-non-dependent-case)-or-\u2018natural\u2019-(for-dependent-case)"]], "the variable ident is bound several times in pattern term (error)": [[46, "coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term"]], "unable to infer a match predicate (error)": [[46, "coq:exn.Unable-to-infer-a-match-predicate"]], "unused variable \u2018ident\u2019 might be a misspelled constructor. use _ or _\u2018ident\u2019 to silence this warning (warning)": [[46, "coq:warn.Unused-variable-\u2018ident\u2019-might-be-a-misspelled-constructor.-Use-_-or-_\u2018ident\u2019-to-silence-this-warning."]], "coqtop exit on error (flag)": [[51, "coq:flag.Coqtop-Exit-On-Error"]], "+ (backtracking branching) (tactic)": [[54, "coq:tacn.+-(backtracking-branching)"]], "::=": [[54, "index-0"]], "argument of match does not evaluate to a term (error)": [[54, "coq:exn.Argument-of-match-does-not-evaluate-to-a-term"]], "condition not satisfied (error)": [[54, "coq:exn.Condition-not-satisfied"]], "debug (command)": [[54, "coq:cmd.Debug"]], "debug mode not available in the ide (error)": [[54, "coq:exn.Debug-mode-not-available-in-the-IDE"]], "expression does not evaluate to a tactic (error)": [[54, "coq:exn.Expression-does-not-evaluate-to-a-tactic"]], "failed to progress (error)": [[54, "coq:exn.Failed-to-progress"]], "info (command)": [[54, "coq:cmd.Info"]], "info level (option)": [[54, "coq:opt.Info-Level"]], "ltac (command)": [[54, "coq:cmd.Ltac"]], "ltac backtrace (flag)": [[54, "coq:flag.Ltac-Backtrace"]], "ltac batch debug (flag)": [[54, "coq:flag.Ltac-Batch-Debug"]], "ltac debug (flag)": [[54, "coq:flag.Ltac-Debug"]], "ltac profiler encountered an invalid stack (no self node). this can happen if you reset the profile during tactic execution (warning)": [[54, "coq:warn.Ltac-Profiler-encountered-an-invalid-stack-(no-self-node).-This-can-happen-if-you-reset-the-profile-during-tactic-execution"]], "ltac profiling (flag)": [[54, "coq:flag.Ltac-Profiling"]], "no applicable tactic (error)": [[54, "coq:exn.No-applicable-tactic"]], "no evars (error)": [[54, "coq:exn.No-evars"]], "no matching clauses for match (error)": [[54, "coq:exn.No-matching-clauses-for-match"]], "no matching clauses for match goal (error)": [[54, "coq:exn.No-matching-clauses-for-match-goal"]], "no such goal. (goal selector) (error)": [[54, "coq:exn.No-such-goal.-(Goal-selector)"]], "no such goal. (fail) (error)": [[54, "coq:exn.No-such-goal.-(fail)"]], "not a context variable (error)": [[54, "coq:exn.Not-a-context-variable"]], "not a variable or hypothesis (error)": [[54, "coq:exn.Not-a-variable-or-hypothesis"]], "not an evar (error)": [[54, "coq:exn.Not-an-evar"]], "not equal (due to universes) (error)": [[54, "coq:exn.Not-equal-(due-to-universes)"]], "not equal (error)": [[54, "coq:exn.Not-equal"]], "not ground (error)": [[54, "coq:exn.Not-ground"]], "print ltac (command)": [[54, "coq:cmd.Print-Ltac"]], "print ltac signatures (command)": [[54, "coq:cmd.Print-Ltac-Signatures"]], "reset ltac profile (command)": [[54, "coq:cmd.Reset-Ltac-Profile"]], "show ltac profile (command)": [[54, "coq:cmd.Show-Ltac-Profile"]], "tactic failure (error)": [[54, "coq:exn.Tactic-failure"]], "tactic failure (level \u2018natural\u2019) (error)": [[54, "coq:exn.Tactic-failure-(level-\u2018natural\u2019)"]], "tactic failure: succeeds (error)": [[54, "coq:exn.Tactic-failure:--succeeds"]], "there is already an ltac named \u2018qualid\u2019 (error)": [[54, "coq:exn.There-is-already-an-Ltac-named-\u2018qualid\u2019"]], "there is no ltac named \u2018qualid\u2019 (error)": [[54, "coq:exn.There-is-no-Ltac-named-\u2018qualid\u2019"]], "this tactic has more than one success (error)": [[54, "coq:exn.This-tactic-has-more-than-one-success"]], "unbound context identifier \u2018ident\u2019 (error)": [[54, "coq:exn.Unbound-context-identifier-\u2018ident\u2019"]], "[ \u2026 | \u2026 | \u2026 ] (dispatch) (tactic)": [[54, "coq:tacn.[-\u2026-|-\u2026-|-\u2026-]-(dispatch)"]], "[> \u2026 | \u2026 | \u2026 ] (dispatch) (tactic)": [[54, "coq:tacn.[>-\u2026-|-\u2026-|-\u2026-]-(dispatch)"]], "assert_fails (tactic)": [[54, "coq:tacn.assert_fails"]], "assert_succeeds (tactic)": [[54, "coq:tacn.assert_succeeds"]], "constr_eq (tactic)": [[54, "coq:tacn.constr_eq"]], "constr_eq_nounivs (tactic)": [[54, "coq:tacn.constr_eq_nounivs"]], "constr_eq_strict (tactic)": [[54, "coq:tacn.constr_eq_strict"]], "context (tactic)": [[54, "coq:tacn.context"]], "convert (tactic)": [[54, "coq:tacn.convert"]], "do (tactic)": [[54, "coq:tacn.do"]], "exactly_once (tactic)": [[54, "coq:tacn.exactly_once"]], "fail (tactic)": [[54, "coq:tacn.fail"]], "finish_timing (tactic)": [[54, "coq:tacn.finish_timing"]], "first (tactic)": [[54, "coq:tacn.first"]], "fresh (tactic)": [[54, "coq:tacn.fresh"]], "fun (tactic)": [[54, "coq:tacn.fun"]], "gfail (tactic)": [[54, "coq:tacn.gfail"]], "guard (tactic)": [[54, "coq:tacn.guard"]], "has_evar (tactic)": [[54, "coq:tacn.has_evar"]], "idtac (tactic)": [[54, "coq:tacn.idtac"]], "infoh (command)": [[54, "coq:cmd.infoH"]], "is_cofix (tactic)": [[54, "coq:tacn.is_cofix"]], "is_const (tactic)": [[54, "coq:tacn.is_const"]], "is_constructor (tactic)": [[54, "coq:tacn.is_constructor"]], "is_evar (tactic)": [[54, "coq:tacn.is_evar"]], "is_fix (tactic)": [[54, "coq:tacn.is_fix"]], "is_ground (tactic)": [[54, "coq:tacn.is_ground"]], "is_ind (tactic)": [[54, "coq:tacn.is_ind"]], "is_proj (tactic)": [[54, "coq:tacn.is_proj"]], "is_var (tactic)": [[54, "coq:tacn.is_var"]], "lazymatch (tactic)": [[54, "coq:tacn.lazymatch"]], "lazymatch goal (tactic)": [[54, "coq:tacn.lazymatch-goal"]], "let (tactic)": [[54, "coq:tacn.let"]], "ltac-seq (tactic)": [[54, "coq:tacn.ltac-seq"]], "match (tactic)": [[54, "coq:tacn.match"]], "match goal (tactic)": [[54, "coq:tacn.match-goal"]], "multimatch (tactic)": [[54, "coq:tacn.multimatch"]], "multimatch goal (tactic)": [[54, "coq:tacn.multimatch-goal"]], "not a cofix definition (error)": [[54, "coq:exn.not-a-cofix-definition"]], "not a constant (error)": [[54, "coq:exn.not-a-constant"]], "not a constructor (error)": [[54, "coq:exn.not-a-constructor"]], "not a fix definition (error)": [[54, "coq:exn.not-a-fix-definition"]], "not a primitive projection (error)": [[54, "coq:exn.not-a-primitive-projection"]], "not an (co)inductive datatype (error)": [[54, "coq:exn.not-an-(co)inductive-datatype"]], "not_evar (tactic)": [[54, "coq:tacn.not_evar"]], "numgoals (tactic)": [[54, "coq:tacn.numgoals"]], "once (tactic)": [[54, "coq:tacn.once"]], "only (tactic)": [[54, "coq:tacn.only"]], "optimize_heap (tactic)": [[54, "coq:tacn.optimize_heap"]], "progress (tactic)": [[54, "coq:tacn.progress"]], "repeat (tactic)": [[54, "coq:tacn.repeat"]], "reset ltac profile (tactic)": [[54, "coq:tacn.reset-ltac-profile"]], "restart_timer (tactic)": [[54, "coq:tacn.restart_timer"]], "show ltac profile (tactic)": [[54, "coq:tacn.show-ltac-profile"]], "solve (tactic)": [[54, "coq:tacn.solve"]], "start ltac profiling (tactic)": [[54, "coq:tacn.start-ltac-profiling"]], "stop ltac profiling (tactic)": [[54, "coq:tacn.stop-ltac-profiling"]], "time (tactic)": [[54, "coq:tacn.time"]], "time_constr (tactic)": [[54, "coq:tacn.time_constr"]], "timeout (tactic)": [[54, "coq:tacn.timeout"]], "try (tactic)": [[54, "coq:tacn.try"]], "tryif (tactic)": [[54, "coq:tacn.tryif"]], "type of (tactic)": [[54, "coq:tacn.type-of"]], "type_term (tactic)": [[54, "coq:tacn.type_term"]], "unify (tactic)": [[54, "coq:tacn.unify"]], "|| (first tactic making progress) (tactic)": [[54, "coq:tacn.||-(first-tactic-making-progress)"]], "\u2026 : \u2026 (goal selector) (tactic)": [[54, "coq:tacn.\u2026-:-\u2026-(goal-selector)"]], "ltac2 (command)": [[55, "coq:cmd.Ltac2"]], "ltac2 backtrace (flag)": [[55, "coq:flag.Ltac2-Backtrace"]], "ltac2 check (command)": [[55, "coq:cmd.Ltac2-Check"]], "ltac2 eval (command)": [[55, "coq:cmd.Ltac2-Eval"]], "ltac2 globalize (command)": [[55, "coq:cmd.Ltac2-Globalize"]], "ltac2 in ltac1 profiling (flag)": [[55, "coq:flag.Ltac2-In-Ltac1-Profiling"]], "ltac2 notation (abbreviation) (command)": [[55, "coq:cmd.Ltac2-Notation-(abbreviation)"]], "ltac2 notation (command)": [[55, "coq:cmd.Ltac2-Notation"]], "ltac2 set (command)": [[55, "coq:cmd.Ltac2-Set"]], "ltac2 type (command)": [[55, "coq:cmd.Ltac2-Type"]], "ltac2 typed notations (flag)": [[55, "coq:flag.Ltac2-Typed-Notations"]], "ltac2 external (command)": [[55, "coq:cmd.Ltac2-external"]], "notation levels must range between 0 and 6 (error)": [[55, "coq:exn.Notation-levels-must-range-between-0-and-6"]], "print ltac2 (command)": [[55, "coq:cmd.Print-Ltac2"]], "print ltac2 signatures (command)": [[55, "coq:cmd.Print-Ltac2-Signatures"]], "print ltac2 type (command)": [[55, "coq:cmd.Print-Ltac2-Type"]], "the reference x was not found in the current environment (error)": [[55, "coq:exn.The-reference-X-was-not-found-in-the-current-environment"]], "unbound [value|constructor] x (error)": [[55, "coq:exn.Unbound-[value|constructor]-X"]], "abstract (attribute)": [[55, "coq:attr.abstract"]], "if-then-else (ltac2) (tactic)": [[55, "coq:tacn.if-then-else-(Ltac2)"]], "lazy_match! (tactic)": [[55, "coq:tacn.lazy_match!"]], "lazy_match! goal (tactic)": [[55, "coq:tacn.lazy_match!-goal"]], "match (ltac2) (tactic)": [[55, "coq:tacn.match-(Ltac2)"]], "match! (tactic)": [[55, "coq:tacn.match!"]], "match! goal (tactic)": [[55, "coq:tacn.match!-goal"]], "multi_match! (tactic)": [[55, "coq:tacn.multi_match!"]], "multi_match! goal (tactic)": [[55, "coq:tacn.multi_match!-goal"]], "=> (tactic)": [[57, "coq:tacn.=>"]], "debug ssrmatching (flag)": [[57, "coq:flag.Debug-SsrMatching"]], "debug ssreflect (flag)": [[57, "coq:flag.Debug-Ssreflect"]], "duplicate clear of h. use { }h instead of { h }h (warning)": [[57, "coq:warn.Duplicate-clear-of-H.-Use-{-}H-instead-of-{-H-}H"]], "hint view for (command)": [[57, "coq:cmd.Hint-View-for"]], "hint view for apply (command)": [[57, "coq:cmd.Hint-View-for-apply"]], "hint view for move (command)": [[57, "coq:cmd.Hint-View-for-move"]], "incorrect number of tactics (expected n tactics, was given m) (error)": [[57, "coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)"]], "prenex implicits (command)": [[57, "coq:cmd.Prenex-Implicits"]], "ssreflect: cannot obtain new equations out of ... (warning)": [[57, "coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-..."]], "ssrhave notcresolution (flag)": [[57, "coq:flag.SsrHave-NoTCResolution"]], "ssridents (flag)": [[57, "coq:flag.SsrIdents"]], "ssroldrewritegoalsorder (flag)": [[57, "coq:flag.SsrOldRewriteGoalsOrder"]], "ssrrewrite (flag)": [[57, "coq:flag.SsrRewrite"]], "abstract (ssreflect) (tactic)": [[57, "coq:tacn.abstract-(ssreflect)"]], "apply (ssreflect) (tactic)": [[57, "coq:tacn.apply-(ssreflect)"]], "by (tactic)": [[57, "coq:tacn.by"]], "case (ssreflect) (tactic)": [[57, "coq:tacn.case-(ssreflect)"]], "congr (tactic)": [[57, "coq:tacn.congr"]], "do (ssreflect) (tactic)": [[57, "coq:tacn.do-(ssreflect)"]], "done (tactic)": [[57, "coq:tacn.done"]], "elim (ssreflect) (tactic)": [[57, "coq:tacn.elim-(ssreflect)"]], "exact (ssreflect) (tactic)": [[57, "coq:tacn.exact-(ssreflect)"]], "first (ssreflect) (tactic)": [[57, "coq:tacn.first-(ssreflect)"]], "first last (tactic variant)": [[57, "coq:tacv.first-last"]], "generally have (tactic)": [[57, "coq:tacn.generally-have"]], "have (tactic)": [[57, "coq:tacn.have"]], "in (tactic)": [[57, "coq:tacn.in"]], "last (tactic)": [[57, "coq:tacn.last"]], "last first (tactic variant)": [[57, "coq:tacv.last-first"]], "move (ssreflect) (tactic)": [[57, "coq:tacn.move-(ssreflect)"]], "over (tactic)": [[57, "coq:tacn.over"]], "pose (ssreflect) (tactic)": [[57, "coq:tacn.pose-(ssreflect)"]], "rewrite (ssreflect) (tactic)": [[57, "coq:tacn.rewrite-(ssreflect)"]], "set (ssreflect) (tactic)": [[57, "coq:tacn.set-(ssreflect)"]], "suff (tactic)": [[57, "coq:tacn.suff"]], "suffices (tactic)": [[57, "coq:tacn.suffices"]], "under (tactic)": [[57, "coq:tacn.under"]], "unlock (tactic)": [[57, "coq:tacn.unlock"]], "without loss (tactic)": [[57, "coq:tacn.without-loss"]], "wlog (tactic)": [[57, "coq:tacn.wlog"]], "\u2026 : \u2026 (ssreflect) (tactic)": [[57, "coq:tacn.\u2026-:-\u2026-(ssreflect)"]], "cannot change \u2018ident\u2019, it is used in conclusion (error)": [[58, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-conclusion"]], "cannot change \u2018ident\u2019, it is used in hypothesis \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-hypothesis-\u2018ident\u2019"]], "cannot infer a term for this placeholder. (refine) (error)": [[58, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)"]], "cannot move \u2018ident\u2019 after \u2018ident\u2019: it depends on \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-depends-on-\u2018ident\u2019"]], "cannot move \u2018ident\u2019 after \u2018ident\u2019: it occurs in the type of \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-occurs-in-the-type-of-\u2018ident\u2019"]], "default goal selector (option)": [[58, "coq:opt.Default-Goal-Selector"]], "no product even after head-reduction (error)": [[58, "coq:exn.No-product-even-after-head-reduction"]], "no quantified hypothesis named \u2018ident\u2019 in current goal even after head-reduction (error)": [[58, "coq:exn.No-quantified-hypothesis-named-\u2018ident\u2019-in-current-goal-even-after-head-reduction"]], "no such assumption (error)": [[58, "coq:exn.No-such-assumption"]], "no such binder (error)": [[58, "coq:exn.No-such-binder"]], "no such bound variable \u2018ident\u2019 (no bound variables at all in the expression) (error)": [[58, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(no-bound-variables-at-all-in-the-expression)"]], "no such bound variable \u2018ident\u2019 (possible names are: \u2018ident\u2019 ...) (error)": [[58, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(possible-names-are:-\u2018ident\u2019-...)"]], "no such hypothesis: \u2018ident\u2019 (error)": [[58, "coq:exn.No-such-hypothesis:-\u2018ident\u2019"]], "no \u2018natural\u2019-th non dependent hypothesis in current goal even after head-reduction (error)": [[58, "coq:exn.No-\u2018natural\u2019-th-non-dependent-hypothesis-in-current-goal-even-after-head-reduction"]], "not an exact proof (error)": [[58, "coq:exn.Not-an-exact-proof"]], "not the right number of missing arguments (expected \u2018natural\u2019) (error)": [[58, "coq:exn.Not-the-right-number-of-missing-arguments-(expected-\u2018natural\u2019)"]], "proof is not complete. (assert) (error)": [[58, "coq:exn.Proof-is-not-complete.-(assert)"]], "the term \"\u2018type\u2019\" has type \"\u2018type\u2019\" which should be set, prop or type (error)": [[58, "coq:exn.The-term-\"\u2018type\u2019\"-has-type-\"\u2018type\u2019\"-which-should-be-Set,-Prop-or-Type"]], "the variable \u2018ident\u2019 is already declared (error)": [[58, "coq:exn.The-variable-\u2018ident\u2019-is-already-declared"]], "unable to apply lemma of type \"...\" on hypothesis of type \"...\" (error)": [[58, "coq:exn.Unable-to-apply-lemma-of-type-\"...\"-on-hypothesis-of-type-\"...\""]], "unable to find an instance for the variables \u2018ident\u2019\u2026\u2018ident\u2019 (error)": [[58, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019\u2026\u2018ident\u2019"]], "unable to unify \u2018one_term\u2019 with \u2018one_term\u2019 (error)": [[58, "coq:exn.Unable-to-unify-\u2018one_term\u2019-with-\u2018one_term\u2019"]], "absurd (tactic)": [[58, "coq:tacn.absurd"]], "apply (tactic)": [[58, "coq:tacn.apply"]], "assert (tactic)": [[58, "coq:tacn.assert"]], "assumption (tactic)": [[58, "coq:tacn.assumption"]], "classical_left (tactic)": [[58, "coq:tacn.classical_left"]], "classical_right (tactic)": [[58, "coq:tacn.classical_right"]], "clear (tactic)": [[58, "coq:tacn.clear"]], "clear dependent (tactic)": [[58, "coq:tacn.clear-dependent"]], "clearbody (tactic)": [[58, "coq:tacn.clearbody"]], "contradict (tactic)": [[58, "coq:tacn.contradict"]], "contradiction (tactic)": [[58, "coq:tacn.contradiction"]], "cut (tactic)": [[58, "coq:tacn.cut"]], "dependent generalize_eqs (tactic)": [[58, "coq:tacn.dependent-generalize_eqs"]], "dependent generalize_eqs_vars (tactic)": [[58, "coq:tacn.dependent-generalize_eqs_vars"]], "eapply (tactic)": [[58, "coq:tacn.eapply"]], "eassert (tactic)": [[58, "coq:tacn.eassert"]], "eassumption (tactic)": [[58, "coq:tacn.eassumption"]], "eenough (tactic)": [[58, "coq:tacn.eenough"]], "eexact (tactic)": [[58, "coq:tacn.eexact"]], "eintros (tactic)": [[58, "coq:tacn.eintros"]], "enough (tactic)": [[58, "coq:tacn.enough"]], "epose (tactic)": [[58, "coq:tacn.epose"]], "epose proof (tactic)": [[58, "coq:tacn.epose-proof"]], "eremember (tactic)": [[58, "coq:tacn.eremember"]], "eset (tactic)": [[58, "coq:tacn.eset"]], "evar (tactic)": [[58, "coq:tacn.evar"]], "exact (tactic)": [[58, "coq:tacn.exact"]], "exact_no_check (tactic)": [[58, "coq:tacn.exact_no_check"]], "exfalso (tactic)": [[58, "coq:tacn.exfalso"]], "generalize (tactic)": [[58, "coq:tacn.generalize"]], "generalize dependent (tactic)": [[58, "coq:tacn.generalize-dependent"]], "generalize_eqs (tactic)": [[58, "coq:tacn.generalize_eqs"]], "generalize_eqs_vars (tactic)": [[58, "coq:tacn.generalize_eqs_vars"]], "instantiate (tactic)": [[58, "coq:tacn.instantiate"]], "intro (tactic)": [[58, "coq:tacn.intro"]], "intros (tactic)": [[58, "coq:tacn.intros"]], "intros until (tactic)": [[58, "coq:tacn.intros-until"]], "lapply (tactic)": [[58, "coq:tacn.lapply"]], "lapply needs a non-dependent product (error)": [[58, "coq:exn.lapply-needs-a-non-dependent-product"]], "move (tactic)": [[58, "coq:tacn.move"]], "native_cast_no_check (tactic)": [[58, "coq:tacn.native_cast_no_check"]], "pose (tactic)": [[58, "coq:tacn.pose"]], "pose proof (tactic)": [[58, "coq:tacn.pose-proof"]], "rapply (tactic)": [[58, "coq:tacn.rapply"]], "refine (tactic)": [[58, "coq:tacn.refine"]], "remember (tactic)": [[58, "coq:tacn.remember"]], "rename (tactic)": [[58, "coq:tacn.rename"]], "revert (tactic)": [[58, "coq:tacn.revert"]], "revert dependent (tactic)": [[58, "coq:tacn.revert-dependent"]], "set (tactic)": [[58, "coq:tacn.set"]], "simple apply (tactic)": [[58, "coq:tacn.simple-apply"]], "simple eapply (tactic)": [[58, "coq:tacn.simple-eapply"]], "specialize (tactic)": [[58, "coq:tacn.specialize"]], "specialize_eqs (tactic)": [[58, "coq:tacn.specialize_eqs"]], "vm_cast_no_check (tactic)": [[58, "coq:tacn.vm_cast_no_check"]], "\u2018ident\u2019 is already used (error)": [[58, "coq:exn.\u2018ident\u2019-is-already-used"]], "\u2018ident\u2019 is not a local definition (error)": [[58, "coq:exn.\u2018ident\u2019-is-not-a-local-definition"]], "\u2018ident\u2019 is used in the conclusion (error)": [[58, "coq:exn.\u2018ident\u2019-is-used-in-the-conclusion"]], "\u2018ident\u2019 is used in the hypothesis \u2018ident\u2019 (error)": [[58, "coq:exn.\u2018ident\u2019-is-used-in-the-hypothesis-\u2018ident\u2019"]], "about (command)": [[59, "coq:cmd.About"]], "back (command)": [[59, "coq:cmd.Back"]], "backto (command)": [[59, "coq:cmd.BackTo"]], "bad magic number (error)": [[59, "coq:exn.Bad-magic-number"]], "cannot find library foo in loadpath (error)": [[59, "coq:exn.Cannot-find-library-foo-in-loadpath"]], "cannot load \u2018qualid\u2019: no physical path bound to \u2018dirpath\u2019 (error)": [[59, "coq:exn.Cannot-load-\u2018qualid\u2019:-no-physical-path-bound-to-\u2018dirpath\u2019"]], "can\u2019t find file \u2018ident\u2019 on loadpath (error)": [[59, "coq:exn.Can\u2019t-find-file-\u2018ident\u2019-on-loadpath"]], "check (command)": [[59, "coq:cmd.Check"]], "compiled library \u2018ident\u2019.vo makes inconsistent assumptions over library \u2018qualid\u2019 (error)": [[59, "coq:exn.Compiled-library-\u2018ident\u2019.vo-makes-inconsistent-assumptions-over-library-\u2018qualid\u2019"]], "debug (option)": [[59, "coq:opt.Debug"]], "declare ml module (command)": [[59, "coq:cmd.Declare-ML-Module"]], "default timeout (option)": [[59, "coq:opt.Default-Timeout"]], "drop (command)": [[59, "coq:cmd.Drop"]], "dynlink error: execution of module initializers in the (error)": [[59, "coq:exn.Dynlink-error:-execution-of-module-initializers-in-the"]], "fail (command)": [[59, "coq:cmd.Fail"]], "fast name printing (flag)": [[59, "coq:flag.Fast-Name-Printing"]], "file ... found twice in ... (warning)": [[59, "coq:warn.File-...-found-twice-in-..."]], "file not found on loadpath: \u2018string\u2019 (error)": [[59, "coq:exn.File-not-found-on-loadpath:-\u2018string\u2019"]], "files processed by load cannot leave open proofs (error)": [[59, "coq:exn.Files-processed-by-Load-cannot-leave-open-proofs"]], "from \u2026 dependency (command)": [[59, "coq:cmd.From-\u2026-Dependency"]], "from \u2026 require (command)": [[59, "coq:cmd.From-\u2026-Require"]], "guard checking (flag)": [[59, "coq:flag.Guard-Checking"]], "inspect (command)": [[59, "coq:cmd.Inspect"]], "instructions (command)": [[59, "coq:cmd.Instructions"]], "invalid backtrack (error)": [[59, "coq:exn.Invalid-backtrack"]], "load (command)": [[59, "coq:cmd.Load"]], "load is not supported inside proofs (error)": [[59, "coq:exn.Load-is-not-supported-inside-proofs"]], "locate (command)": [[59, "coq:cmd.Locate"]], "locate file (command)": [[59, "coq:cmd.Locate-File"]], "locate library (command)": [[59, "coq:cmd.Locate-Library"]], "locate ltac (command)": [[59, "coq:cmd.Locate-Ltac"]], "locate ltac2 (command)": [[59, "coq:cmd.Locate-Ltac2"]], "locate module (command)": [[59, "coq:cmd.Locate-Module"]], "locate term (command)": [[59, "coq:cmd.Locate-Term"]], "module/section \u2018qualid\u2019 not found (error)": [[59, "coq:exn.Module/section-\u2018qualid\u2019-not-found"]], "positivity checking (flag)": [[59, "coq:flag.Positivity-Checking"]], "primitive (command)": [[59, "coq:cmd.Primitive"]], "print (command)": [[59, "coq:cmd.Print"]], "print all (command)": [[59, "coq:cmd.Print-All"]], "print all dependencies (command)": [[59, "coq:cmd.Print-All-Dependencies"]], "print assumptions (command)": [[59, "coq:cmd.Print-Assumptions"]], "print libraries (command)": [[59, "coq:cmd.Print-Libraries"]], "print loadpath (command)": [[59, "coq:cmd.Print-LoadPath"]], "print ml modules (command)": [[59, "coq:cmd.Print-ML-Modules"]], "print ml path (command)": [[59, "coq:cmd.Print-ML-Path"]], "print opaque dependencies (command)": [[59, "coq:cmd.Print-Opaque-Dependencies"]], "print registered (command)": [[59, "coq:cmd.Print-Registered"]], "print registered schemes (command)": [[59, "coq:cmd.Print-Registered-Schemes"]], "print section (command)": [[59, "coq:cmd.Print-Section"]], "print transparent dependencies (command)": [[59, "coq:cmd.Print-Transparent-Dependencies"]], "print typing flags (command)": [[59, "coq:cmd.Print-Typing-Flags"]], "printing all (flag)": [[59, "coq:flag.Printing-All"]], "printing compact contexts (flag)": [[59, "coq:flag.Printing-Compact-Contexts"]], "printing dependent evars line (flag)": [[59, "coq:flag.Printing-Dependent-Evars-Line"]], "printing depth (option)": [[59, "coq:opt.Printing-Depth"]], "printing unfocused (flag)": [[59, "coq:flag.Printing-Unfocused"]], "printing width (option)": [[59, "coq:opt.Printing-Width"]], "profile (command)": [[59, "coq:cmd.Profile"]], "quit (command)": [[59, "coq:cmd.Quit"]], "redirect (command)": [[59, "coq:cmd.Redirect"]], "register (command)": [[59, "coq:cmd.Register"]], "register inline (command)": [[59, "coq:cmd.Register-Inline"]], "register scheme (command)": [[59, "coq:cmd.Register-Scheme"]], "require (command)": [[59, "coq:cmd.Require"]], "require export (command)": [[59, "coq:cmd.Require-Export"]], "require import (command)": [[59, "coq:cmd.Require-Import"]], "require inside a module is deprecated and strongly discouraged. you can require a module at toplevel and optionally import it inside another one (warning)": [[59, "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"]], "required library \u2018qualid\u2019 matches several files in path (found file.vo, file.vo, ...) (error)": [[59, "coq:exn.Required-library-\u2018qualid\u2019-matches-several-files-in-path-(found-file.vo,-file.vo,-...)"]], "reset (command)": [[59, "coq:cmd.Reset"]], "reset initial (command)": [[59, "coq:cmd.Reset-Initial"]], "search (command)": [[59, "coq:cmd.Search"]], "search blacklist (table)": [[59, "coq:table.Search-Blacklist"]], "search output name only (flag)": [[59, "coq:flag.Search-Output-Name-Only"]], "searchpattern (command)": [[59, "coq:cmd.SearchPattern"]], "searchrewrite (command)": [[59, "coq:cmd.SearchRewrite"]], "silent (flag)": [[59, "coq:flag.Silent"]], "succeed (command)": [[59, "coq:cmd.Succeed"]], "the command has not failed! (error)": [[59, "coq:exn.The-command-has-not-failed!"]], "the file \u2018ident\u2019.vo contains library \u2018qualid\u2019 and not library \u2018qualid\u2019 (error)": [[59, "coq:exn.The-file-\u2018ident\u2019.vo-contains-library-\u2018qualid\u2019-and-not-library-\u2018qualid\u2019"]], "the type \u2018ident\u2019 must be registered before this construction can be typechecked (error)": [[59, "coq:exn.The-type-\u2018ident\u2019-must-be-registered-before-this-construction-can-be-typechecked"]], "this object does not support universe names (error)": [[59, "coq:exn.This-object-does-not-support-universe-names"]], "time (command)": [[59, "coq:cmd.Time"]], "timeout (command)": [[59, "coq:cmd.Timeout"]], "type (command)": [[59, "coq:cmd.Type"]], "universe checking (flag)": [[59, "coq:flag.Universe-Checking"]], "universe instance length is \u2018natural\u2019 but should be \u2018natural\u2019 (error)": [[59, "coq:exn.Universe-instance-length-is-\u2018natural\u2019-but-should-be-\u2018natural\u2019"]], "warnings (option)": [[59, "coq:opt.Warnings"]], "bypass_check(guard) (attribute)": [[59, "coq:attr.bypass_check(guard)"]], "bypass_check(positivity) (attribute)": [[59, "coq:attr.bypass_check(positivity)"]], "bypass_check(universes) (attribute)": [[59, "coq:attr.bypass_check(universes)"]], "package-name.foo and not foo_plugin (error)": [[59, "coq:exn.package-name.foo-and-not-foo_plugin"]], "plugin name anymore. plugins should be loaded using their (error)": [[59, "coq:exn.plugin-name-anymore.-Plugins-should-be-loaded-using-their"]], "public name according to findlib, for example (error)": [[59, "coq:exn.public-name-according-to-findlib,-for-example"]], "shared library failed: coq error: \u2018string\u2019 is not a valid (error)": [[59, "coq:exn.shared-library-failed:-Coq-Error:-\u2018string\u2019-is-not-a-valid"]], "\u2018qualid\u2019 not a defined object (error)": [[59, "coq:exn.\u2018qualid\u2019-not-a-defined-object"]], "cannot coerce \u2018qualid\u2019 to an evaluable reference (error)": [[60, "coq:exn.Cannot-coerce-\u2018qualid\u2019-to-an-evaluable-reference"]], "create hintdb (command)": [[60, "coq:cmd.Create-HintDb"]], "debug auto (flag)": [[60, "coq:flag.Debug-Auto"]], "debug eauto (flag)": [[60, "coq:flag.Debug-Eauto"]], "debug trivial (flag)": [[60, "coq:flag.Debug-Trivial"]], "declaring arbitrary terms as hints is fragile and deprecated": [[60, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead"]], "hint constants (command)": [[60, "coq:cmd.Hint-Constants"]], "hint constructors (command)": [[60, "coq:cmd.Hint-Constructors"]], "hint cut (command)": [[60, "coq:cmd.Hint-Cut"]], "hint extern (command)": [[60, "coq:cmd.Hint-Extern"]], "hint immediate (command)": [[60, "coq:cmd.Hint-Immediate"]], "hint mode (command)": [[60, "coq:cmd.Hint-Mode"]], "hint opaque (command)": [[60, "coq:cmd.Hint-Opaque"]], "hint projections (command)": [[60, "coq:cmd.Hint-Projections"]], "hint resolve (command)": [[60, "coq:cmd.Hint-Resolve"]], "hint rewrite (command)": [[60, "coq:cmd.Hint-Rewrite"]], "hint transparent (command)": [[60, "coq:cmd.Hint-Transparent"]], "hint unfold (command)": [[60, "coq:cmd.Hint-Unfold"]], "hint variables (command)": [[60, "coq:cmd.Hint-Variables"]], "info auto (flag)": [[60, "coq:flag.Info-Auto"]], "info eauto (flag)": [[60, "coq:flag.Info-Eauto"]], "info trivial (flag)": [[60, "coq:flag.Info-Trivial"]], "loose hint behavior (option)": [[60, "coq:opt.Loose-Hint-Behavior"]], "print hint (command)": [[60, "coq:cmd.Print-Hint"]], "print hintdb (command)": [[60, "coq:cmd.Print-HintDb"]], "print rewrite hintdb (command)": [[60, "coq:cmd.Print-Rewrite-HintDb"]], "proof with (command)": [[60, "coq:cmd.Proof-with"]], "remove hints (command)": [[60, "coq:cmd.Remove-Hints"]], "the \"at\" syntax isn't available yet for the autorewrite tactic (error)": [[60, "coq:exn.The-\"at\"-syntax-isn't-available-yet-for-the-autorewrite-tactic"]], "this hint is not local but depends on a section variable. it will disappear when the section is closed (warning)": [[60, "coq:warn.This-hint-is-not-local-but-depends-on-a-section-variable.-It-will-disappear-when-the-section-is-closed"]], "auto (tactic)": [[60, "coq:tacn.auto"]], "autorewrite (tactic)": [[60, "coq:tacn.autorewrite"]], "autounfold (tactic)": [[60, "coq:tacn.autounfold"]], "autounfold_one (tactic)": [[60, "coq:tacn.autounfold_one"]], "debug auto (tactic)": [[60, "coq:tacn.debug-auto"]], "debug eauto (tactic)": [[60, "coq:tacn.debug-eauto"]], "debug trivial (tactic)": [[60, "coq:tacn.debug-trivial"]], "easy (tactic)": [[60, "coq:tacn.easy"]], "eauto (tactic)": [[60, "coq:tacn.eauto"]], "info_auto (tactic)": [[60, "coq:tacn.info_auto"]], "info_eauto (tactic)": [[60, "coq:tacn.info_eauto"]], "info_trivial (tactic)": [[60, "coq:tacn.info_trivial"]], "it is recommended to declare a toplevel constant instead (warning)": [[60, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead"]], "mismatched-hint-db (warning)": [[60, "coq:warn.mismatched-hint-db"]], "now (tactic)": [[60, "coq:tacn.now"]], "trivial (tactic)": [[60, "coq:tacn.trivial"]], "\u2018qualid\u2019 cannot be used as a hint (error)": [[60, "coq:exn.\u2018qualid\u2019-cannot-be-used-as-a-hint"]], "\u2018qualid\u2019 is not an inductive type (error)": [[60, "coq:exn.\u2018qualid\u2019-is-not-an-inductive-type"]], "cannot recognize a boolean equality (error)": [[62, "coq:exn.Cannot-recognize-a-boolean-equality"]], "firstorder depth (option)": [[62, "coq:opt.Firstorder-Depth"]], "firstorder solver (option)": [[62, "coq:opt.Firstorder-Solver"]], "goal is solvable by congruence but some arguments are missing. try congruence with \u2018term\u2019\u2026\u2018term\u2019, replacing metavariables by arbitrary terms (error)": [[62, "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"]], "i don\u2019t know how to handle dependent equality (error)": [[62, "coq:exn.I-don\u2019t-know-how-to-handle-dependent-equality"]], "intuition negation unfolding (flag)": [[62, "coq:flag.Intuition-Negation-Unfolding"]], "print firstorder solver (command)": [[62, "coq:cmd.Print-Firstorder-Solver"]], "btauto (tactic)": [[62, "coq:tacn.btauto"]], "congruence (tactic)": [[62, "coq:tacn.congruence"]], "dintuition (tactic)": [[62, "coq:tacn.dintuition"]], "dtauto (tactic)": [[62, "coq:tacn.dtauto"]], "firstorder (tactic)": [[62, "coq:tacn.firstorder"]], "intuition (tactic)": [[62, "coq:tacn.intuition"]], "rtauto (tactic)": [[62, "coq:tacn.rtauto"]], "simple congruence (tactic)": [[62, "coq:tacn.simple-congruence"]], "tauto (tactic)": [[62, "coq:tacn.tauto"]], "bad occurrence number of \u2018qualid\u2019 (error)": [[64, "coq:exn.Bad-occurrence-number-of-\u2018qualid\u2019"]], "cannot find a relation to rewrite (error)": [[64, "coq:exn.Cannot-find-a-relation-to-rewrite"]], "cannot find any non-recursive equality over \u2018ident\u2019 (error)": [[64, "coq:exn.Cannot-find-any-non-recursive-equality-over-\u2018ident\u2019"]], "cannot turn [inductive|constructor] into an evaluable reference (error)": [[64, "coq:exn.Cannot-turn-[inductive|constructor]-into-an-evaluable-reference"]], "compute (command)": [[64, "coq:cmd.Compute"]], "declare equivalent keys (command)": [[64, "coq:cmd.Declare-Equivalent-Keys"]], "declare left step (command)": [[64, "coq:cmd.Declare-Left-Step"]], "declare reduction (command)": [[64, "coq:cmd.Declare-Reduction"]], "declare right step (command)": [[64, "coq:cmd.Declare-Right-Step"]], "eval (command)": [[64, "coq:cmd.Eval"]], "found an \"at\" clause without \"with\" clause (error)": [[64, "coq:exn.Found-an-\"at\"-clause-without-\"with\"-clause"]], "found no subterm matching \u2018term\u2019 in the current goal (error)": [[64, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-the-current-goal"]], "found no subterm matching \u2018term\u2019 in \u2018ident\u2019 (error)": [[64, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-\u2018ident\u2019"]], "kernel term sharing (flag)": [[64, "coq:flag.Kernel-Term-Sharing"]], "keyed unification (flag)": [[64, "coq:flag.Keyed-Unification"]], "nativecompute profile filename (option)": [[64, "coq:opt.NativeCompute-Profile-Filename"]], "nativecompute profiling (flag)": [[64, "coq:flag.NativeCompute-Profiling"]], "nativecompute timing (flag)": [[64, "coq:flag.NativeCompute-Timing"]], "no head constant to reduce (error)": [[64, "coq:exn.No-head-constant-to-reduce"]], "not convertible (error)": [[64, "coq:exn.Not-convertible"]], "opaque (command)": [[64, "coq:cmd.Opaque"]], "print equivalent keys (command)": [[64, "coq:cmd.Print-Equivalent-Keys"]], "print strategies (command)": [[64, "coq:cmd.Print-Strategies"]], "print strategy (command)": [[64, "coq:cmd.Print-Strategy"]], "regular subst tactic (flag)": [[64, "coq:flag.Regular-Subst-Tactic"]], "section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in hypothesis \u2018ident\u2019 (error)": [[64, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-hypothesis-\u2018ident\u2019"]], "section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in the conclusion (error)": [[64, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-the-conclusion"]], "strategy (command)": [[64, "coq:cmd.Strategy"]], "tactic failure: setoid library not loaded (error)": [[64, "coq:exn.Tactic-failure:-Setoid-library-not-loaded"]], "tactic generated a subgoal identical to the original goal (error)": [[64, "coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal"]], "terms do not have convertible types (error)": [[64, "coq:exn.Terms-do-not-have-convertible-types"]], "the reference is not unfoldable (error)": [[64, "coq:exn.The-reference-is-not-unfoldable"]], "the reference \u2018qualid\u2019 was not found in the current environment (error)": [[64, "coq:exn.The-reference-\u2018qualid\u2019-was-not-found-in-the-current-environment"]], "the relation \u2018ident\u2019 is not a declared reflexive relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-reflexive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "the relation \u2018ident\u2019 is not a declared symmetric relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-symmetric-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "the relation \u2018ident\u2019 is not a declared transitive relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-transitive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "transparent (command)": [[64, "coq:cmd.Transparent"]], "cbn (tactic)": [[64, "coq:tacn.cbn"]], "cbv (tactic)": [[64, "coq:tacn.cbv"]], "change (tactic)": [[64, "coq:tacn.change"]], "change_no_check (tactic)": [[64, "coq:tacn.change_no_check"]], "compute (tactic)": [[64, "coq:tacn.compute"]], "erewrite (tactic)": [[64, "coq:tacn.erewrite"]], "etransitivity (tactic)": [[64, "coq:tacn.etransitivity"]], "eval (tactic)": [[64, "coq:tacn.eval"]], "f_equal (tactic)": [[64, "coq:tacn.f_equal"]], "fold (tactic)": [[64, "coq:tacn.fold"]], "hnf (tactic)": [[64, "coq:tacn.hnf"]], "lazy (tactic)": [[64, "coq:tacn.lazy"]], "native_compute (tactic)": [[64, "coq:tacn.native_compute"]], "now_show (tactic)": [[64, "coq:tacn.now_show"]], "pattern (tactic)": [[64, "coq:tacn.pattern"]], "red (tactic)": [[64, "coq:tacn.red"]], "reflexivity (tactic)": [[64, "coq:tacn.reflexivity"]], "replace (tactic)": [[64, "coq:tacn.replace"]], "rewrite (tactic)": [[64, "coq:tacn.rewrite"]], "rewrite * (tactic)": [[64, "coq:tacn.rewrite-*"]], "simpl (tactic)": [[64, "coq:tacn.simpl"]], "simple subst (tactic)": [[64, "coq:tacn.simple-subst"]], "stepl (tactic)": [[64, "coq:tacn.stepl"]], "stepr (tactic)": [[64, "coq:tacn.stepr"]], "subst (tactic)": [[64, "coq:tacn.subst"]], "substitute (tactic)": [[64, "coq:tacn.substitute"]], "symmetry (tactic)": [[64, "coq:tacn.symmetry"]], "transitivity (tactic)": [[64, "coq:tacn.transitivity"]], "unfold (tactic)": [[64, "coq:tacn.unfold"]], "vm_compute (tactic)": [[64, "coq:tacn.vm_compute"]], "with_strategy (tactic)": [[64, "coq:tacn.with_strategy"]], "\u2018ident\u2019 is opaque (error)": [[64, "coq:exn.\u2018ident\u2019-is-opaque"]], "\u2018qualid\u2019 does not occur (error)": [[64, "coq:exn.\u2018qualid\u2019-does-not-occur"]], "\"all\" is a predefined collection containing all variables. it can't be redefined (error)": [[66, "coq:exn.\"All\"-is-a-predefined-collection-containing-all-variables.-It-can't-be-redefined"]], "abort (command)": [[66, "coq:cmd.Abort"]], "admitted (command)": [[66, "coq:cmd.Admitted"]], "attempt to save an incomplete proof (error)": [[66, "coq:exn.Attempt-to-save-an-incomplete-proof"]], "brackets do not support multi-goal selectors (error)": [[66, "coq:exn.Brackets-do-not-support-multi-goal-selectors"]], "bullet behavior (option)": [[66, "coq:opt.Bullet-Behavior"]], "collection (command)": [[66, "coq:cmd.Collection"]], "default proof mode (option)": [[66, "coq:opt.Default-Proof-Mode"]], "default proof using (option)": [[66, "coq:opt.Default-Proof-Using"]], "defined (command)": [[66, "coq:cmd.Defined"]], "diffs (option)": [[66, "coq:opt.Diffs"]], "focus (command)": [[66, "coq:cmd.Focus"]], "goal (command)": [[66, "coq:cmd.Goal"]], "guarded (command)": [[66, "coq:cmd.Guarded"]], "hyps limit (option)": [[66, "coq:opt.Hyps-Limit"]], "mangle names (flag)": [[66, "coq:flag.Mangle-Names"]], "mangle names light (flag)": [[66, "coq:flag.Mangle-Names-Light"]], "mangle names prefix (option)": [[66, "coq:opt.Mangle-Names-Prefix"]], "nested proofs allowed (flag)": [[66, "coq:flag.Nested-Proofs-Allowed"]], "new collection definition of \u2018ident\u2019 shadows the previous one (warning)": [[66, "coq:warn.New-Collection-definition-of-\u2018ident\u2019-shadows-the-previous-one"]], "no focused proof (no proof-editing in progress) (error)": [[66, "coq:exn.No-focused-proof-(No-proof-editing-in-progress)"]], "no focused proof (error)": [[66, "coq:exn.No-focused-proof"]], "no focused proof to restart (error)": [[66, "coq:exn.No-focused-proof-to-restart"]], "no such goal (error)": [[66, "coq:exn.No-such-goal"]], "no such goal (\u2018ident\u2019) (error)": [[66, "coq:exn.No-such-goal-(\u2018ident\u2019)"]], "no such goal (\u2018natural\u2019) (error)": [[66, "coq:exn.No-such-goal-(\u2018natural\u2019)"]], "no such goal. focus next goal with bullet \u2018bullet\u2019 (error)": [[66, "coq:exn.No-such-goal.-Focus-next-goal-with-bullet-\u2018bullet\u2019"]], "no such goal. try unfocusing with } (error)": [[66, "coq:exn.No-such-goal.-Try-unfocusing-with-}"]], "optimize heap (command)": [[66, "coq:cmd.Optimize-Heap"]], "optimize proof (command)": [[66, "coq:cmd.Optimize-Proof"]], "print debug gc (command)": [[66, "coq:cmd.Print-Debug-GC"]], "printing goal names (flag)": [[66, "coq:flag.Printing-Goal-Names"]], "printing goal tags (flag)": [[66, "coq:flag.Printing-Goal-Tags"]], "proof (command)": [[66, "coq:cmd.Proof"]], "proof mode (command)": [[66, "coq:cmd.Proof-Mode"]], "proof `term` (command)": [[66, "coq:cmd.Proof-`term`"]], "proof is not complete. (abstract) (error)": [[66, "coq:exn.Proof-is-not-complete.-(abstract)"]], "proof using (command)": [[66, "coq:cmd.Proof-using"]], "qed (command)": [[66, "coq:cmd.Qed"]], "restart (command)": [[66, "coq:cmd.Restart"]], "save (command)": [[66, "coq:cmd.Save"]], "show (command)": [[66, "coq:cmd.Show"]], "show conjectures (command)": [[66, "coq:cmd.Show-Conjectures"]], "show existentials (command)": [[66, "coq:cmd.Show-Existentials"]], "show goal (command)": [[66, "coq:cmd.Show-Goal"]], "show intro (command)": [[66, "coq:cmd.Show-Intro"]], "show intros (command)": [[66, "coq:cmd.Show-Intros"]], "show match (command)": [[66, "coq:cmd.Show-Match"]], "show proof (command)": [[66, "coq:cmd.Show-Proof"]], "show universes (command)": [[66, "coq:cmd.Show-Universes"]], "solve unification constraints (flag)": [[66, "coq:flag.Solve-Unification-Constraints"]], "suggest proof using (flag)": [[66, "coq:flag.Suggest-Proof-Using"]], "this proof is focused, but cannot be unfocused this way (error)": [[66, "coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way"]], "undo (command)": [[66, "coq:cmd.Undo"]], "unfocus (command)": [[66, "coq:cmd.Unfocus"]], "unfocused (command)": [[66, "coq:cmd.Unfocused"]], "unknown inductive type (error)": [[66, "coq:exn.Unknown-inductive-type"]], "unshelve (command)": [[66, "coq:cmd.Unshelve"]], "validate proof (command)": [[66, "coq:cmd.Validate-Proof"]], "variable all is shadowed by collection named all containing all variables (warning)": [[66, "coq:warn.Variable-All-is-shadowed-by-Collection-named-All-containing-all-variables"]], "wrong bullet \u2018bullet\u2019: bullet \u2018bullet\u2019 is mandatory here (error)": [[66, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Bullet-\u2018bullet\u2019-is-mandatory-here"]], "wrong bullet \u2018bullet\u2019: current bullet \u2018bullet\u2019 is not finished (error)": [[66, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Current-bullet-\u2018bullet\u2019-is-not-finished"]], "abstract (tactic)": [[66, "coq:tacn.abstract"]], "admit (tactic)": [[66, "coq:tacn.admit"]], "bullet (- + *) (tactic)": [[66, "coq:tacn.bullet-(--+-*)"]], "cycle (tactic)": [[66, "coq:tacn.cycle"]], "give_up (tactic)": [[66, "coq:tacn.give_up"]], "revgoals (tactic)": [[66, "coq:tacn.revgoals"]], "shelve (tactic)": [[66, "coq:tacn.shelve"]], "shelve_unifiable (tactic)": [[66, "coq:tacn.shelve_unifiable"]], "solve_constraints (tactic)": [[66, "coq:tacn.solve_constraints"]], "swap (tactic)": [[66, "coq:tacn.swap"]], "transparent_abstract (tactic)": [[66, "coq:tacn.transparent_abstract"]], "unshelve (tactic)": [[66, "coq:tacn.unshelve"]], "using (attribute)": [[66, "coq:attr.using"]], "{ (tactic)": [[66, "coq:tacn.{"]], "} (tactic)": [[66, "coq:tacn.}"]], "\u2018ident\u2019 is both name of a collection and variable, collection \u2018ident\u2019 takes precedence over variable (warning)": [[66, "coq:warn.\u2018ident\u2019-is-both-name-of-a-Collection-and-Variable,-Collection-\u2018ident\u2019-takes-precedence-over-Variable"]], "\u2018ident\u2019 was already a defined variable, the name \u2018ident\u2019 will refer to collection when executing \"proof using\" command (warning)": [[66, "coq:warn.\u2018ident\u2019-was-already-a-defined-Variable,-the-name-\u2018ident\u2019-will-refer-to-Collection-when-executing-\"Proof-using\"-command"]], "boolean equality schemes (flag)": [[67, "coq:flag.Boolean-Equality-Schemes"]], "cannot recognize a statement based on \u2018reference\u2019 (error)": [[67, "coq:exn.Cannot-recognize-a-statement-based-on-\u2018reference\u2019"]], "case analysis schemes (flag)": [[67, "coq:flag.Case-Analysis-Schemes"]], "combined scheme (command)": [[67, "coq:cmd.Combined-Scheme"]], "decidable equality schemes (flag)": [[67, "coq:flag.Decidable-Equality-Schemes"]], "derive dependent inversion (command)": [[67, "coq:cmd.Derive-Dependent-Inversion"]], "derive dependent inversion_clear (command)": [[67, "coq:cmd.Derive-Dependent-Inversion_clear"]], "derive inversion (command)": [[67, "coq:cmd.Derive-Inversion"]], "derive inversion_clear (command)": [[67, "coq:cmd.Derive-Inversion_clear"]], "elimination schemes (flag)": [[67, "coq:flag.Elimination-Schemes"]], "keep equalities (table)": [[67, "coq:table.Keep-Equalities"]], "keep proof equalities (flag)": [[67, "coq:flag.Keep-Proof-Equalities"]], "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 (error)": [[67, "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"]], "no primitive equality found (error)": [[67, "coq:exn.No-primitive-equality-found"]], "nonrecursive elimination schemes (flag)": [[67, "coq:flag.Nonrecursive-Elimination-Schemes"]], "not a discriminable equality (error)": [[67, "coq:exn.Not-a-discriminable-equality"]], "not a negated primitive equality (error)": [[67, "coq:exn.Not-a-negated-primitive-equality"]], "not an inductive goal with 1 constructor (error)": [[67, "coq:exn.Not-an-inductive-goal-with-1-constructor"]], "not an inductive goal with 2 constructors (error)": [[67, "coq:exn.Not-an-inductive-goal-with-2-constructors"]], "not an inductive product (error)": [[67, "coq:exn.Not-an-inductive-product"]], "not enough constructors (error)": [[67, "coq:exn.Not-enough-constructors"]], "nothing to inject (error)": [[67, "coq:exn.Nothing-to-inject"]], "rewriting schemes (flag)": [[67, "coq:flag.Rewriting-Schemes"]], "scheme (command)": [[67, "coq:cmd.Scheme"]], "scheme boolean equality (command)": [[67, "coq:cmd.Scheme-Boolean-Equality"]], "scheme equality (command)": [[67, "coq:cmd.Scheme-Equality"]], "structural injection (flag)": [[67, "coq:flag.Structural-Injection"]], "the type has no constructors (error)": [[67, "coq:exn.The-type-has-no-constructors"]], "type of \u2018ident\u2019 is not an equality of recognized \u03c3 types: expected one of sig sig2 sigt sigt2 sigt2 ex or ex2 but got \u2018term\u2019 (error)": [[67, "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"]], "unable to find an instance for the variables \u2018ident\u2019 \u2026 \u2018ident\u2019 (error)": [[67, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019-\u2026-\u2018ident\u2019"]], "case (tactic)": [[67, "coq:tacn.case"]], "case_eq (tactic)": [[67, "coq:tacn.case_eq"]], "cofix (tactic)": [[67, "coq:tacn.cofix"]], "compare (tactic)": [[67, "coq:tacn.compare"]], "constructor (tactic)": [[67, "coq:tacn.constructor"]], "decide (tactic)": [[67, "coq:tacn.decide"]], "decide equality (tactic)": [[67, "coq:tacn.decide-equality"]], "decompose (tactic)": [[67, "coq:tacn.decompose"]], "decompose record (tactic)": [[67, "coq:tacn.decompose-record"]], "decompose sum (tactic)": [[67, "coq:tacn.decompose-sum"]], "dependent destruction (tactic)": [[67, "coq:tacn.dependent-destruction"]], "dependent induction (tactic)": [[67, "coq:tacn.dependent-induction"]], "dependent inversion (tactic)": [[67, "coq:tacn.dependent-inversion"]], "dependent inversion_clear (tactic)": [[67, "coq:tacn.dependent-inversion_clear"]], "dependent rewrite (tactic)": [[67, "coq:tacn.dependent-rewrite"]], "dependent simple inversion (tactic)": [[67, "coq:tacn.dependent-simple-inversion"]], "destauto (tactic)": [[67, "coq:tacn.destauto"]], "destruct (tactic)": [[67, "coq:tacn.destruct"]], "discriminate (tactic)": [[67, "coq:tacn.discriminate"]], "ecase (tactic)": [[67, "coq:tacn.ecase"]], "econstructor (tactic)": [[67, "coq:tacn.econstructor"]], "edestruct (tactic)": [[67, "coq:tacn.edestruct"]], "ediscriminate (tactic)": [[67, "coq:tacn.ediscriminate"]], "eelim (tactic)": [[67, "coq:tacn.eelim"]], "eexists (tactic)": [[67, "coq:tacn.eexists"]], "einduction (tactic)": [[67, "coq:tacn.einduction"]], "einjection (tactic)": [[67, "coq:tacn.einjection"]], "eleft (tactic)": [[67, "coq:tacn.eleft"]], "elim (tactic)": [[67, "coq:tacn.elim"]], "eright (tactic)": [[67, "coq:tacn.eright"]], "esimplify_eq (tactic)": [[67, "coq:tacn.esimplify_eq"]], "esplit (tactic)": [[67, "coq:tacn.esplit"]], "exists (tactic)": [[67, "coq:tacn.exists"]], "fix (tactic)": [[67, "coq:tacn.fix"]], "induction (tactic)": [[67, "coq:tacn.induction"]], "injection (tactic)": [[67, "coq:tacn.injection"]], "inversion (tactic)": [[67, "coq:tacn.inversion"]], "inversion_clear (tactic)": [[67, "coq:tacn.inversion_clear"]], "inversion_sigma (tactic)": [[67, "coq:tacn.inversion_sigma"]], "left (tactic)": [[67, "coq:tacn.left"]], "right (tactic)": [[67, "coq:tacn.right"]], "simple destruct (tactic)": [[67, "coq:tacn.simple-destruct"]], "simple induction (tactic)": [[67, "coq:tacn.simple-induction"]], "simple injection (tactic)": [[67, "coq:tacn.simple-injection"]], "simple inversion (tactic)": [[67, "coq:tacn.simple-inversion"]], "simplify_eq (tactic)": [[67, "coq:tacn.simplify_eq"]], "split (tactic)": [[67, "coq:tacn.split"]], "\u2018ident\u2019 is not an equality of \u03c3 types (error)": [[67, "coq:exn.\u2018ident\u2019-is-not-an-equality-of-\u03a3-types"]], "'via' and 'abstract' cannot be used together (error)": [[71, "coq:exn.'via'-and-'abstract'-cannot-be-used-together"]], "activation of abbreviations does not expect mentioning a grammar entry (warning)": [[71, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-grammar-entry"]], "activation of abbreviations does not expect mentioning a scope (warning)": [[71, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-scope"]], "bind scope (command)": [[71, "coq:cmd.Bind-Scope"]], "cannot interpret in \u2018scope_name\u2019 because \u2018qualid\u2019 could not be found in the current environment (error)": [[71, "coq:exn.Cannot-interpret-in-\u2018scope_name\u2019-because-\u2018qualid\u2019-could-not-be-found-in-the-current-environment"]], "cannot interpret this number as a value of type \u2018type\u2019 (error)": [[71, "coq:exn.Cannot-interpret-this-number-as-a-value-of-type-\u2018type\u2019"]], "cannot interpret this string as a value of type \u2018type\u2019 (error)": [[71, "coq:exn.Cannot-interpret-this-string-as-a-value-of-type-\u2018type\u2019"]], "close scope (command)": [[71, "coq:cmd.Close-Scope"]], "declare custom entry (command)": [[71, "coq:cmd.Declare-Custom-Entry"]], "declare scope (command)": [[71, "coq:cmd.Declare-Scope"]], "delimit scope (command)": [[71, "coq:cmd.Delimit-Scope"]], "disable notation (command)": [[71, "coq:cmd.Disable-Notation"]], "enable notation (command)": [[71, "coq:cmd.Enable-Notation"]], "end of quoted string not followed by a space in notation (error)": [[71, "coq:exn.End-of-quoted-string-not-followed-by-a-space-in-notation"]], "found no matching notation to enable or disable (warning)": [[71, "coq:warn.Found-no-matching-notation-to-enable-or-disable"]], "infix (command)": [[71, "coq:cmd.Infix"]], "missing mapping for constructor \u2018qualid\u2019 (error)": [[71, "coq:exn.Missing-mapping-for-constructor-\u2018qualid\u2019"]], "more than one interpretation bound to this notation, confirm with the \"all\" modifier (error)": [[71, "coq:exn.More-than-one-interpretation-bound-to-this-notation,-confirm-with-the-\"all\"-modifier"]], "multiple 'via' options (error)": [[71, "coq:exn.Multiple-'via'-options"]], "multiple 'warning after' or 'abstract after' options (error)": [[71, "coq:exn.Multiple-'warning-after'-or-'abstract-after'-options"]], "no notation provided (error)": [[71, "coq:exn.No-notation-provided"]], "notation (abbreviation) (command)": [[71, "coq:cmd.Notation-(abbreviation)"]], "notation (command)": [[71, "coq:cmd.Notation"]], "number notation (command)": [[71, "coq:cmd.Number-Notation"]], "open scope (command)": [[71, "coq:cmd.Open-Scope"]], "print custom grammar (command)": [[71, "coq:cmd.Print-Custom-Grammar"]], "print grammar (command)": [[71, "coq:cmd.Print-Grammar"]], "print keywords (command)": [[71, "coq:cmd.Print-Keywords"]], "print notation (command)": [[71, "coq:cmd.Print-Notation"]], "print scope (command)": [[71, "coq:cmd.Print-Scope"]], "print scopes (command)": [[71, "coq:cmd.Print-Scopes"]], "print visibility (command)": [[71, "coq:cmd.Print-Visibility"]], "printing notations (flag)": [[71, "coq:flag.Printing-Notations"]], "printing parentheses (flag)": [[71, "coq:flag.Printing-Parentheses"]], "printing raw literals (flag)": [[71, "coq:flag.Printing-Raw-Literals"]], "reserved infix (command)": [[71, "coq:cmd.Reserved-Infix"]], "reserved notation (command)": [[71, "coq:cmd.Reserved-Notation"]], "scope delimiters should not start with an underscore (error)": [[71, "coq:exn.Scope-delimiters-should-not-start-with-an-underscore"]], "scope names should not start with an underscore (error)": [[71, "coq:exn.Scope-names-should-not-start-with-an-underscore"]], "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) (warning)": [[71, "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)"]], "string notation (command)": [[71, "coq:cmd.String-Notation"]], "syntax error: [prim:reference] expected after 'notation' (in [vernac:command]) (error)": [[71, "coq:exn.Syntax-error:-[prim:reference]-expected-after-'Notation'-(in-[vernac:command])"]], "syntax error: [prim:reference] expected after [prim:reference] (in [vernac:command]) (error)": [[71, "coq:exn.Syntax-error:-[prim:reference]-expected-after-[prim:reference]-(in-[vernac:command])"]], "tactic notation (command)": [[71, "coq:cmd.Tactic-Notation"]], "the 'abstract after' directive has no effect when the parsing function (\u2018qualid\u2019) targets an option type (warning)": [[71, "coq:warn.The-'abstract-after'-directive-has-no-effect-when-the-parsing-function-(\u2018qualid\u2019)-targets-an-option-type"]], "to avoid stack overflow, large numbers in \u2018type\u2019 are interpreted as applications of \u2018qualid\u2019 (warning)": [[71, "coq:warn.To-avoid-stack-overflow,-large-numbers-in-\u2018type\u2019-are-interpreted-as-applications-of-\u2018qualid\u2019"]], "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 (warning)": [[71, "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"]], "undelimit scope (command)": [[71, "coq:cmd.Undelimit-Scope"]], "unexpected non-option term \u2018term\u2019 while parsing a number notation (error)": [[71, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-number-notation"]], "unexpected non-option term \u2018term\u2019 while parsing a string notation (error)": [[71, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-string-notation"]], "unexpected only parsing for an only printing notation (error)": [[71, "coq:exn.Unexpected-only-parsing-for-an-only-printing-notation"]], "unexpected only printing for an only parsing notation (error)": [[71, "coq:exn.Unexpected-only-printing-for-an-only-parsing-notation"]], "unexpected term \u2018term\u2019 while parsing a number notation (error)": [[71, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-number-notation"]], "unexpected term \u2018term\u2019 while parsing a string notation (error)": [[71, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-string-notation"]], "unknown custom entry (error)": [[71, "coq:exn.Unknown-custom-entry"]], "unknown custom entry: \u2018ident\u2019 (error)": [[71, "coq:exn.Unknown-custom-entry:-\u2018ident\u2019"]], "unterminated string in notation (error)": [[71, "coq:exn.Unterminated-string-in-notation"]], "use of \u2018string\u2019 notation is deprecated as it is inconsistent with pattern syntax (warning)": [[71, "coq:warn.Use-of-\u2018string\u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax"]], "add_bottom (attribute)": [[71, "coq:attr.add_bottom"]], "add_top (attribute)": [[71, "coq:attr.add_top"]], "closed-notation-not-level-0 (warning)": [[71, "coq:warn.closed-notation-not-level-0"]], "function_scope": [[71, "index-1"]], "notation-incompatible-prefix (warning)": [[71, "coq:warn.notation-incompatible-prefix"]], "overflow in int63 literal \u2018bigint\u2019 (error)": [[71, "coq:exn.overflow-in-int63-literal-\u2018bigint\u2019"]], "postfix-notation-not-level-1 (warning)": [[71, "coq:warn.postfix-notation-not-level-1"]], "type_scope": [[71, "index-0"]], "\u2018qualid\u2019 is bound to a notation that does not denote a reference (error)": [[71, "coq:exn.\u2018qualid\u2019-is-bound-to-a-notation-that-does-not-denote-a-reference"]], "\u2018qualid\u2019 should go from byte.byte, (list byte.byte), or primstring.string to \u2018type\u2019 or (option \u2018type\u2019) (error)": [[71, "coq:exn.\u2018qualid\u2019-should-go-from-Byte.byte,-(list-Byte.byte),-or-PrimString.string-to-\u2018type\u2019-or-(option-\u2018type\u2019)"]], "\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) (error)": [[71, "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)"]], "\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) (error)": [[71, "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)"]], "\u2018qualid\u2019 should go from \u2018type\u2019 to t or (option t), where t is either byte.byte, (list byte.byte), or primstring.string (error)": [[71, "coq:exn.\u2018qualid\u2019-should-go-from-\u2018type\u2019-to-T-or-(option-T),-where-T-is-either-Byte.byte,-(list-Byte.byte),-or-PrimString.string"]], "\u2018qualid\u2019 was already mapped to \u2018qualid\u2019 and cannot be remapped to \u2018qualid\u2019 (error)": [[71, "coq:exn.\u2018qualid\u2019-was-already-mapped-to-\u2018qualid\u2019-and-cannot-be-remapped-to-\u2018qualid\u2019"]], "\u2018string\u2019 cannot be interpreted as a known notation in \u2018ident\u2019 entry. make sure that symbols are surrounded by spaces and that holes are explicitly denoted by \"_\" (error)": [[71, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation-in-\u2018ident\u2019-entry.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\""]], "\u2018string\u2019 cannot be interpreted as a known notation. make sure that symbols are surrounded by spaces and that holes are explicitly denoted by \"_\" (error)": [[71, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\""]], "\u2018type\u2019 is not an inductive type (error)": [[71, "coq:exn.\u2018type\u2019-is-not-an-inductive-type"]], "\u2018type\u2019 was already mapped to \u2018type\u2019, mapping it also to \u2018type\u2019 might yield ill typed terms when using the notation (warning)": [[71, "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"]], "cannot build functional inversion principle (warning)": [[72, "coq:warn.Cannot-build-functional-inversion-principle"]], "cannot define graph for \u2018ident\u2019 (warning)": [[72, "coq:warn.Cannot-define-graph-for-\u2018ident\u2019"]], "cannot define principle(s) for \u2018ident\u2019 (warning)": [[72, "coq:warn.Cannot-define-principle(s)-for-\u2018ident\u2019"]], "cannot find induction information on \u2018qualid\u2019 (error)": [[72, "coq:exn.Cannot-find-induction-information-on-\u2018qualid\u2019"]], "cannot find inversion information for hypothesis \u2018ident\u2019 (error)": [[72, "coq:exn.Cannot-find-inversion-information-for-hypothesis-\u2018ident\u2019"]], "cannot use mutual definition with well-founded recursion or measure (error)": [[72, "coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure"]], "function (command)": [[72, "coq:cmd.Function"]], "functional case (command)": [[72, "coq:cmd.Functional-Case"]], "functional scheme (command)": [[72, "coq:cmd.Functional-Scheme"]], "generate graph for (command)": [[72, "coq:cmd.Generate-graph-for"]], "hypothesis \u2018ident\u2019 must contain at least one function (error)": [[72, "coq:exn.Hypothesis-\u2018ident\u2019-must-contain-at-least-one-Function"]], "no argument name \u2018ident\u2019 (error)": [[72, "coq:exn.No-argument-name-\u2018ident\u2019"]], "not the right number of induction arguments (error)": [[72, "coq:exn.Not-the-right-number-of-induction-arguments"]], "the recursive argument must be specified (error)": [[72, "coq:exn.The-recursive-argument-must-be-specified"]], "functional induction (tactic)": [[72, "coq:tacn.functional-induction"]], "functional inversion (tactic)": [[72, "coq:tacn.functional-inversion"]], "soft functional induction (tactic)": [[72, "coq:tacn.soft-functional-induction"]], "library file (transitively required) \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Library-File-(transitively-required)-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "library file \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Library-File-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "ltac2 alias \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-alias-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 constructor \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-constructor-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 definition \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-definition-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 notation \u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-notation-\u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "notation \u2018string\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Notation-\u2018string\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "tactic notation \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Tactic-Notation-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "tactic \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Tactic-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "deprecated (attribute)": [[74, "coq:attr.deprecated"]], "warn (attribute)": [[74, "coq:attr.warn"]], "\u2018string\u2019 (warning)": [[74, "coq:warn.\u2018string\u2019"]], "coqdoc": [[75, "index-0"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["addendum/canonical-structures", "addendum/extended-pattern-matching", "addendum/extraction", "addendum/generalized-rewriting", "addendum/implicit-coercions", "addendum/micromega", "addendum/miscellaneous-extensions", "addendum/nsatz", "addendum/parallel-proof-processing", "addendum/program", "addendum/rewrite-rules", "addendum/ring", "addendum/sprop", "addendum/type-classes", "addendum/universe-polymorphism", "appendix/history-and-changes/index", "appendix/indexes/index", "changes", "coq-attrindex", "coq-cmdindex", "coq-exnindex", "coq-optindex", "coq-tacindex", "genindex", "history", "index", "language/cic", "language/coq-library", "language/core/assumptions", "language/core/basic", "language/core/coinductive", "language/core/conversion", "language/core/definitions", "language/core/index", "language/core/inductive", "language/core/modules", "language/core/primitive", "language/core/records", "language/core/sections", "language/core/sorts", "language/core/variants", "language/extensions/arguments-command", "language/extensions/canonical", "language/extensions/evars", "language/extensions/implicit-arguments", "language/extensions/index", "language/extensions/match", "language/gallina-extensions", "language/gallina-specification-language", "language/module-system", "license", "practical-tools/coq-commands", "practical-tools/coqide", "practical-tools/utilities", "proof-engine/ltac", "proof-engine/ltac2", "proof-engine/proof-handling", "proof-engine/ssreflect-proof-language", "proof-engine/tactics", "proof-engine/vernacular-commands", "proofs/automatic-tactics/auto", "proofs/automatic-tactics/index", "proofs/automatic-tactics/logic", "proofs/creating-tactics/index", "proofs/writing-proofs/equality", "proofs/writing-proofs/index", "proofs/writing-proofs/proof-mode", "proofs/writing-proofs/reasoning-inductives", "proofs/writing-proofs/rewriting", "std-glossindex", "user-extensions/proof-schemes", "user-extensions/syntax-extensions", "using/libraries/funind", "using/libraries/index", "using/libraries/writing", "using/tools/coqdoc", "using/tools/index", "zebibliography"], "filenames": ["addendum/canonical-structures.rst", "addendum/extended-pattern-matching.rst", "addendum/extraction.rst", "addendum/generalized-rewriting.rst", "addendum/implicit-coercions.rst", "addendum/micromega.rst", "addendum/miscellaneous-extensions.rst", "addendum/nsatz.rst", "addendum/parallel-proof-processing.rst", "addendum/program.rst", "addendum/rewrite-rules.rst", "addendum/ring.rst", "addendum/sprop.rst", "addendum/type-classes.rst", "addendum/universe-polymorphism.rst", "appendix/history-and-changes/index.rst", "appendix/indexes/index.rst", "changes.rst", "coq-attrindex.rst", "coq-cmdindex.rst", "coq-exnindex.rst", "coq-optindex.rst", "coq-tacindex.rst", "genindex.rst", "history.rst", "index.rst", "language/cic.rst", "language/coq-library.rst", "language/core/assumptions.rst", "language/core/basic.rst", "language/core/coinductive.rst", "language/core/conversion.rst", "language/core/definitions.rst", "language/core/index.rst", "language/core/inductive.rst", "language/core/modules.rst", "language/core/primitive.rst", "language/core/records.rst", "language/core/sections.rst", "language/core/sorts.rst", "language/core/variants.rst", "language/extensions/arguments-command.rst", "language/extensions/canonical.rst", "language/extensions/evars.rst", "language/extensions/implicit-arguments.rst", "language/extensions/index.rst", "language/extensions/match.rst", "language/gallina-extensions.rst", "language/gallina-specification-language.rst", "language/module-system.rst", "license.rst", "practical-tools/coq-commands.rst", "practical-tools/coqide.rst", "practical-tools/utilities.rst", "proof-engine/ltac.rst", "proof-engine/ltac2.rst", "proof-engine/proof-handling.rst", "proof-engine/ssreflect-proof-language.rst", "proof-engine/tactics.rst", "proof-engine/vernacular-commands.rst", "proofs/automatic-tactics/auto.rst", "proofs/automatic-tactics/index.rst", "proofs/automatic-tactics/logic.rst", "proofs/creating-tactics/index.rst", "proofs/writing-proofs/equality.rst", "proofs/writing-proofs/index.rst", "proofs/writing-proofs/proof-mode.rst", "proofs/writing-proofs/reasoning-inductives.rst", "proofs/writing-proofs/rewriting.rst", "std-glossindex.rst", "user-extensions/proof-schemes.rst", "user-extensions/syntax-extensions.rst", "using/libraries/funind.rst", "using/libraries/index.rst", "using/libraries/writing.rst", "using/tools/coqdoc.rst", "using/tools/index.rst", "zebibliography.rst"], "titles": ["<no title>", "<no title>", "Program extraction", "Generalized rewriting", "Implicit Coercions", "Micromega: solvers for arithmetic goals over ordered rings", "Program derivation", "Nsatz: a solver for equalities in integral domains", "Asynchronous and Parallel Proof Processing", "Program", "User-defined rewrite rules", "ring and field: solvers for polynomial and rational equations", "SProp (proof irrelevant propositions)", "Typeclasses", "Polymorphic Universes", "History and recent changes", "Indexes", "Recent changes", "Attribute index", "Command index", "Errors and warnings index", "Flags, options and tables index", "Tactic index", "General index", "Early history of Coq", "Introduction and Contents", "Typing rules", "The Coq libraries", "Functions and assumptions", "Basic notions and conventions", "Coinductive types and corecursive functions", "Conversion rules", "Definitions", "Core language", "Inductive types and recursive functions", "The Module System", "Primitive objects", "Record types", "Sections", "Sorts", "Variants and the match
construct", "Setting properties of a function's arguments", "Canonical Structures", "Existential variables", "Implicit arguments", "Language extensions", "Extended pattern matching", "<no title>", "<no title>", "<no title>", "<no title>", "The Rocq Prover commands", "CoqIDE", "Building Rocq Projects", "Ltac", "Ltac2", "<no title>", "The SSReflect proof language", "Tactics", "Commands", "Programmable proof search", "Automatic solvers and programmable tactics", "Solvers for logic and equality", "Creating new tactics", "Reasoning with equalities", "Basic proof writing", "Proof mode", "Reasoning with inductive types", "<no title>", "Glossary index", "<no title>", "Syntax extensions and notation scopes", "Functional induction", "Libraries and plugins", "Writing Rocq libraries and plugins", "Documenting Rocq files with rocq doc", "Command-line and graphical tools", "Bibliography"], "terms": {"newcommand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "kw": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "case": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "con": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "textsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "consf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "emptyf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "kwend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "eveno": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "o": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "fix": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "forest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "functor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ind": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "left": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathrm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "right": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "indp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "indpstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "5": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "inject": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "length": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "letin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "let": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "list": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77], "lra": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "longrightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "match": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "zeroon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "modimp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "moda": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "modtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mto": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nilhl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "_hl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "nO": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "node": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "n": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "odd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ovl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "overlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "pair": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "plu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "sprop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "prop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "set": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "sort": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mathcal": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "str": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "stream": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "struct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "subst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "tl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "tree": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "trii": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "triangleright_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "iota": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "type": [0, 1, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 31, 33, 36, 39, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 56, 58, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 75, 76, 77], "wev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "mbox": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "vdash": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wevt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "w": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wfe": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "e": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wft": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wftwolin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "begin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "l": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wse": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wte": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wteg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "gamma": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "wtm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "cic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "\u03b2\u03b4\u03b9\u03b6": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "latex": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77], "tac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "p": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "program": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "ssreflect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "t": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "m": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "author": [2, 3, 4, 5, 7, 8, 9, 11, 14, 17, 27, 29, 42, 46, 57, 73, 74], "jean": [2, 17, 24, 77], "christoph": [2, 17, 24, 77], "filli\u00e2tr": [2, 17, 24, 77], "pierr": [2, 17, 24, 77], "letouzei": [2, 17, 24, 77], "we": [2, 3, 4, 5, 9, 11, 12, 13, 14, 16, 17, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "present": [2, 3, 6, 9, 11, 13, 15, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 41, 42, 44, 45, 46, 50, 53, 54, 55, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 71, 73, 74, 75, 76], "here": [2, 3, 4, 5, 9, 11, 13, 14, 16, 17, 24, 29, 31, 33, 34, 35, 37, 38, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "command": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 25, 26, 27, 28, 29, 30, 32, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 53, 54, 55, 58, 60, 62, 63, 64, 72, 73, 74], "us": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 39, 40, 41, 42, 45, 55, 57, 59, 60, 61, 62, 63, 65, 72, 73, 74, 75, 77], "build": [2, 5, 9, 11, 14, 17, 24, 25, 26, 27, 32, 33, 34, 37, 42, 46, 51, 54, 55, 57, 59, 60, 63, 65, 66, 67, 72, 75, 76, 77], "certifi": [2, 9, 17, 24, 77], "rel": [2, 14, 17, 26, 35, 51, 53, 55, 59, 71], "effici": [2, 11, 12, 13, 17, 25, 29, 36, 57, 60, 64, 77], "function": [2, 3, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 31, 33, 35, 36, 37, 39, 42, 45, 46, 51, 52, 55, 57, 58, 59, 62, 64, 67, 71, 73, 77], "them": [2, 3, 8, 9, 10, 11, 13, 14, 17, 24, 26, 27, 28, 31, 34, 35, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "from": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 40, 41, 42, 43, 46, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 75, 77], "either": [2, 5, 8, 11, 14, 17, 26, 28, 29, 31, 34, 35, 36, 37, 39, 40, 41, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "proof": [2, 3, 6, 7, 9, 11, 13, 17, 24, 26, 29, 30, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 51, 52, 53, 55, 59, 61, 62, 64, 67, 72, 73, 74, 75, 76, 77], "specif": [2, 3, 5, 9, 11, 24, 28, 31, 32, 34, 35, 36, 39, 40, 42, 51, 52, 53, 55, 57, 58, 59, 60, 61, 64, 66, 67, 71, 77], "The": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 46, 52, 54, 55, 58, 59, 60, 62, 63, 64, 65, 66, 67, 72, 73, 74, 76, 77], "avail": [2, 9, 11, 12, 13, 17, 24, 25, 27, 30, 35, 36, 37, 38, 40, 42, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 71, 72, 74, 75, 76, 77], "output": [2, 3, 4, 11, 14, 17, 24, 33, 42, 51, 52, 53, 54, 59, 60, 64, 66, 71, 75], "ar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 67, 71, 72, 73, 74, 75], "current": [2, 3, 4, 5, 8, 9, 10, 12, 14, 17, 24, 28, 29, 32, 34, 35, 36, 37, 38, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "ocaml": [2, 11, 17, 24, 25, 29, 32, 36, 51, 53, 54, 55, 63, 64, 66, 71, 73, 75], "haskel": [2, 13, 17, 24, 25, 57, 64, 77], "scheme": [2, 11, 17, 24, 25, 26, 27, 34, 37, 40, 46, 51, 57, 59, 62, 77], "follow": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "abus": [2, 55], "refer": [2, 3, 4, 5, 8, 10, 13, 14, 16, 24, 25, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 50, 51, 52, 53, 55, 57, 58, 60, 62, 64, 66, 67, 71, 72, 74, 75], "ani": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "three": [2, 4, 9, 11, 17, 24, 25, 34, 40, 52, 53, 54, 57, 59, 60, 67, 71], "chang": [2, 4, 5, 8, 9, 11, 13, 14, 25, 26, 28, 29, 31, 34, 36, 37, 38, 41, 43, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 73, 74, 75], "version": [2, 3, 4, 7, 9, 13, 14, 15, 25, 29, 32, 35, 36, 37, 41, 46, 50, 51, 52, 57, 58, 59, 60, 62, 66, 73, 74, 75, 77], "8": [2, 3, 4, 13, 24, 25, 30, 35, 41, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 71, 75], "11": [2, 24, 25, 34, 53, 57, 60], "befor": [2, 4, 5, 13, 14, 17, 28, 29, 32, 34, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 73, 74, 75], "describ": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 17, 24, 29, 31, 32, 34, 35, 37, 39, 40, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 65, 66, 67, 71, 72, 75], "thi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76], "chapter": [2, 3, 5, 7, 8, 9, 11, 13, 15, 17, 24, 26, 27, 29, 31, 32, 33, 34, 38, 40, 42, 45, 52, 54, 55, 57, 58, 59, 61, 63, 65, 71, 72, 73, 75, 76], "framework": [2, 17, 24], "should": [2, 3, 9, 10, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 32, 34, 35, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "first": [2, 4, 5, 6, 8, 9, 11, 13, 14, 15, 17, 24, 25, 26, 27, 35, 37, 38, 40, 41, 42, 43, 44, 51, 52, 53, 55, 58, 59, 60, 62, 64, 65, 66, 67, 71, 72, 74, 75, 77], "load": [2, 3, 5, 6, 7, 11, 17, 24, 25, 27, 29, 34, 35, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72, 73], "explicitli": [2, 4, 12, 13, 14, 17, 24, 27, 28, 29, 34, 38, 39, 43, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "via": [2, 5, 8, 11, 17, 35, 51, 53, 54, 55, 57, 59, 71, 72], "corelib": [2, 6, 9, 35, 36, 51, 54, 57, 59, 64, 66], "requir": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 24, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75], "file": [2, 3, 5, 6, 7, 8, 9, 11, 17, 24, 25, 27, 29, 34, 35, 41, 54, 55, 57, 60, 64, 71, 72, 73, 76], "runtim": [2, 3, 5, 6, 11, 17, 29, 34, 51, 53, 54, 55, 57, 59, 60, 72, 73], "plugin": [2, 3, 5, 6, 11, 12, 17, 24, 25, 29, 33, 34, 35, 53, 54, 55, 57, 59, 60, 63, 66, 71, 72], "done": [2, 3, 5, 6, 7, 9, 10, 11, 13, 17, 24, 29, 30, 32, 34, 35, 38, 40, 43, 46, 52, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 72, 75], "qualifi": [2, 17, 24, 25, 28, 32, 38, 51, 53, 54, 55, 57, 58, 59, 64, 66, 71], "identifi": [2, 3, 9, 14, 17, 24, 25, 28, 29, 30, 31, 35, 38, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 60, 66, 67, 72, 75], "qualid": [2, 3, 4, 5, 10, 11, 13, 14, 17, 29, 35, 37, 39, 40, 41, 42, 46, 51, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 74], "can": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75], "kind": [2, 8, 10, 11, 17, 25, 27, 29, 34, 42, 46, 53, 55, 57, 59, 67, 72], "global": [2, 3, 4, 5, 8, 9, 13, 17, 24, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 39, 41, 42, 44, 51, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 75], "object": [2, 3, 4, 8, 9, 11, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 33, 35, 37, 38, 39, 40, 41, 42, 44, 51, 53, 55, 57, 59, 64, 67, 71, 72], "constant": [2, 4, 5, 6, 9, 10, 11, 13, 14, 17, 24, 25, 26, 30, 31, 32, 34, 35, 36, 38, 41, 42, 44, 46, 51, 54, 55, 57, 58, 60, 64, 66, 67, 74], "constructor": [2, 4, 9, 10, 12, 13, 14, 17, 24, 25, 26, 27, 30, 31, 32, 35, 36, 37, 40, 41, 42, 43, 44, 46, 54, 55, 57, 58, 59, 60, 62, 64, 66, 71, 74], "modul": [2, 3, 5, 6, 7, 9, 10, 11, 13, 17, 24, 25, 27, 28, 29, 32, 33, 36, 37, 38, 40, 41, 42, 44, 51, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "name": [2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 25, 26, 27, 28, 29, 31, 32, 34, 36, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 67, 71, 72, 74, 75], "recurs": [2, 5, 9, 17, 24, 25, 31, 32, 33, 37, 40, 41, 44, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 75, 77], "string": [2, 11, 13, 14, 17, 25, 29, 40, 51, 53, 54, 55, 57, 59, 64, 66, 74, 75], "two": [2, 3, 4, 5, 8, 9, 10, 11, 13, 14, 15, 17, 24, 25, 26, 27, 29, 30, 31, 34, 36, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74, 75], "form": [2, 3, 4, 5, 6, 7, 9, 11, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 37, 38, 39, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "displai": [2, 9, 12, 14, 16, 17, 25, 35, 37, 41, 42, 46, 51, 53, 54, 55, 57, 58, 60, 64, 66], "term": [2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 53, 57, 58, 59, 60, 62, 63, 66, 67, 72, 75], "conveni": [2, 4, 6, 12, 17, 24, 28, 29, 33, 34, 35, 44, 46, 52, 53, 54, 57, 66, 67, 71], "preview": [2, 52], "result": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 24, 26, 27, 31, 32, 34, 39, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "second": [2, 3, 4, 8, 9, 10, 11, 13, 15, 17, 24, 25, 26, 28, 35, 37, 38, 40, 42, 44, 51, 52, 53, 55, 57, 59, 60, 64, 66, 67, 71, 75], "all": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73], "depend": [2, 3, 7, 8, 9, 12, 13, 14, 24, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 40, 42, 43, 44, 51, 52, 54, 55, 57, 60, 62, 64, 66, 71, 72, 77], "third": [2, 3, 17, 25, 40, 41, 44, 51, 52, 53, 54, 57, 58, 75], "produc": [2, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 29, 32, 34, 36, 38, 40, 41, 44, 52, 53, 54, 55, 57, 64, 66, 71, 72, 73, 74, 75], "singl": [2, 3, 4, 13, 14, 17, 24, 25, 28, 29, 30, 34, 35, 37, 40, 44, 46, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 75], "specifi": [2, 3, 4, 5, 6, 8, 9, 11, 13, 17, 24, 25, 28, 29, 32, 34, 35, 36, 37, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "local": [2, 3, 4, 5, 9, 13, 17, 24, 25, 26, 28, 30, 31, 32, 34, 41, 42, 52, 55, 59, 62, 64, 66, 67, 75], "renam": [2, 17, 24, 25, 34, 37, 55, 57, 58, 59, 71, 74], "need": [2, 3, 5, 8, 9, 10, 11, 13, 14, 17, 24, 25, 28, 29, 31, 32, 34, 35, 38, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75, 76], "fulfil": [2, 17, 67], "syntact": [2, 3, 11, 17, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 39, 41, 57, 58, 59, 64, 66, 71, 74], "keep": [2, 3, 12, 14, 17, 24, 33, 34, 36, 42, 46, 52, 53, 55, 57, 64, 67], "origin": [2, 3, 4, 9, 11, 17, 24, 29, 31, 34, 38, 43, 44, 46, 53, 57, 58, 62, 64, 66, 67, 71], "much": [2, 11, 13, 17, 25, 33, 51, 53, 57, 59, 63, 64, 71], "possibl": [2, 3, 4, 5, 8, 9, 11, 13, 14, 17, 24, 27, 28, 31, 34, 35, 37, 41, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "also": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75, 77], "work": [2, 3, 4, 5, 9, 10, 12, 13, 17, 24, 25, 26, 27, 32, 35, 41, 42, 43, 46, 51, 52, 54, 55, 57, 58, 59, 64, 67, 71, 74, 77], "directori": [2, 14, 17, 24, 27, 35, 51, 52, 53, 59, 60, 71, 75], "It": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 40, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "inspect": [2, 17, 57, 59], "what": [2, 3, 5, 10, 13, 16, 17, 24, 25, 27, 29, 33, 34, 35, 41, 42, 46, 51, 53, 54, 55, 57, 59, 60, 64, 66, 67, 71], "pwd": [2, 14, 59], "cd": [2, 17, 53], "librari": [2, 5, 7, 8, 11, 25, 29, 35, 40, 41, 52, 54, 55, 57, 58, 64, 66, 67, 72, 75], "ident": [2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38, 40, 43, 44, 46, 51, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74], "whole": [2, 3, 9, 11, 17, 29, 40, 46, 51, 52, 53, 55, 57, 59, 71, 75], "v": [2, 3, 7, 8, 11, 12, 13, 14, 17, 24, 25, 26, 27, 34, 35, 37, 42, 44, 46, 51, 52, 53, 54, 58, 59, 67, 71, 75], "an": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 58, 60, 62, 63, 64, 66, 71, 72, 74, 75, 77], "clash": [2, 17, 53, 54, 57], "prefix": [2, 3, 9, 11, 14, 17, 24, 27, 28, 34, 35, 38, 40, 41, 42, 44, 51, 52, 54, 57, 58, 59, 64, 66, 67, 71, 75], "coq_": 2, "ensur": [2, 10, 13, 14, 17, 24, 30, 34, 39, 52, 55, 59, 64, 71, 72], "session": [2, 14, 17, 51, 52, 59], "independ": [2, 13, 14, 17, 24, 34, 51, 52, 53, 54, 55, 57, 67], "other": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 67, 71, 72, 76], "separ": [2, 3, 10, 14, 17, 24, 25, 26, 29, 33, 34, 35, 40, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 67, 71, 74], "mention": [2, 3, 14, 17, 24, 26, 34, 39, 44, 46, 51, 54, 57, 58, 60, 64, 66, 71], "just": [2, 3, 4, 8, 9, 11, 13, 17, 24, 28, 31, 34, 35, 37, 41, 42, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "instead": [2, 3, 4, 7, 8, 11, 12, 13, 14, 17, 24, 26, 28, 33, 34, 35, 36, 37, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "one": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 17, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 74, 75, 77], "monolith": [2, 17], "split": [2, 17, 25, 29, 34, 42, 51, 54, 57, 58, 60, 66, 67, 75], "per": [2, 3, 11, 17, 24, 52, 53, 57, 59, 71], "correspond": [2, 3, 8, 9, 11, 13, 14, 15, 17, 24, 26, 28, 33, 34, 35, 37, 38, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "henc": [2, 3, 4, 5, 8, 9, 13, 14, 17, 26, 34, 37, 42, 51, 53, 54, 57, 58, 64, 67, 71], "quit": [2, 3, 11, 13, 17, 25, 34, 42, 54, 55, 57, 60], "similar": [2, 3, 5, 9, 13, 17, 24, 26, 34, 35, 37, 38, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 72, 74, 75], "except": [2, 3, 4, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 31, 34, 35, 36, 38, 40, 43, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 75], "onli": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "part": [2, 3, 10, 11, 13, 15, 17, 24, 25, 27, 29, 34, 35, 37, 46, 51, 52, 53, 54, 55, 57, 58, 66, 67, 71, 72, 73, 74], "convent": [2, 17, 25, 33, 42, 51, 57, 59, 71], "same": [2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 51, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "meant": [2, 3, 14, 17, 55, 59, 64], "help": [2, 3, 8, 13, 14, 15, 16, 17, 24, 25, 27, 29, 41, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 67, 75], "automat": [2, 3, 5, 7, 9, 10, 13, 14, 17, 24, 25, 27, 28, 35, 37, 40, 42, 46, 52, 53, 54, 55, 57, 58, 60, 64, 65, 66, 71, 72, 75, 77], "test": [2, 3, 4, 9, 10, 11, 13, 17, 24, 25, 29, 30, 34, 42, 46, 55, 57, 59, 66], "see": [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 17, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "instanc": [2, 4, 5, 10, 11, 12, 14, 17, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75], "suit": [2, 17, 53, 57, 58, 63], "sourc": [2, 4, 5, 14, 24, 25, 51, 52, 53, 55, 57, 71, 73], "testcompil": [2, 17], "temporari": [2, 14, 17, 24, 57], "Then": [2, 4, 5, 11, 14, 24, 26, 27, 29, 32, 34, 41, 42, 46, 51, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 74, 75], "its": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75, 77], "signatur": [2, 3, 11, 17, 24, 34, 35, 54, 55, 59], "compil": [2, 3, 8, 9, 10, 11, 12, 24, 25, 26, 27, 29, 32, 35, 36, 38, 46, 54, 55, 57, 64, 66, 73, 74, 75, 77], "built": [2, 4, 11, 17, 24, 25, 26, 31, 32, 34, 37, 41, 42, 52, 53, 54, 58, 60, 61, 62, 67, 71, 72], "succe": [2, 3, 13, 17, 25, 44, 46, 51, 55, 57, 58, 59, 60, 62, 64, 66], "fail": [2, 3, 4, 5, 8, 9, 10, 12, 13, 14, 17, 24, 25, 26, 29, 30, 34, 35, 40, 41, 42, 43, 44, 52, 53, 55, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "show": [2, 3, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 27, 34, 35, 37, 38, 42, 51, 52, 53, 54, 57, 58, 59, 60, 64, 67, 71], "where": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 27, 29, 30, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "deprec": [2, 4, 13, 17, 25, 28, 29, 32, 35, 41, 51, 55, 58, 59, 60, 64, 66, 71, 72], "sinc": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 17, 24, 26, 28, 30, 34, 35, 37, 41, 42, 44, 46, 51, 52, 53, 54, 57, 58, 59, 60, 66, 67, 71, 74, 75], "20": [2, 3, 25, 46, 57, 67, 77], "line": [2, 8, 10, 12, 14, 24, 25, 26, 29, 42, 52, 53, 54, 55, 57, 58, 59, 64, 66, 71], "If": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 17, 26, 28, 29, 30, 32, 34, 35, 37, 38, 39, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "accord": [2, 11, 17, 26, 34, 35, 41, 51, 53, 55, 57, 59, 60, 64, 71], "which": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 73, 75], "valid": [2, 3, 4, 5, 8, 10, 11, 14, 17, 25, 26, 29, 32, 34, 35, 40, 42, 51, 54, 55, 57, 58, 59, 66, 71, 72], "path": [2, 4, 5, 17, 24, 25, 35, 51, 52, 54, 60], "otherwis": [2, 3, 9, 13, 14, 17, 28, 29, 34, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73], "doe": [2, 3, 4, 5, 8, 9, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 35, 36, 38, 39, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "json": [2, 17, 51, 53, 59], "abil": [2, 3, 11, 12, 13, 17, 30, 52], "most": [2, 3, 4, 10, 12, 17, 24, 27, 29, 34, 38, 41, 45, 46, 51, 52, 53, 54, 55, 57, 58, 60, 63, 64, 66, 67, 71, 72, 73], "import": [2, 3, 4, 5, 7, 9, 11, 13, 17, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 38, 40, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "default": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 38, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74, 75], "mostli": [2, 3, 17, 24, 52, 57, 60], "develop": [2, 3, 12, 13, 14, 17, 24, 25, 27, 32, 35, 42, 44, 51, 52, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 74, 77], "debug": [2, 5, 9, 13, 14, 17, 24, 25, 28, 52, 53, 57, 58, 60, 62, 64, 66, 72], "contain": [2, 5, 7, 8, 10, 13, 14, 15, 17, 24, 27, 29, 30, 31, 34, 35, 38, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "raw": [2, 14, 17, 54, 55, 71], "intermediari": [2, 64], "strict": [2, 5, 13, 14, 17, 24, 25, 31, 39, 41, 42, 54, 57, 58, 59, 60, 66, 71], "ha": [2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74], "order": [2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 24, 25, 26, 27, 29, 30, 32, 34, 35, 37, 40, 42, 43, 46, 51, 52, 53, 54, 55, 57, 60, 61, 62, 64, 66, 67, 71, 72, 75, 77], "when": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 25, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 51, 52, 53, 54, 55, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "principl": [2, 5, 17, 24, 25, 27, 30, 34, 37, 51, 57, 58, 63, 64, 71, 77], "do": [2, 3, 4, 7, 8, 10, 13, 14, 17, 24, 25, 29, 31, 32, 34, 35, 37, 38, 42, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 75], "want": [2, 11, 13, 17, 34, 35, 36, 41, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 74], "comput": [2, 3, 7, 8, 9, 11, 17, 24, 25, 29, 30, 32, 34, 35, 36, 37, 41, 42, 46, 52, 55, 57, 59, 67, 71, 72, 77], "call": [2, 3, 4, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 42, 44, 45, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 71, 72], "ones": [2, 3, 4, 6, 8, 13, 14, 17, 25, 28, 34, 35, 37, 44, 46, 52, 53, 54, 57, 58, 59, 63, 66, 67, 71, 75], "so": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 26, 29, 31, 32, 34, 35, 36, 37, 38, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 74, 75], "mechan": [2, 3, 4, 9, 10, 13, 17, 24, 25, 29, 34, 38, 41, 46, 51, 52, 53, 55, 59, 64, 65, 66, 71, 72, 77], "provid": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75], "routin": 2, "each": [2, 3, 5, 6, 8, 9, 10, 11, 13, 14, 17, 24, 26, 29, 30, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74, 75], "time": [2, 3, 5, 8, 9, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 36, 37, 41, 42, 44, 46, 52, 55, 57, 58, 59, 64, 66, 67, 71], "group": [2, 4, 17, 24, 37, 42, 52, 53, 54, 57, 58, 60], "preserv": [2, 5, 14, 17, 24, 25, 29, 30, 34, 42, 55, 57, 64, 67, 71], "essenti": [2, 17, 25, 34, 55, 57, 67, 71], "reduct": [2, 3, 9, 10, 11, 12, 17, 25, 26, 30, 32, 36, 41, 44, 46, 51, 53, 57, 58, 67, 77], "non": [2, 3, 4, 6, 8, 9, 10, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 35, 37, 40, 41, 46, 51, 52, 53, 57, 59, 60, 62, 64, 66, 72, 75], "abstract": [2, 4, 5, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 34, 35, 38, 42, 44, 54, 55, 58, 59, 64, 67, 71], "dummi": [2, 14, 17, 24, 55, 77], "remov": [2, 3, 4, 5, 11, 14, 17, 24, 29, 31, 37, 41, 46, 51, 52, 53, 55, 57, 58, 59, 60, 66, 67, 71, 72, 74, 75], "deem": [2, 51], "safe": [2, 11, 17, 34], "have": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75], "more": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 74, 75], "eleg": [2, 55, 59], "therefor": [2, 17, 29, 31, 37, 52, 53, 57, 58, 62, 72, 73], "mai": [2, 3, 4, 5, 8, 9, 10, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75, 77], "appear": [2, 6, 9, 10, 11, 13, 14, 17, 24, 28, 29, 31, 34, 35, 37, 38, 39, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74, 75], "modular": [2, 17, 24], "nevertheless": [2, 17], "print": [2, 5, 6, 8, 11, 12, 13, 17, 24, 25, 27, 29, 31, 34, 35, 36, 38, 39, 41, 42, 51, 52, 53, 57, 58, 60, 62, 64, 66, 67, 74], "concern": [2, 12, 17, 24, 26], "less": [2, 4, 8, 11, 14, 17, 24, 34, 46, 51, 53, 54, 55, 57, 59, 60, 64, 71, 77], "becaus": [2, 3, 4, 8, 11, 12, 14, 17, 24, 26, 28, 29, 31, 33, 34, 35, 37, 39, 40, 41, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "lazi": [2, 8, 9, 12, 17, 24, 55, 64], "still": [2, 3, 7, 9, 10, 13, 17, 24, 29, 32, 34, 36, 37, 38, 42, 44, 46, 51, 53, 54, 57, 58, 59, 60, 64, 66, 67, 74], "make": [2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75, 77], "readabl": [2, 17, 24, 29, 53, 57, 64, 71, 75], "control": [2, 3, 13, 14, 16, 17, 24, 25, 34, 37, 41, 51, 52, 53, 55, 60, 62, 67, 71, 75], "flag": [2, 4, 5, 8, 9, 10, 12, 13, 14, 16, 24, 25, 26, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 66, 67, 71], "made": [2, 3, 14, 17, 24, 29, 34, 35, 38, 41, 46, 51, 53, 54, 55, 57, 58, 64, 66, 71, 72, 75], "beta": [2, 11, 17, 24, 55, 57, 58, 64, 71, 77], "redex": [2, 17, 25, 31, 34, 64, 71], "simplif": [2, 11, 17, 24, 25, 41, 54, 67], "etc": [2, 4, 9, 14, 17, 24, 25, 26, 27, 33, 35, 42, 44, 45, 51, 52, 53, 54, 55, 57, 59, 71, 75], "turn": [2, 8, 10, 12, 13, 14, 17, 24, 27, 29, 32, 37, 41, 42, 44, 46, 51, 52, 54, 55, 57, 58, 59, 64, 66, 67, 71], "off": [2, 8, 10, 12, 13, 14, 17, 24, 29, 34, 35, 37, 43, 44, 46, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71], "you": [2, 3, 4, 7, 8, 10, 11, 13, 14, 15, 16, 17, 24, 25, 27, 29, 32, 34, 35, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 74, 75], "close": [2, 3, 4, 5, 7, 9, 11, 14, 17, 24, 28, 29, 32, 34, 35, 38, 44, 51, 52, 55, 57, 59, 60, 64, 66, 67, 71, 75], "conserv": [2, 17], "try": [2, 3, 11, 14, 17, 24, 25, 34, 35, 40, 41, 43, 46, 53, 55, 57, 60, 62, 64, 66, 67, 71], "sure": [2, 4, 17, 35, 52, 53, 58, 71], "impli": [2, 3, 10, 14, 17, 24, 30, 34, 57, 67, 71], "respect": [2, 3, 4, 5, 11, 13, 14, 17, 24, 26, 30, 34, 38, 40, 42, 44, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74, 75], "keepsingleton": [2, 17], "normal": [2, 3, 4, 5, 11, 17, 24, 26, 29, 30, 31, 34, 35, 41, 44, 51, 52, 53, 54, 55, 57, 59, 64, 66, 67, 71, 72, 77], "singleton": [2, 13, 17, 24, 34, 54, 58], "structur": [2, 3, 4, 8, 9, 13, 17, 24, 25, 32, 34, 35, 36, 37, 38, 40, 44, 45, 53, 54, 58, 59, 66, 67, 71, 72, 77], "seen": [2, 4, 13, 14, 17, 24, 32, 34, 55, 57, 67, 71], "alia": [2, 17, 24, 29, 35, 46, 55, 58], "inner": [2, 14, 17, 35, 42, 43, 54, 55, 57, 59, 62, 64, 66, 67, 71, 75], "typic": [2, 4, 6, 12, 14, 17, 24, 28, 29, 30, 34, 35, 44, 46, 51, 53, 55, 57, 58, 59, 60, 64, 67, 71], "sig": [2, 17, 27, 28, 35, 67, 71], "allow": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72], "disabl": [2, 8, 9, 12, 13, 14, 17, 25, 28, 32, 34, 35, 37, 44, 51, 52, 54, 57, 59, 64, 66], "wish": [2, 5, 17, 53], "autoinlin": [2, 17], "enabl": [2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 17, 25, 29, 34, 37, 42, 51, 52, 53, 54, 57, 58, 59, 60, 67, 75], "bodi": [2, 4, 6, 13, 14, 17, 24, 32, 35, 37, 38, 41, 42, 44, 51, 55, 57, 58, 59, 64, 72, 75], "defin": [2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 57, 58, 59, 62, 64, 66, 67, 71, 72, 74, 77], "heurist": [2, 5, 14, 17, 55, 57, 58, 66], "like": [2, 4, 8, 9, 10, 11, 13, 14, 17, 24, 26, 27, 29, 32, 34, 35, 38, 39, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "size": [2, 3, 9, 13, 17, 24, 34, 37, 51, 52, 55, 57, 59, 64, 71, 72], "recursor": [2, 17], "_rect": [2, 17, 34, 35, 40, 71, 72], "_rec": [2, 34, 35, 40, 71, 72], "nat_rect": [2, 27, 34, 59], "project": [2, 3, 9, 10, 12, 13, 14, 15, 17, 24, 25, 27, 29, 30, 34, 40, 41, 42, 51, 52, 54, 55, 57, 59, 60, 64, 72, 73, 74, 76], "few": [2, 3, 17, 24, 27, 29, 34, 35, 36, 37, 51, 52, 53, 55, 57, 58, 71, 73, 75], "andb": [2, 13, 17, 27, 62], "orb": [2, 27, 57, 62], "behaviour": [2, 17, 38, 53], "well": [2, 3, 4, 8, 9, 10, 11, 13, 14, 17, 24, 25, 26, 29, 30, 31, 32, 33, 35, 37, 39, 43, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 63, 64, 66, 67, 71, 72, 74, 75], "found": [2, 4, 5, 9, 11, 13, 17, 25, 29, 30, 34, 35, 36, 38, 39, 42, 46, 51, 54, 55, 57, 58, 59, 62, 64, 67, 71, 72, 75], "combin": [2, 3, 5, 9, 12, 14, 17, 24, 25, 26, 27, 29, 34, 37, 40, 42, 46, 52, 53, 54, 55, 57, 59, 63, 64, 75], "featur": [2, 3, 8, 11, 17, 24, 25, 29, 32, 33, 35, 36, 44, 46, 51, 52, 53, 54, 55, 57, 59, 66, 71, 72, 73, 74, 76], "alwai": [2, 3, 4, 6, 9, 10, 11, 12, 13, 14, 17, 24, 26, 34, 35, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 60, 66, 67, 71, 74, 75], "dure": [2, 9, 11, 13, 14, 17, 24, 25, 37, 42, 46, 51, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72], "noinlin": 2, "convers": [2, 3, 7, 8, 9, 11, 12, 13, 17, 24, 25, 26, 30, 32, 33, 34, 35, 37, 54, 55, 57, 58, 60, 66, 71, 75], "never": [2, 13, 14, 17, 24, 35, 41, 42, 44, 51, 54, 55, 57, 58, 60, 64], "state": [2, 3, 5, 7, 8, 11, 13, 17, 24, 25, 27, 29, 31, 32, 37, 51, 52, 54, 55, 57, 58, 59, 62, 64, 67, 71], "tabl": [2, 3, 4, 16, 17, 24, 25, 27, 35, 37, 38, 46, 51, 53, 54, 55, 57, 59, 67, 71, 75], "record": [2, 3, 8, 10, 11, 12, 13, 14, 17, 24, 25, 30, 33, 34, 42, 54, 55, 57, 59, 60, 62, 67, 71], "custom": [2, 3, 11, 13, 17, 24, 25, 29, 36, 53, 54, 57], "declar": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 43, 46, 51, 53, 54, 58, 59, 60, 64, 71, 72, 75], "previou": [2, 3, 4, 8, 9, 11, 13, 15, 17, 24, 27, 29, 31, 34, 37, 40, 41, 42, 45, 46, 51, 52, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 74], "reset": [2, 17, 24, 29, 30, 34, 40, 41, 46, 51, 52, 54, 59, 72], "empti": [2, 3, 5, 7, 12, 13, 17, 24, 26, 34, 40, 43, 51, 53, 55, 57, 58, 59, 60, 67, 71, 72], "ask": [2, 3, 17, 25, 42, 43, 53], "mean": [2, 3, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 57, 58, 59, 64, 65, 66, 71], "both": [2, 3, 4, 11, 14, 17, 24, 25, 26, 27, 28, 29, 31, 34, 37, 38, 40, 42, 43, 44, 46, 51, 52, 53, 54, 57, 58, 60, 61, 64, 66, 67, 73, 74], "But": [2, 11, 17, 34, 39, 41, 46, 51, 53, 54, 64, 75], "For": [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 24, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "reason": [2, 3, 5, 9, 10, 11, 17, 24, 25, 34, 44, 51, 53, 54, 55, 57, 59, 62, 65, 71, 72, 75, 77], "decis": [2, 17, 24, 25, 58, 62, 64, 77], "taken": [2, 9, 13, 17, 24, 34, 36, 42, 44, 53, 57, 64, 67, 71], "whether": [2, 3, 9, 10, 12, 13, 14, 17, 29, 34, 35, 41, 44, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 71, 75], "occurr": [2, 3, 11, 14, 17, 24, 25, 26, 43, 44, 46, 52, 54, 55, 59, 60, 64, 71], "replac": [2, 3, 4, 7, 9, 10, 11, 17, 24, 25, 28, 31, 32, 34, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71, 74, 75], "manual": [2, 11, 24, 25, 29, 50, 52, 53, 57, 60, 66, 67, 71], "perform": [2, 3, 5, 7, 8, 11, 13, 17, 24, 25, 26, 34, 41, 42, 46, 51, 54, 55, 57, 60, 62, 64, 66, 67, 71, 72], "wai": [2, 3, 5, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 31, 32, 34, 35, 37, 42, 43, 44, 46, 51, 52, 53, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 72, 73, 75], "complementari": [2, 17, 24, 42, 57], "main": [2, 8, 9, 11, 13, 17, 25, 27, 29, 34, 40, 41, 51, 52, 53, 54, 55, 57, 60, 64, 71], "logic": [2, 3, 9, 12, 13, 14, 17, 24, 25, 26, 28, 29, 30, 34, 35, 39, 51, 57, 58, 59, 61, 66, 67, 75, 77], "implicit": [2, 3, 5, 9, 13, 17, 24, 25, 28, 33, 34, 37, 38, 42, 43, 45, 51, 53, 55, 57, 58, 59, 66, 67, 75], "integ": [2, 3, 7, 11, 14, 17, 24, 25, 29, 34, 39, 52, 53, 54, 55, 57, 59, 60, 64, 66], "thei": [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 73, 74, 75], "omit": [2, 3, 8, 14, 17, 27, 28, 29, 30, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 75], "position": [2, 58], "start": [2, 3, 6, 8, 9, 13, 17, 24, 25, 26, 27, 29, 32, 34, 35, 37, 40, 41, 42, 44, 46, 52, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 74, 75], "actual": [2, 3, 5, 8, 11, 14, 17, 24, 34, 37, 42, 43, 44, 46, 54, 55, 57, 60, 64, 67, 71, 72], "take": [2, 3, 5, 8, 11, 12, 13, 17, 24, 26, 28, 29, 31, 32, 37, 40, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 66, 67, 71, 75], "place": [2, 3, 17, 32, 40, 43, 51, 53, 57, 58, 59, 64, 66, 67, 71, 75], "error": [2, 3, 4, 9, 10, 11, 12, 13, 14, 16, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 38, 39, 40, 41, 42, 44, 46, 51, 52, 53, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "rais": [2, 3, 10, 13, 17, 29, 35, 54, 55, 64, 72], "cannot": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17, 26, 28, 29, 32, 34, 35, 36, 37, 40, 41, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "honor": [2, 8, 17, 51, 57, 71], "occur": [2, 3, 4, 8, 17, 24, 26, 28, 30, 34, 37, 38, 41, 42, 44, 46, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71], "final": [2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 29, 35, 40, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71, 75], "behavior": [2, 3, 4, 11, 13, 14, 17, 24, 29, 30, 32, 34, 41, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 73, 75], "relax": [2, 17, 30, 44, 53, 57, 60], "safeimplicit": 2, "warn": [2, 3, 4, 10, 12, 13, 16, 17, 24, 25, 27, 28, 29, 32, 34, 35, 37, 41, 42, 44, 46, 51, 52, 54, 55, 57, 59, 60, 62, 66, 71, 72], "emit": [2, 10, 12, 13, 17, 34, 53, 71, 74], "obtain": [2, 3, 4, 5, 17, 34, 36, 54, 55, 57, 58, 64, 67, 72, 75], "nonetheless": [2, 17, 30, 32, 36, 51, 66], "review": [2, 17, 27], "locat": [2, 17, 24, 25, 35, 51, 52, 53, 54, 55], "issu": [2, 3, 24, 25, 46, 52, 54, 55, 58, 64, 66, 71, 73], "comment": [2, 5, 17, 24, 25, 29, 52, 54, 57, 60, 66, 75], "mark": [2, 12, 17, 24, 31, 35, 37, 38, 41, 44, 51, 52, 53, 54, 55, 57, 59, 60, 64, 66, 71], "remain": [2, 3, 9, 11, 13, 14, 17, 24, 34, 36, 39, 41, 42, 44, 46, 52, 57, 58, 64, 66], "note": [2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 17, 24, 26, 27, 28, 29, 34, 35, 37, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 77], "might": [2, 3, 5, 13, 17, 46, 51, 53, 55, 57, 62, 64, 67, 71, 72, 75], "run": [2, 5, 8, 9, 13, 14, 17, 24, 25, 29, 51, 53, 57, 59, 60, 64, 66, 71, 73], "properli": [2, 8, 9, 10, 17, 29, 52, 53, 57, 59, 66], "encount": [2, 11, 17, 52, 53, 54, 64], "inform": [2, 3, 4, 10, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 37, 39, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 72, 75, 77], "remind": [2, 3, 57], "inconsist": [2, 8, 10, 12, 14, 17, 24, 26, 34, 39, 44, 51, 59, 66, 67, 71], "lead": [2, 10, 14, 17, 24, 26, 29, 34, 39, 57, 58, 60, 64, 71, 74, 75], "incorrect": [2, 8, 12, 14, 17, 25, 34, 37, 46, 52, 57, 66], "termin": [2, 8, 9, 17, 24, 25, 27, 29, 30, 32, 34, 35, 38, 52, 55, 59, 60, 66, 71, 72], "assum": [2, 3, 5, 11, 13, 17, 26, 27, 28, 32, 34, 35, 36, 38, 39, 42, 44, 46, 51, 53, 54, 55, 57, 58, 59, 64, 66, 71, 75], "while": [2, 3, 4, 9, 10, 12, 13, 14, 17, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 73], "proposit": [2, 3, 5, 10, 17, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 39, 40, 51, 57, 58, 62, 64, 66, 67, 77], "perfectli": 2, "content": [2, 17, 24, 27, 32, 35, 42, 51, 52, 53, 54, 57, 59, 66, 71, 75], "must": [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 35, 36, 37, 39, 40, 41, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "cours": [2, 14, 17, 24, 42, 51, 52, 57, 64, 71], "guess": [2, 4, 11, 17, 32, 43, 53, 57, 67], "tell": [2, 3, 11, 17, 24, 34, 41, 42, 44, 46, 51, 55, 57, 60, 64, 67, 71, 75], "given": [2, 3, 4, 5, 9, 10, 11, 13, 14, 17, 24, 25, 27, 28, 29, 32, 35, 36, 37, 40, 41, 42, 43, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "tv": 2, "give": [2, 3, 4, 5, 7, 8, 9, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 37, 40, 41, 42, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71, 75], "ariti": [2, 17, 24, 25, 46, 55], "sequenc": [2, 3, 5, 17, 24, 25, 28, 29, 30, 46, 51, 57, 58, 59, 60, 64, 66, 71, 75], "product": [2, 3, 5, 10, 11, 13, 14, 17, 24, 26, 27, 28, 34, 36, 39, 40, 46, 54, 55, 57, 59, 60, 64, 66, 67, 71], "variabl": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 45, 53, 54, 57, 58, 59, 60, 62, 64, 67, 71, 72, 75], "quot": [2, 5, 13, 17, 24, 25, 28, 29, 44, 51, 55, 59, 66, 71, 75], "number": [2, 3, 4, 5, 7, 11, 13, 14, 17, 24, 25, 26, 27, 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 46, 52, 53, 55, 57, 58, 59, 62, 64, 66, 67, 72, 74, 77], "check": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 30, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "y": [2, 3, 4, 5, 9, 11, 12, 13, 14, 17, 24, 26, 27, 28, 31, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 77], "b": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 28, 31, 34, 35, 37, 38, 40, 41, 42, 44, 46, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 77], "recogn": [2, 4, 5, 8, 11, 17, 24, 29, 34, 46, 51, 52, 55, 62, 67, 71, 75], "becom": [2, 8, 11, 17, 24, 26, 28, 34, 35, 40, 44, 46, 52, 53, 55, 57, 58, 59, 64, 66, 67, 71], "int": [2, 3, 17, 36, 55, 71, 75], "0": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 41, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75, 77], "respons": [2, 10, 17, 52, 55, 75], "expect": [2, 3, 4, 11, 12, 14, 17, 24, 26, 29, 31, 32, 33, 34, 40, 41, 42, 43, 44, 46, 51, 52, 54, 55, 57, 58, 60, 64, 67, 71], "fact": [2, 5, 11, 14, 17, 24, 28, 32, 34, 39, 41, 42, 46, 54, 55, 57, 58, 62, 64, 66, 67, 71, 75], "copi": [2, 17, 36, 46, 52, 53, 54, 57, 75], "everywher": [2, 17, 55, 58, 64], "being": [2, 3, 9, 11, 12, 13, 14, 17, 24, 32, 33, 34, 35, 37, 38, 40, 42, 46, 51, 52, 53, 54, 55, 57, 60, 64, 66, 67, 71, 72, 75], "sugar": [2, 7, 17, 28, 54, 55, 59, 77], "effect": [2, 3, 9, 11, 13, 14, 17, 24, 25, 29, 30, 34, 35, 38, 43, 51, 52, 53, 54, 57, 59, 64, 66, 71, 75], "alreadi": [2, 4, 13, 17, 24, 27, 28, 32, 37, 41, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 73], "foreign": [2, 17], "wa": [2, 3, 10, 11, 12, 17, 24, 27, 28, 29, 32, 34, 35, 37, 38, 41, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72], "previous": [2, 13, 17, 28, 34, 38, 52, 54, 57, 59, 71], "would": [2, 3, 4, 11, 14, 17, 28, 29, 30, 31, 32, 34, 37, 41, 42, 43, 44, 46, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "overrid": [2, 14, 17, 37, 51, 53, 57, 66, 67, 71], "been": [2, 3, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 28, 29, 32, 34, 35, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72, 73, 74], "definit": [2, 4, 8, 10, 11, 13, 17, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 38, 41, 42, 43, 44, 51, 53, 58, 59, 60, 62, 66, 67, 72, 73, 74, 75, 77], "fill": [2, 9, 13, 17, 25, 52, 55, 57, 62, 71], "label": [2, 8, 14, 17, 29, 54, 59], "TO": 2, "BE": 2, "search": [2, 4, 5, 7, 13, 17, 24, 25, 42, 44, 51, 52, 53, 61, 62, 64], "insid": [2, 3, 4, 8, 9, 13, 14, 17, 24, 25, 28, 29, 34, 35, 38, 46, 52, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "real": [2, 3, 7, 11, 24, 25, 34, 46, 53, 55, 66, 67, 71], "nativ": [2, 5, 10, 12, 24, 25, 36, 51, 55, 58, 59, 64], "boolean": [2, 5, 9, 11, 13, 14, 17, 24, 25, 27, 29, 34, 37, 39, 40, 42, 55, 59, 60, 62, 64, 67, 71], "syntax": [2, 4, 5, 6, 8, 9, 11, 13, 14, 25, 26, 27, 30, 32, 34, 35, 37, 39, 40, 41, 42, 43, 45, 51, 52, 53, 58, 59, 60, 63, 64, 66, 75, 77], "itself": [2, 3, 8, 9, 11, 12, 13, 14, 17, 30, 34, 39, 40, 41, 42, 43, 44, 51, 53, 54, 55, 57, 58, 60, 63, 64, 67, 71], "initi": [2, 6, 7, 11, 13, 17, 24, 27, 29, 38, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 75], "datatyp": [2, 17, 24, 25, 26, 35, 44, 46, 54, 55, 57, 59, 60, 67, 71], "pattern": [2, 9, 13, 17, 24, 25, 27, 28, 30, 32, 34, 40, 41, 42, 45, 60, 64, 67, 72, 77], "charact": [2, 8, 10, 13, 14, 17, 24, 25, 27, 29, 35, 36, 40, 44, 46, 53, 54, 55, 57, 58, 59, 64, 66, 71, 72, 74, 75], "char": [2, 17, 53], "prelud": [2, 17, 25, 29, 51, 59, 66], "liter": [2, 5, 17, 29, 36, 42, 54, 55, 57, 71], "handl": [2, 3, 8, 9, 11, 17, 24, 26, 37, 43, 46, 53, 55, 57, 58, 59, 61, 62, 66, 67, 71], "special": [2, 3, 4, 9, 12, 13, 16, 17, 24, 25, 27, 28, 29, 34, 51, 52, 53, 54, 55, 59, 60, 64, 66, 67, 71, 75], "design": [2, 8, 11, 17, 24, 25, 37, 44, 57, 64, 71, 77], "regist": [2, 3, 4, 5, 7, 9, 11, 13, 17, 25, 32, 42, 57, 64, 67, 71, 72], "standard": [2, 3, 5, 9, 14, 25, 27, 29, 35, 36, 40, 51, 52, 53, 54, 58, 59, 62, 64, 65, 66, 67, 72, 73, 74, 75], "indic": [2, 8, 11, 12, 13, 14, 17, 24, 26, 31, 34, 35, 39, 40, 41, 42, 43, 46, 51, 52, 53, 54, 57, 58, 59, 62, 64, 66, 67, 71], "how": [2, 7, 8, 13, 17, 24, 25, 27, 29, 30, 34, 35, 37, 42, 43, 45, 51, 53, 54, 57, 58, 59, 60, 62, 64, 67, 71, 72, 74, 77], "over": [2, 3, 11, 14, 17, 24, 25, 26, 27, 28, 30, 32, 34, 37, 38, 39, 40, 41, 42, 44, 46, 52, 53, 54, 58, 59, 60, 61, 62, 64, 66, 67], "could": [2, 3, 4, 5, 6, 11, 12, 17, 24, 29, 31, 34, 37, 42, 46, 51, 52, 55, 57, 58, 60, 62, 66, 71, 72, 73], "arbitrari": [2, 3, 5, 10, 11, 14, 17, 24, 31, 44, 46, 53, 57, 60, 62, 71], "k": [2, 3, 6, 14, 17, 24, 26, 34, 42, 54, 57, 67, 72, 77], "emul": [2, 12, 17, 40, 57], "branch": [2, 5, 9, 17, 25, 34, 40, 45, 46, 55, 59, 60, 66, 67, 72], "element": [2, 3, 11, 12, 17, 25, 26, 27, 34, 35, 36, 46, 57, 59, 60, 71], "destruct": [2, 13, 17, 24, 25, 34, 54, 55, 57, 58, 64, 71], "foo": [2, 11, 14, 17, 29, 35, 38, 40, 43, 51, 52, 53, 55, 57, 58, 59, 64, 66, 71, 74, 75], "fun": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 17, 25, 26, 27, 29, 30, 31, 32, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72, 75], "consid": [2, 3, 4, 5, 9, 11, 12, 13, 14, 17, 24, 26, 28, 29, 30, 31, 34, 37, 41, 42, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 73, 75], "unit": [2, 12, 13, 14, 17, 27, 34, 40, 46, 53, 54, 55, 57, 62, 64, 71], "block": [2, 9, 10, 14, 17, 25, 29, 30, 34, 37, 38, 44, 46, 54, 64, 65, 67], "earli": [2, 15, 17, 25, 26, 54, 64], "evalu": [2, 3, 9, 11, 17, 24, 25, 28, 30, 34, 35, 41, 53, 57, 60, 64, 71], "bar": [2, 8, 14, 17, 29, 35, 51, 52, 53, 55, 57, 64, 66, 71, 74], "As": [2, 3, 5, 6, 9, 10, 11, 13, 14, 17, 26, 28, 30, 34, 36, 37, 38, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 72], "care": [2, 13, 14, 17, 46, 53, 54, 64, 67, 71, 75], "pre": [2, 17, 25, 53, 60], "sound": [2, 17, 34], "ad": [2, 4, 9, 13, 14, 17, 24, 25, 29, 34, 37, 42, 44, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75, 77], "hoc": [2, 3, 17, 71, 77], "often": [2, 3, 10, 13, 14, 17, 25, 28, 43, 46, 52, 53, 54, 55, 57, 58, 66], "fulli": [2, 3, 8, 17, 24, 26, 28, 31, 32, 35, 38, 44, 51, 52, 53, 54, 55, 58, 59, 64, 66, 71, 72], "rigor": [2, 24], "correct": [2, 8, 9, 11, 17, 24, 25, 28, 32, 35, 46, 51, 53, 57, 59, 64, 66, 67, 71], "theoret": [2, 17, 24, 31, 39, 77], "valu": [2, 4, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 42, 43, 51, 52, 53, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "larger": [2, 13, 14, 17, 25, 51, 52, 57, 60, 71, 75], "than": [2, 3, 5, 8, 11, 12, 13, 14, 17, 24, 29, 30, 31, 34, 35, 37, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 73, 75], "max_int": 2, "overflow": [2, 17, 59, 66, 71], "bad": [2, 11, 12, 14, 17, 34, 59, 64], "event": [2, 17, 51], "practic": [2, 3, 5, 17, 24, 25, 32, 34, 39, 42, 53, 55, 57, 58, 64, 66, 71, 74, 77], "translat": [2, 3, 17, 24, 25, 33, 41, 45, 57, 71, 75], "magic": [2, 17, 24, 55, 59], "improv": [2, 3, 8, 11, 17, 24, 29, 52, 54, 57, 67], "asymptot": [2, 59], "complex": [2, 11, 17, 24, 25, 29, 33, 35, 52, 54, 55, 57, 59, 61, 63, 66, 67], "represent": [2, 3, 5, 11, 12, 17, 24, 29, 34, 37, 51, 53, 57, 64, 71], "mul": [2, 5, 17, 36, 52, 57, 59, 71], "stai": [2, 27], "quadrat": [2, 17], "interest": [2, 4, 5, 11, 17, 24, 31, 42, 54, 57, 67], "associ": [2, 3, 11, 13, 14, 17, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67], "primit": [2, 10, 12, 13, 14, 17, 24, 25, 27, 30, 33, 34, 41, 46, 54, 55, 57, 64, 67], "counterpart": [2, 3, 9, 11, 17, 30, 34, 57], "bool": [2, 3, 4, 5, 12, 13, 17, 24, 27, 30, 35, 36, 37, 40, 41, 42, 44, 46, 55, 57, 58, 59, 60, 71], "true": [2, 3, 4, 5, 7, 9, 11, 12, 13, 14, 17, 24, 26, 27, 34, 35, 36, 37, 40, 41, 44, 46, 51, 53, 54, 55, 57, 58, 59, 62, 64, 67, 71, 74], "fals": [2, 4, 5, 9, 10, 12, 13, 17, 24, 27, 34, 37, 40, 41, 46, 51, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71], "sumbool": [2, 27, 46, 71], "enclos": [2, 29, 41, 53, 54, 55, 66, 71, 75], "parenthes": [2, 3, 8, 17, 24, 28, 29, 35, 37, 46, 54, 55, 57, 58, 67, 71], "meet": [2, 9, 71], "lexic": [2, 17, 25, 51, 59, 71, 75], "criteria": [2, 17, 72], "infix": [2, 14, 17, 24, 25, 27, 42, 57, 58, 64, 74], "symbol": [2, 3, 11, 14, 17, 24, 25, 27, 28, 29, 31, 41, 42, 43, 46, 57, 59, 60, 62, 64, 67, 71, 75, 77], "rest": [2, 3, 13, 17, 26, 29, 36, 42, 52, 57, 66], "prod": [2, 17, 26, 27, 34, 46, 62, 67], "caveat": [2, 17, 25, 55, 57, 60], "abov": [2, 3, 5, 11, 13, 14, 17, 24, 28, 30, 34, 37, 38, 42, 44, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 71, 72, 75], "succ": [2, 24, 54, 59, 64], "fo": 2, "els": [2, 4, 9, 11, 12, 13, 17, 29, 30, 35, 40, 41, 46, 52, 54, 55, 57, 59, 62, 67, 71, 75], "interfac": [2, 17, 24, 25, 35, 52, 53, 66, 74, 75, 76], "link": [2, 16, 17, 24, 27, 46, 53, 57, 72, 75], "linker": [2, 24], "know": [2, 8, 17, 24, 27, 32, 34, 42, 46, 52, 53, 54, 55, 57, 59, 60, 62, 64, 67, 71], "extern": [2, 5, 11, 13, 17, 29, 33, 52, 54, 55, 59, 60, 63, 66, 73, 74, 75], "shall": [2, 17, 24, 26, 31, 34, 39, 42, 57, 71], "access": [2, 5, 14, 17, 24, 25, 28, 32, 33, 34, 35, 36, 38, 44, 51, 52, 53, 55, 57, 59, 71], "callback": [2, 17], "referenc": [2, 17, 53, 71], "stdlib": [2, 3, 5, 7, 9, 11, 12, 14, 17, 27, 28, 29, 35, 51, 53, 54, 55, 57, 59, 60, 64, 67, 72, 75], "f_impl": 2, "compat": [2, 3, 4, 13, 14, 24, 25, 29, 34, 42, 51, 52, 53, 58, 62, 63, 64, 71], "support": [2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 17, 24, 25, 30, 32, 34, 35, 36, 37, 40, 41, 42, 44, 51, 53, 54, 55, 57, 59, 60, 62, 63, 64, 66, 71, 72, 74, 75, 76], "thrown": 2, "after": [2, 4, 5, 7, 8, 9, 11, 13, 17, 24, 29, 32, 34, 35, 38, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "callabl": 2, "express": [2, 3, 4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 39, 40, 41, 43, 44, 57, 58, 59, 60, 64, 66, 67, 75], "signal": [2, 8, 17, 57], "alias": [2, 17, 24, 25, 29, 35, 55], "uniqu": [2, 3, 12, 13, 17, 24, 31, 35, 38, 57, 59, 67, 71], "multipl": [2, 3, 4, 9, 14, 17, 24, 25, 27, 29, 34, 35, 40, 44, 52, 58, 59, 60, 64, 66, 67, 71], "expos": [2, 17, 25, 40, 41, 57, 71], "share": [2, 11, 13, 14, 17, 24, 28, 29, 34, 46, 51, 52, 53, 57, 59, 60, 64, 67, 71], "impact": [2, 17, 53, 66, 71], "synthesis": 2, "thu": [2, 3, 4, 5, 10, 12, 17, 24, 32, 34, 42, 43, 46, 51, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72, 75], "safeti": 2, "registr": [2, 17, 25], "usabl": [2, 17, 24, 38, 52, 66, 67, 71], "togeth": [2, 3, 9, 17, 24, 25, 27, 31, 34, 35, 43, 53, 54, 55, 57, 66, 71, 75], "map": [2, 3, 5, 13, 17, 24, 25, 26, 34, 35, 36, 39, 41, 44, 51, 53, 57, 58, 59, 60, 71, 72, 75], "directli": [2, 3, 4, 9, 13, 14, 17, 24, 27, 28, 34, 43, 51, 52, 53, 55, 57, 58, 60, 64, 67, 72, 75], "happen": [2, 4, 9, 10, 13, 17, 34, 38, 46, 52, 54, 55, 57, 58, 64, 71, 72], "instruct": [2, 5, 17, 53, 58, 59], "particular": [2, 3, 6, 9, 10, 12, 13, 17, 29, 30, 31, 32, 33, 34, 37, 38, 40, 42, 52, 53, 54, 55, 57, 59, 60, 64, 66, 71, 75], "blacklist": [2, 17, 59], "includ": [2, 3, 5, 8, 9, 12, 13, 14, 17, 24, 25, 27, 28, 29, 34, 35, 36, 38, 39, 40, 41, 43, 44, 51, 52, 53, 54, 55, 57, 59, 60, 62, 64, 66, 67, 71, 73, 75], "natur": [2, 5, 7, 9, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 34, 35, 37, 39, 40, 42, 44, 46, 52, 53, 57, 58, 59, 62, 64, 66, 71, 72], "finer": [2, 17, 34, 57], "grain": [2, 17, 41], "bit": [2, 5, 17, 29, 30, 34, 36, 51, 53, 66, 71, 75, 77], "mask": [2, 35], "unless": [2, 3, 13, 14, 17, 29, 40, 41, 42, 44, 51, 52, 57, 58, 64, 71, 72, 75], "treatment": [2, 9, 17, 40], "fixpoint": [2, 3, 10, 13, 17, 24, 25, 27, 29, 30, 31, 32, 37, 38, 41, 44, 46, 52, 57, 59, 64, 66, 67, 71, 72], "simplifi": [2, 11, 17, 24, 41, 54, 57, 64, 67], "redux": 2, "factor": [2, 5, 11, 17, 25, 34, 45], "16": [2, 25, 53, 54, 57, 71], "32": [2, 17, 36, 51, 53, 66], "6": [2, 9, 25, 29, 35, 53, 54, 55, 57, 58, 71, 74, 77], "64": [2, 36, 51, 66], "swap": [2, 17, 54, 57, 58], "lambda": [2, 3, 10, 11, 17, 31, 52, 55, 64, 67, 71, 77], "7": [2, 11, 25, 54, 57, 64, 71, 74, 75, 77], "128": 2, "256": 2, "push": [2, 17, 57, 71], "9": [2, 24, 25, 29, 30, 35, 53, 54, 57, 64, 71, 74, 77], "512": 2, "linear": [2, 3, 11, 14, 17, 24, 25, 46, 51, 54, 55, 57, 64], "10": [2, 5, 24, 25, 29, 31, 52, 54, 57, 59, 60, 64, 71, 74, 77], "1024": 2, "typeexpand": 2, "expand": [2, 13, 14, 17, 28, 29, 30, 31, 35, 37, 41, 46, 52, 54, 55, 57, 58, 64, 67, 71], "learn": [2, 17, 25, 54, 72], "written": [2, 3, 5, 11, 13, 17, 24, 26, 28, 29, 34, 35, 36, 37, 42, 43, 44, 46, 52, 53, 54, 55, 57, 59, 64, 71, 73, 74], "due": [2, 3, 13, 14, 17, 24, 27, 30, 34, 46, 52, 54, 55, 59, 64, 66, 67, 71, 72, 73], "typabl": [2, 4, 34], "now": [2, 3, 4, 11, 13, 14, 17, 24, 26, 27, 30, 34, 35, 41, 42, 46, 51, 52, 53, 54, 55, 57, 59, 60, 64, 67, 71, 72, 74], "solv": [2, 3, 5, 7, 11, 13, 17, 24, 25, 39, 42, 44, 57, 60, 61, 62, 64, 67], "problem": [2, 4, 7, 9, 13, 17, 24, 29, 34, 42, 44, 46, 51, 52, 53, 54, 58, 62, 66, 67], "least": [2, 3, 12, 13, 17, 25, 28, 29, 30, 34, 41, 46, 52, 53, 57, 58, 64, 66, 67, 71, 72, 74, 75], "unsaf": [2, 17, 55, 66], "cast": [2, 12, 17, 25, 40, 46, 54, 55, 57, 58, 60, 64, 71], "obj": [2, 24, 42], "veri": [2, 8, 9, 11, 13, 17, 24, 25, 27, 29, 34, 42, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67], "polymorph": [2, 3, 13, 17, 24, 25, 26, 29, 30, 31, 32, 33, 37, 39, 40, 41, 44, 46, 51, 59, 66, 67, 71], "alright": 2, "refus": [2, 3, 64], "checker": [2, 9, 11, 17, 24, 25, 26, 29, 33, 73], "known": [2, 8, 10, 12, 13, 17, 24, 27, 30, 33, 34, 39, 41, 44, 51, 55, 57, 66, 71], "distr": 2, "dp": [2, 17], "foral": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 25, 26, 27, 29, 30, 31, 32, 34, 36, 37, 41, 42, 43, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 75], "direct": [2, 9, 12, 16, 17, 24, 31, 34, 42, 46, 52, 53, 57, 58, 71], "restrict": [2, 3, 12, 14, 17, 24, 26, 34, 35, 40, 51, 54, 57, 58, 59, 60, 62, 67, 71], "secondli": [2, 17], "quantif": [2, 3, 4, 13, 14, 17, 24, 26, 27, 28, 60, 67], "anyth": [2, 13, 17, 35, 44, 46, 51, 55, 57, 58, 64, 75], "anything_rect": 2, "anything_ind": 2, "anything_rec": 2, "anything_sind": 2, "dynam": [2, 11, 13, 17, 25, 36, 59, 71], "gadt": 2, "yet": [2, 17, 42, 43, 46, 51, 52, 54, 55, 57, 58, 60, 66, 71, 72], "those": [2, 3, 5, 10, 11, 12, 17, 24, 26, 33, 34, 35, 37, 43, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72], "get": [2, 5, 9, 11, 13, 14, 17, 24, 25, 28, 29, 34, 36, 42, 51, 52, 53, 55, 58, 59, 60, 64, 66, 67], "segment": [2, 17, 24, 52, 59, 71], "fault": [2, 24, 71], "your": [2, 3, 8, 11, 14, 15, 17, 25, 29, 51, 52, 54, 55, 57, 58, 59, 60, 62, 66, 71, 73, 74, 75], "seem": [2, 5, 17, 71], "ill": [2, 4, 9, 10, 17, 24, 26, 30, 34, 51, 55, 64, 71, 72], "go": [2, 5, 9, 17, 24, 30, 42, 51, 52, 54, 55, 57, 59, 60, 64, 67, 71, 75], "wrong": [2, 3, 17, 24, 44, 51, 54, 66, 72], "come": [2, 6, 8, 13, 17, 24, 27, 34, 43, 51, 52, 54, 55, 57, 59, 60, 64, 71], "Of": [2, 14, 42, 51, 57], "launch": [2, 13, 17, 25, 52, 53], "appli": [2, 3, 4, 5, 9, 10, 11, 13, 14, 17, 24, 25, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 51, 53, 54, 55, 59, 60, 62, 66, 71, 72, 75], "shape": [2, 3, 57], "point": [2, 3, 11, 13, 17, 24, 25, 26, 32, 34, 35, 36, 39, 51, 52, 53, 54, 55, 57, 66, 71], "view": [2, 11, 17, 25, 26, 29, 32, 34, 39, 41, 52, 55, 60, 66], "about": [2, 3, 5, 11, 13, 14, 15, 17, 24, 25, 29, 30, 34, 37, 39, 41, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 72], "let02": [2, 77], "sai": [2, 3, 4, 17, 24, 26, 27, 28, 29, 31, 34, 42, 52, 53, 54, 55, 57, 58, 64, 71, 74], "though": [2, 8, 9, 17, 24, 29, 35, 37, 46, 51, 53, 54, 55, 64, 67, 71], "realist": [2, 42], "accept": [2, 3, 8, 13, 17, 24, 28, 29, 30, 32, 34, 40, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 60, 64, 66, 71, 72], "without": [2, 3, 5, 8, 9, 11, 13, 14, 17, 24, 26, 29, 32, 33, 34, 35, 37, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74, 75, 77], "below": [2, 4, 5, 8, 9, 10, 11, 13, 14, 17, 25, 26, 27, 31, 34, 35, 38, 40, 41, 43, 51, 52, 53, 54, 55, 57, 64, 66, 71, 72, 74, 75], "choos": [2, 3, 17, 32, 34, 42, 43, 52, 53, 54, 57, 58, 67, 71, 72, 75], "everyth": [2, 17, 52, 53], "slight": [2, 17, 24, 58], "modif": [2, 4, 11, 17, 36, 41, 58, 71], "find": [2, 3, 4, 5, 7, 11, 13, 14, 16, 17, 25, 27, 29, 34, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 62, 64, 66, 67, 71, 72, 77], "Its": [2, 3, 11, 17, 24, 52, 55, 57, 60, 67, 74], "euclid": [2, 17, 24], "unari": [2, 3, 26, 29, 34, 64], "repres": [2, 3, 5, 11, 13, 14, 17, 24, 26, 27, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42, 43, 51, 52, 53, 54, 55, 57, 58, 59, 64, 65, 66, 67, 71], "theorem": [2, 5, 7, 8, 11, 12, 17, 24, 25, 27, 29, 32, 33, 35, 37, 38, 42, 43, 51, 52, 57, 59, 60, 62, 65, 66, 71, 73, 74, 75, 77], "eucl_dev": 2, "whose": [2, 3, 4, 5, 11, 13, 14, 17, 24, 26, 30, 31, 33, 34, 35, 37, 39, 41, 42, 44, 46, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71, 75], "diveucl": 2, "quotient": [2, 5, 17, 40, 57, 64], "modulo": [2, 4, 5, 11, 17, 24, 34, 54, 57, 58, 59, 71], "assert": [2, 17, 24, 25, 26, 28, 34, 41, 54, 55, 57, 58, 62, 64, 66, 67, 71], "disappear": [2, 17, 24, 34, 55, 60, 67, 71], "wf_nat": [2, 17, 24], "gt_wf_rec": 2, "lt_wf_rec": [2, 24], "induction_ltof2": 2, "val": [2, 34, 55, 57], "sub": [2, 4, 8, 17, 36, 41, 46, 51, 53, 54, 57, 59, 60, 67, 71], "rec": [2, 17, 24, 35, 54, 55, 75], "le_lt_dec": [2, 17, 24], "n0": [2, 9, 31, 46, 57, 58, 67, 72], "n1": [2, 9, 34, 53, 57, 72], "le_gt_dec": 2, "divex": 2, "d": [2, 4, 5, 11, 14, 17, 24, 26, 34, 46, 51, 52, 53, 54, 57, 58, 62, 67, 75, 77], "q": [2, 3, 5, 7, 10, 11, 12, 17, 24, 27, 34, 35, 46, 51, 53, 54, 55, 57, 58, 59, 67, 71, 75], "r": [2, 3, 5, 7, 9, 11, 13, 14, 17, 24, 27, 28, 34, 35, 37, 41, 44, 51, 53, 54, 57, 58, 59, 60, 64, 67, 71, 72, 75, 77], "mandatori": [2, 8, 17, 32, 57, 66, 71], "enhanc": [2, 17, 52, 57], "past": [2, 17, 52, 64], "u": [2, 3, 4, 9, 10, 11, 14, 17, 24, 26, 27, 31, 34, 35, 38, 39, 41, 42, 46, 51, 53, 54, 55, 57, 58, 62, 64, 67, 71], "plai": [2, 17, 26, 42, 64, 66], "toplevel": [2, 10, 13, 14, 17, 24, 25, 27, 29, 35, 44, 46, 51, 52, 53, 55, 57, 58, 59, 60, 64, 71, 72, 74], "easier": [2, 10, 17, 24, 45, 52, 57, 58, 67, 71], "nat_of_int": 2, "int_of_nat": 2, "div": [2, 3, 5, 11, 17, 59], "173": [2, 14], "15": [2, 13, 25, 52, 53, 57, 66], "mere": [2, 17, 55, 57, 64, 71], "extrocamlintconv": 2, "concret": [2, 13, 14, 17, 25, 26, 29, 34, 42, 46, 51, 57, 64, 71], "patholog": 2, "success": [2, 3, 4, 5, 13, 17, 24, 25, 34, 51, 52, 55, 57, 59, 60, 62, 64, 66, 67, 74], "sever": [2, 3, 4, 5, 11, 17, 24, 25, 26, 28, 29, 30, 31, 32, 34, 40, 42, 44, 46, 51, 52, 54, 55, 57, 59, 60, 64, 65, 67, 71, 72, 75, 76], "chain": [2, 17, 25, 51, 64, 71, 74], "http": [2, 5, 17, 24, 25, 27, 50, 51, 52, 53, 59, 64, 75, 77], "github": [2, 5, 17, 51, 52], "com": [2, 5, 17, 51, 52, 54], "coq": [2, 8, 9, 11, 13, 15, 17, 25, 26, 29, 30, 46, 51, 53, 54, 55, 57, 58, 59, 63, 66, 71, 72, 73, 75, 76, 77], "commun": [2, 17, 24, 27, 29, 51], "hydra": 2, "battl": 2, "bdd": 2, "contrib": [2, 17, 24, 53, 55], "canon": [2, 4, 5, 11, 13, 17, 24, 25, 30, 32, 34, 35, 37, 38, 44, 45, 53, 57, 59, 71, 77], "chines": [2, 24], "continu": [2, 17, 24, 52, 53, 54, 55, 57, 71, 73], "fire": [2, 14, 17], "squad": 2, "founifi": 2, "graph": [2, 14, 17, 24, 25, 39, 54, 72], "higman": 2, "cf": [2, 9, 17, 24, 29, 34, 40, 42, 46, 59, 67], "nw": 2, "hardwar": [2, 8, 24], "multipli": [2, 57], "stalmarck": [2, 24], "probabl": [2, 17, 32, 44, 51, 54, 57, 58, 59, 75], "heavi": 2, "impred": [2, 12, 14, 17, 24, 25, 34, 51, 53, 77], "thank": [2, 5, 12, 17, 24, 34, 42, 55, 57, 64, 71], "matthieu": [3, 9, 14, 17, 77], "sozeau": [3, 9, 14, 17, 77], "equal": [3, 5, 8, 10, 11, 12, 13, 14, 17, 24, 25, 26, 30, 31, 32, 34, 35, 36, 39, 40, 42, 44, 46, 52, 54, 55, 57, 58, 60, 61, 65, 71, 72, 77], "equip": [3, 4, 17, 24, 27, 36, 42, 64], "equival": [3, 9, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 32, 34, 35, 36, 37, 38, 41, 42, 46, 51, 52, 53, 54, 55, 59, 60, 62, 64, 66, 67, 71, 75], "behav": [3, 11, 17, 24, 28, 29, 31, 34, 35, 43, 53, 54, 55, 57, 58, 60, 62, 64, 67, 71], "weaker": [3, 17, 24, 60], "g": [3, 4, 5, 8, 9, 10, 13, 14, 17, 24, 27, 28, 29, 30, 31, 34, 35, 36, 41, 43, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 75, 77], "system": [3, 8, 9, 11, 17, 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, 39, 46, 51, 52, 53, 54, 55, 57, 59, 60, 62, 71, 73, 77], "toolbox": [3, 17], "extend": [3, 4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 32, 34, 35, 37, 40, 41, 42, 45, 51, 52, 53, 55, 59, 60, 71, 77], "capabl": [3, 17, 51, 53, 54, 55, 64], "document": [3, 8, 9, 11, 12, 16, 17, 24, 25, 42, 51, 52, 54, 55, 57, 59, 64, 65, 66, 67, 71, 72, 74, 76], "adapt": [3, 7, 17, 24, 51, 57, 63], "claudio": [3, 17, 24], "sacerdoti": [3, 17, 24], "coen": [3, 17, 24], "base": [3, 5, 10, 11, 12, 13, 14, 17, 24, 25, 29, 33, 35, 39, 42, 43, 44, 51, 52, 53, 54, 55, 57, 58, 60, 62, 63, 64, 66, 67, 71, 73, 74, 75, 77], "cl\u00e9ment": [3, 17], "renard": [3, 24], "implement": [3, 8, 11, 12, 13, 17, 24, 25, 29, 34, 35, 36, 37, 39, 43, 46, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 77], "drop": [3, 17, 51, 54, 59, 71], "old": [3, 11, 24, 25, 51, 53, 55, 58, 60, 66, 67], "complet": [3, 4, 5, 6, 7, 8, 9, 10, 11, 17, 24, 29, 30, 32, 34, 36, 40, 42, 51, 52, 53, 54, 57, 58, 59, 60, 62, 66, 67, 71], "typeclass": [3, 4, 5, 7, 17, 25, 35, 37, 38, 44, 45, 58, 60, 64, 66, 71], "infrastructur": [3, 25, 42, 53], "algorithm": [3, 7, 9, 11, 13, 17, 24, 25, 41, 51, 54, 57, 59, 62, 66, 77], "constraint": [3, 5, 8, 9, 10, 13, 17, 24, 25, 34, 35, 39, 43, 44, 51, 53, 54, 55, 58, 67, 71], "ml": [3, 5, 6, 8, 11, 17, 24, 25, 26, 29, 34, 36, 46, 51, 52, 53, 54, 57, 59, 60, 63, 64, 72, 77], "resolut": [3, 13, 17, 24, 25, 58, 60, 66, 71, 75], "anoth": [3, 4, 9, 11, 13, 14, 17, 24, 27, 31, 32, 34, 35, 40, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 66, 67, 71], "pure": [3, 7, 11, 17, 55, 57, 64, 71, 72, 75], "again": [3, 13, 17, 24, 34, 42, 52, 53, 55, 57, 60, 64, 66, 71], "ordinari": [3, 17, 26, 37, 39, 71], "rocq": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 50, 52, 54, 55, 58, 59, 62, 63, 64, 65, 66, 67, 72, 73, 76], "manipul": [3, 9, 10, 17, 24, 25, 34, 37, 39, 55, 57, 63, 77], "put": [3, 5, 13, 14, 17, 34, 35, 43, 51, 53, 54, 57, 58, 59, 60, 66, 67, 71, 72, 75], "lemma": [3, 5, 11, 13, 14, 17, 24, 25, 32, 34, 35, 36, 38, 42, 44, 46, 54, 57, 58, 59, 60, 62, 64, 67, 72], "prove": [3, 5, 7, 8, 9, 11, 17, 24, 25, 27, 30, 32, 34, 35, 42, 43, 57, 58, 60, 62, 64, 72, 77], "higher": [3, 14, 17, 24, 25, 27, 40, 51, 54, 57, 58, 59, 60, 64, 67, 71, 73, 77], "depth": [3, 5, 13, 17, 29, 54, 57, 58, 59, 60, 62, 64, 71, 75], "solut": [3, 5, 13, 17, 42, 44, 58, 59, 63, 67], "fast": [3, 17, 24, 25, 53], "besid": [3, 17, 24, 34, 57], "necessari": [3, 4, 9, 13, 17, 24, 29, 31, 33, 37, 53, 55, 57, 59, 62, 64, 67, 71], "nicola": [3, 17, 77], "tabareau": [3, 17, 77], "glu": 3, "A": [3, 4, 5, 7, 9, 10, 11, 12, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 64, 66, 71, 72, 74, 75, 76, 77], "x1": [3, 9, 13, 17, 27, 42, 54, 57, 59, 60, 72], "t1": [3, 13, 17, 34, 42, 46, 57], "xn": [3, 9, 17, 57], "tn": [3, 13, 17, 57], "carrier": [3, 11, 14, 42, 57], "said": [3, 4, 17, 26, 34, 36, 42, 44, 55, 59, 71], "possibli": [3, 4, 17, 24, 34, 35, 42, 43, 51, 53, 54, 57, 59, 64, 67, 71, 73], "paramet": [3, 4, 5, 7, 8, 13, 14, 17, 24, 25, 28, 29, 34, 37, 40, 41, 42, 43, 44, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 72], "finit": [3, 5, 17, 24, 30, 34], "unord": [3, 17, 57], "set_eq": 3, "satisfi": [3, 4, 5, 11, 13, 14, 17, 30, 34, 35, 54, 55, 59, 64, 67, 71], "convert": [3, 4, 12, 13, 14, 17, 25, 26, 34, 37, 41, 44, 54, 55, 57, 58, 64, 67], "reflex": [3, 5, 6, 11, 13, 17, 24, 27, 34, 36, 51, 54, 57, 59, 60, 62, 64, 66, 67, 71], "symmetri": [3, 17, 24, 34, 44, 57, 60, 64], "transit": [3, 7, 8, 13, 14, 17, 24, 25, 26, 35, 41, 44, 51, 54, 57, 58, 59, 60, 64, 66, 74], "symmetr": [3, 17, 24, 31, 59, 64, 71], "a1": [3, 27, 34, 46, 57, 58, 71], "a2": [3, 27, 34, 58], "covariantli": 3, "r1": [3, 5, 17, 27, 41, 44, 57, 59], "r2": [3, 17, 27, 41, 44, 57, 59], "whenev": [3, 7, 14, 17, 27, 29, 42, 55, 57, 62, 64, 67, 71], "imag": [3, 11, 17, 24, 51, 52, 66], "input": [3, 4, 9, 10, 13, 14, 17, 25, 27, 29, 35, 44, 46, 51, 54, 57, 58, 60, 64, 71, 72, 74, 75], "monoton": [3, 4, 17], "i_": [3, 34, 57], "r_1": 3, "r_2": 3, "notic": [3, 4, 5, 17, 26, 34, 35, 38, 46, 51, 52, 54, 57, 58, 64, 66, 71, 72, 74], "arrow": [3, 4, 14, 17, 52, 57, 60, 64, 67], "reader": [3, 11, 24, 29, 31, 42, 57], "between": [3, 4, 10, 11, 13, 14, 17, 24, 25, 26, 27, 29, 33, 34, 38, 39, 43, 44, 46, 51, 52, 53, 54, 57, 58, 60, 64, 65, 67, 71, 72, 75], "introduc": [3, 5, 8, 10, 11, 13, 14, 17, 24, 25, 28, 30, 31, 34, 35, 37, 38, 43, 44, 46, 51, 52, 55, 57, 58, 59, 60, 62, 66, 67, 71, 72, 75], "straightforwardli": 3, "ari": [3, 17, 34], "simultan": [3, 17, 24, 25, 26, 30, 32, 34, 42, 53, 57, 58], "everi": [3, 9, 11, 12, 13, 14, 17, 28, 29, 34, 40, 51, 52, 54, 55, 57, 58, 64, 71], "argument": [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 40, 42, 43, 45, 51, 52, 54, 55, 58, 59, 60, 62, 64, 66, 72, 75], "invers": [3, 11, 17, 24, 25, 31, 58, 60, 64, 72, 77], "t_1": [3, 26, 31, 34, 35], "ldot": [3, 7, 34], "t_n": [3, 26, 34, 66], "union": [3, 13, 17, 54, 59, 66, 77], "append": [3, 17, 29, 35, 43, 53, 54, 66, 75], "binari": [3, 5, 7, 11, 14, 17, 24, 29, 37, 42, 51, 53, 57, 58, 60, 64, 71], "latter": [3, 11, 17, 28, 34, 35, 42, 51, 54, 55, 57, 58, 64, 66, 67, 75], "condit": [3, 4, 9, 11, 17, 24, 25, 30, 50, 53, 59, 60, 63, 64, 66, 67], "s1": [3, 30, 38, 57], "s2": [3, 30], "divis": [3, 11, 17, 24, 25, 57], "rdiv": [3, 5], "le": [3, 5, 13, 14, 17, 24, 27, 42, 46, 52, 55, 57, 64, 67, 77], "usual": [3, 8, 9, 12, 17, 25, 26, 27, 28, 30, 34, 35, 37, 40, 43, 44, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74, 75], "leibniz": [3, 5, 7, 11, 13, 17, 24, 25, 27, 35, 40, 57, 58, 67], "unfortun": [3, 5, 17, 42, 46, 57], "intend": [3, 17, 24, 28, 32, 39, 51, 57, 64, 66, 71], "next": [3, 9, 13, 17, 24, 27, 29, 33, 34, 42, 44, 46, 51, 52, 54, 55, 57, 60, 64, 65, 66, 67, 71], "section": [3, 5, 6, 7, 8, 9, 10, 11, 12, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 67, 71, 74], "deal": [3, 5, 8, 13, 17, 24, 25, 42, 46, 57, 60, 64, 71, 72], "exact": [3, 12, 14, 17, 24, 25, 35, 40, 43, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71], "goal": [3, 6, 7, 8, 9, 12, 13, 14, 17, 24, 25, 27, 29, 31, 34, 35, 36, 37, 38, 42, 43, 44, 52, 53, 59, 60, 61, 62, 64, 71, 72, 74], "howev": [3, 4, 5, 9, 12, 13, 14, 17, 24, 27, 29, 34, 36, 37, 41, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 64, 66, 67, 71, 72], "verifi": [3, 7, 9, 11, 14, 17, 24, 25, 29, 31, 32, 33, 35, 51, 60, 66], "verif": [3, 24, 25, 32, 66, 67, 77], "consist": [3, 4, 5, 11, 13, 14, 17, 24, 27, 30, 31, 34, 35, 52, 55, 57, 58, 59, 64, 65, 66, 71], "composit": [3, 71], "some": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 42, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 71, 72, 73, 75], "obviou": [3, 34, 57, 71], "suppos": [3, 9, 17, 55, 57, 64], "hypothesi": [3, 9, 11, 17, 24, 25, 27, 28, 29, 34, 38, 55, 57, 59, 60, 62, 64, 66, 67, 71, 72, 75], "h": [3, 4, 6, 9, 11, 12, 13, 14, 17, 24, 27, 34, 40, 44, 46, 51, 54, 55, 57, 58, 62, 64, 66, 67, 72, 75, 77], "These": [3, 11, 13, 14, 17, 24, 25, 27, 28, 29, 31, 32, 34, 36, 37, 38, 40, 52, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72, 73], "attribut": [3, 5, 9, 13, 14, 16, 25, 28, 30, 32, 34, 37, 40, 41, 42, 44, 51, 54, 55, 59, 60, 62, 64, 66, 71, 74], "univers": [3, 4, 8, 9, 12, 13, 17, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 39, 40, 44, 46, 51, 54, 57, 59, 62, 66, 67, 71, 77], "add": [3, 4, 5, 8, 9, 10, 11, 13, 14, 17, 24, 25, 29, 31, 32, 34, 37, 41, 42, 44, 46, 51, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 73, 75], "one_term": [3, 5, 7, 11, 13, 29, 34, 54, 58, 60, 62, 64, 67, 71, 72], "aeq": 3, "\u03b1": [3, 14, 25, 54, 55, 57], "typeabl": 3, "fresh": [3, 14, 17, 24, 25, 31, 34, 53, 57, 58, 64, 66, 67, 71], "intern": [3, 5, 11, 14, 17, 24, 25, 31, 34, 37, 44, 51, 53, 54, 55, 58, 60, 62, 66, 67, 71, 72, 73, 74, 77], "although": [3, 5, 9, 17, 35, 37, 53, 55, 57, 58, 60, 64, 66], "depart": 3, "To": [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 17, 24, 25, 27, 29, 30, 32, 34, 37, 39, 41, 42, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72, 74, 75], "eq": [3, 5, 11, 14, 17, 27, 35, 40, 42, 54, 57, 58, 59, 64, 67, 71], "refl_equ": [3, 17, 57], "properti": [3, 4, 6, 9, 11, 12, 13, 17, 24, 25, 26, 27, 30, 31, 32, 34, 38, 39, 42, 45, 46, 57, 58, 67, 72, 77], "deriv": [3, 5, 9, 13, 17, 24, 25, 26, 30, 34, 38, 40, 54, 64, 66, 73], "autorewrit": [3, 17, 24, 60], "abl": [3, 8, 11, 13, 14, 17, 24, 25, 34, 42, 44, 46, 51, 53, 55, 57, 58, 59, 61, 62, 67], "defined": 3, "interact": [3, 6, 10, 13, 17, 24, 25, 32, 33, 37, 38, 40, 42, 43, 52, 59, 65, 66, 67, 71, 75, 76, 77], "denot": [3, 4, 11, 17, 24, 26, 28, 29, 30, 34, 35, 39, 40, 42, 43, 52, 54, 57, 58, 67, 71], "small": [3, 5, 8, 11, 14, 17, 25, 26, 33, 34, 39, 42, 44, 52, 53, 57, 64], "theori": [3, 4, 5, 11, 17, 24, 25, 26, 27, 28, 29, 39, 42, 46, 51, 53, 57, 58, 60, 62, 67, 71, 77], "homogen": [3, 17], "export": [3, 5, 8, 9, 11, 13, 17, 24, 29, 35, 38, 51, 52, 54, 55, 59, 60, 71], "relation_definit": [3, 13, 17, 42, 59], "eq_set": 3, "axiom": [3, 6, 7, 9, 10, 11, 12, 14, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 42, 44, 51, 52, 54, 57, 58, 59, 60, 64, 66, 67, 71, 72, 74], "eq_set_refl": 3, "eq_set_sym": 3, "eq_set_tran": 3, "empty_neutr": 3, "union_compat": 3, "eq_set_rel": 3, "eq_set_rel_rel": 3, "eq_set_rel_reflex": 3, "eq_set_rel_symmetr": 3, "eq_set_rel_transit": 3, "union_mor": 3, "x0": [3, 13, 17, 37, 43, 44, 54, 66, 71], "y0": [3, 13, 43], "No": [3, 5, 6, 9, 11, 12, 13, 14, 17, 24, 25, 26, 30, 34, 35, 36, 40, 42, 44, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74], "qed": [3, 5, 6, 8, 9, 12, 13, 14, 17, 24, 29, 32, 34, 36, 38, 40, 42, 51, 52, 54, 57, 58, 59, 60, 62, 64, 66, 67, 72], "reduc": [3, 7, 8, 10, 11, 12, 13, 17, 24, 26, 31, 32, 34, 36, 37, 40, 41, 44, 51, 53, 57, 58, 59, 60, 64, 66, 67, 71], "burden": [3, 63], "maxim": [3, 13, 17, 25, 41, 51, 57, 71, 77], "insert": [3, 4, 9, 12, 13, 17, 24, 25, 29, 41, 46, 52, 53, 55, 57, 66, 71, 75], "write": [3, 4, 8, 11, 13, 14, 17, 24, 25, 26, 27, 29, 31, 32, 33, 34, 38, 39, 43, 51, 53, 54, 55, 57, 58, 59, 63, 66, 67, 71, 73, 75], "proce": [3, 11, 13, 52, 57, 71], "simpl": [3, 4, 10, 11, 17, 24, 25, 29, 37, 41, 42, 43, 46, 52, 53, 54, 57, 58, 59, 60, 62, 67, 72], "step": [3, 5, 7, 11, 13, 17, 24, 25, 26, 29, 41, 51, 52, 53, 54, 58, 60, 64, 65, 67], "applic": [3, 5, 10, 11, 13, 14, 17, 24, 25, 26, 29, 30, 35, 36, 37, 41, 46, 52, 55, 57, 59, 60, 64, 66, 67, 71, 72, 77], "establish": [3, 17, 57], "intro": [3, 5, 11, 12, 13, 17, 24, 25, 34, 42, 43, 44, 52, 54, 55, 60, 62, 64, 66, 67, 71, 72], "manag": [3, 13, 17, 24, 25, 32, 38, 51, 53, 57, 59, 60, 62, 73], "hypothes": [3, 5, 9, 13, 17, 24, 25, 28, 32, 34, 51, 57, 60, 62, 64, 67, 71], "One": [3, 8, 9, 13, 14, 17, 25, 31, 32, 34, 37, 38, 39, 44, 51, 53, 54, 55, 59, 60, 64, 66, 67, 71, 75], "cmd": [3, 17, 38, 51, 52, 54], "exist": [3, 4, 5, 9, 11, 13, 14, 17, 25, 26, 27, 28, 29, 31, 32, 34, 36, 37, 39, 41, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 74], "outsid": [3, 5, 9, 11, 12, 13, 14, 17, 28, 29, 35, 38, 40, 41, 42, 43, 53, 54, 59, 60, 66, 71], "suffix": [3, 17, 35, 51, 52, 53, 54, 57, 59, 71, 75], "_morphism": 3, "modifi": [3, 4, 8, 11, 13, 14, 17, 24, 25, 29, 36, 38, 41, 51, 52, 54, 55, 57, 58, 64, 66, 67, 71], "themselv": [3, 13, 14, 17, 26, 35, 37, 39, 41, 42, 53, 57, 59, 64, 71], "exploit": [3, 17, 24, 57, 67], "monotoni": 3, "hand": [3, 10, 12, 13, 17, 25, 27, 29, 33, 35, 52, 53, 54, 55, 57, 58, 64, 67, 71, 72], "partial": [3, 13, 17, 24, 34, 35, 37, 44, 51, 53, 54, 57, 59, 62, 66, 71, 72], "domain": [3, 5, 11, 14, 17, 24, 25, 26, 34, 42, 61, 64, 71], "compris": [3, 24], "eqo": 3, "smallest": [3, 5, 27, 34, 67], "nonzero": [3, 11, 37, 54], "eq0": 3, "open": [3, 5, 6, 11, 13, 17, 25, 27, 35, 36, 38, 50, 52, 54, 55, 57, 59, 60, 64, 66], "addit": [3, 4, 5, 8, 9, 13, 17, 24, 25, 27, 29, 31, 34, 35, 39, 51, 52, 53, 54, 55, 58, 59, 62, 64, 65, 66, 67, 71, 72, 73], "up": [3, 8, 13, 17, 24, 25, 26, 31, 34, 35, 38, 42, 43, 52, 53, 54, 55, 57, 58, 64, 66, 67, 71, 75], "longer": [3, 9, 17, 24, 31, 34, 38, 44, 52, 53, 58, 66, 67, 71], "posit": [3, 4, 5, 7, 9, 10, 11, 14, 17, 24, 25, 30, 36, 37, 39, 41, 44, 46, 51, 52, 54, 55, 57, 58, 59, 64, 66, 67, 71], "z": [3, 5, 7, 11, 13, 14, 17, 24, 26, 27, 28, 29, 34, 35, 37, 40, 41, 42, 43, 44, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71], "lt": [3, 9, 13, 17, 27, 42, 71, 72], "increas": [3, 5, 8, 17, 24, 53, 57, 62], "decreas": [3, 7, 9, 17, 30, 34, 55, 59, 72], "dualli": [3, 44, 57], "hold": [3, 4, 17, 30, 34, 35, 40, 42, 55, 58, 75], "On": [3, 10, 12, 17, 24, 27, 30, 32, 37, 40, 44, 46, 51, 52, 53, 54, 57, 58, 64, 71], "contrari": [3, 4, 9, 13, 17, 30, 40, 44, 57, 67], "messag": [3, 4, 8, 11, 12, 13, 14, 16, 17, 24, 26, 28, 29, 30, 34, 35, 37, 40, 41, 42, 43, 44, 46, 51, 52, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 74], "rewritten": [3, 9, 11, 24, 30, 46, 57, 58, 64], "compos": [3, 4, 34, 44, 57, 67, 71], "propag": [3, 11, 17, 41], "varianc": [3, 17], "annot": [3, 9, 14, 17, 24, 25, 27, 34, 41, 42, 45, 51, 53, 55, 57, 66], "switch": [3, 8, 13, 14, 17, 24, 25, 51, 53, 66], "travers": [3, 17, 57, 58, 67], "detail": [3, 5, 7, 14, 25, 31, 36, 37, 41, 42, 51, 52, 55, 57, 58, 59, 64, 66, 71, 72, 74, 75], "contravariantli": 3, "differ": [3, 4, 9, 11, 13, 14, 15, 17, 24, 25, 26, 29, 31, 34, 35, 37, 38, 41, 43, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 71, 72, 73, 75, 77], "duplic": [3, 11, 17, 43, 57, 67, 71], "multiset_eq": 3, "repeat": [3, 17, 25, 43, 44, 52, 55, 57, 58, 59, 66, 67], "request": [3, 14, 17, 25, 43, 51, 64], "unclear": [3, 10, 54], "analog": [3, 17, 34, 54, 57, 58, 66], "crelat": 3, "cmorphism": [3, 17], "cequival": 3, "rewriterel": [3, 17, 57], "index": [3, 13, 17, 24, 25, 26, 27, 29, 39, 40, 44, 52, 58, 60, 64, 66, 67, 73, 75], "iff": [3, 17, 26, 27, 31, 57, 59, 71], "impl": [3, 5, 59], "flip": [3, 17], "pointwis": 3, "simpli": [3, 4, 11, 13, 14, 17, 24, 31, 39, 54, 55, 57, 59, 62, 67, 71, 75], "machineri": [3, 17, 57], "infer": [3, 4, 9, 10, 13, 14, 24, 25, 26, 34, 37, 40, 41, 42, 45, 46, 51, 57, 58, 60, 62, 67, 71], "face": [3, 17, 75], "situat": [3, 4, 11, 17, 46, 54, 57, 71], "instanti": [3, 10, 13, 14, 17, 24, 34, 35, 43, 44, 54, 55, 57, 58, 60, 62, 67, 71], "discharg": [3, 14, 17, 24, 25, 28, 38, 72], "That": [3, 27, 29, 30, 34, 36, 52, 54, 55, 58, 64, 66], "variou": [3, 16, 17, 24, 25, 28, 29, 34, 44, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 71], "hint": [3, 13, 14, 17, 24, 25, 27, 35, 38, 54, 62, 64, 75], "databas": [3, 13, 17, 25, 54, 57, 62, 64], "refl": [3, 17], "sym": [3, 17, 44], "tran": [3, 17], "id": [3, 4, 9, 10, 14, 17, 24, 26, 34, 35, 42, 44, 51, 52, 53, 54, 55, 57, 58, 64, 66, 71, 75], "equivalence_reflex": [3, 59], "equivalence_symmetr": [3, 59], "equivalence_transit": 3, "amount": [3, 5, 8, 14, 17, 51, 54, 58], "relationclass": [3, 17, 64], "further": [3, 17, 30, 35, 41, 51, 52, 54, 55, 57, 64, 66, 67, 71], "explan": [3, 13, 37, 45, 51, 58, 59, 67], "encod": [3, 13, 17, 24, 25, 27, 34, 53, 71, 75], "car": 3, "eq_rel": 3, "eq_rel_rel": 3, "eq_rel_reflex": 3, "eq_rel_symmetr": 3, "eq_rel_transit": 3, "x2": [3, 27, 42, 59, 60, 72], "apply_mor": 3, "setoid_": [3, 17], "moreov": [3, 5, 17, 28, 44, 46, 51, 52, 57, 62, 71], "unprefix": 3, "fall": [3, 9, 10, 13, 24, 53], "back": [3, 9, 14, 17, 24, 51, 52, 54, 57, 59, 66, 67], "involv": [3, 4, 9, 12, 17, 24, 25, 26, 34, 41, 42, 51, 52, 53, 54, 57, 59, 60, 62, 64, 67], "pass": [3, 5, 8, 10, 12, 17, 24, 37, 38, 42, 51, 52, 53, 54, 55, 57, 60, 64, 66, 67, 71, 75], "etransit": [3, 17, 43, 64], "one_term_with_bind": [3, 58, 64, 67, 72], "rewrite_occ": [3, 64], "int_or_var": [3, 54, 66, 71], "ltac_expr3": [3, 29, 54, 58, 64, 66], "defaultrel": 3, "By": [3, 4, 5, 11, 12, 13, 14, 17, 29, 37, 44, 46, 51, 53, 54, 55, 57, 60, 64, 66, 67, 71], "recent": [3, 24, 25, 53, 71], "environ": [3, 8, 9, 11, 12, 13, 14, 17, 24, 25, 26, 28, 30, 31, 32, 34, 35, 38, 42, 43, 52, 53, 55, 57, 60, 62, 64, 66, 67, 71, 72, 75], "simul": [3, 17, 24, 57, 66], "understand": [3, 5, 10, 12, 15, 17, 24, 25, 29, 33, 51, 53, 54, 55, 59, 60], "congruenc": [3, 12, 17, 24, 25, 34, 54, 62, 64, 67], "pack": [3, 42, 53], "slightli": [3, 17, 24, 35, 51, 52, 54, 55, 57, 58, 67], "permut": [3, 17, 25, 55, 57], "bi": 3, "implic": [3, 17, 26, 27, 28, 42, 54, 57, 60, 66, 67, 71], "port": [3, 17, 24, 55, 72], "semant": [3, 11, 13, 14, 17, 24, 25, 26, 29, 35, 36, 39, 41, 44, 53, 54, 57, 58, 71, 77], "limit": [3, 5, 9, 10, 13, 14, 17, 24, 25, 29, 35, 41, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 71, 72], "lift": [3, 12, 14, 17], "were": [3, 11, 13, 17, 24, 34, 35, 36, 38, 42, 44, 51, 53, 54, 55, 59, 60, 66, 71, 72, 75], "discuss": [3, 17, 24, 25, 54], "setoid_rewrit": [3, 17, 24, 60, 64], "head": [3, 10, 13, 14, 17, 24, 26, 30, 35, 41, 42, 44, 53, 54, 55, 57, 58, 59, 60, 64, 67, 71], "constr": [3, 5, 14, 17, 24, 34, 42, 54, 55, 57, 71], "bind": [3, 9, 10, 14, 17, 24, 25, 28, 32, 34, 35, 37, 40, 43, 44, 46, 51, 54, 57, 64, 66, 67, 72], "construct": [3, 4, 5, 8, 9, 10, 11, 13, 14, 17, 25, 27, 28, 29, 30, 31, 33, 35, 41, 42, 43, 46, 52, 53, 55, 57, 58, 62, 63, 64, 65, 66, 67, 71, 77], "ex": [3, 17, 24, 27, 44, 58, 67, 71], "existenti": [3, 6, 9, 10, 13, 17, 24, 25, 26, 34, 41, 45, 54, 58, 59, 60, 64, 66, 67], "morphisms_prop": [3, 17], "all_iff_morph": 3, "pointwise_rel": 3, "simpl_rel": [3, 17], "predic": [3, 9, 17, 24, 25, 26, 27, 30, 34, 40, 42, 54, 60, 64, 77], "onc": [3, 8, 9, 10, 11, 13, 14, 17, 24, 25, 27, 32, 34, 41, 42, 44, 46, 51, 53, 55, 57, 58, 59, 60, 64, 66, 67, 71, 72], "implicitli": [3, 13, 14, 17, 24, 34, 51, 55, 59, 60, 64], "inde": [3, 4, 11, 12, 13, 14, 17, 25, 26, 29, 30, 34, 35, 40, 41, 42, 43, 44, 46, 53, 54, 55, 57, 58, 60, 64, 66, 67, 71, 72], "surround": [3, 17, 44, 57, 59, 71], "whatev": [3, 44, 64, 75], "map_morph": 3, "eqa": [3, 13], "eqb": [3, 5, 13, 17, 36, 59], "list_equiv": 3, "parameter": [3, 5, 11, 14, 17, 24, 25, 28, 37, 40, 54], "captur": [3, 17, 34, 44, 57, 64, 71], "bound": [3, 5, 6, 7, 10, 14, 17, 24, 25, 26, 28, 31, 32, 34, 39, 41, 42, 44, 46, 52, 54, 55, 57, 58, 59, 60, 62, 64, 72], "With": [3, 4, 13, 14, 17, 46, 53, 57, 58, 67, 71], "subterm": [3, 9, 10, 11, 17, 24, 25, 31, 34, 41, 54, 55, 57, 58, 59, 64, 66, 67, 71, 72], "almost": [3, 17, 57, 67, 75], "recov": [3, 8, 14, 17, 30, 46, 51, 54, 67], "smaller": [3, 11, 14, 17, 32, 33, 34, 53, 58, 62, 67, 72], "dual": [3, 9, 24, 55], "why": [3, 11, 17, 34, 37, 43, 55], "conjunct": [3, 5, 11, 17, 24, 34, 57, 59, 60, 67, 71], "suffici": [3, 5, 11, 13, 53], "aris": [3, 9, 13, 17, 30, 67, 71], "through": [3, 4, 12, 17, 24, 28, 29, 30, 32, 34, 35, 36, 37, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 72, 73, 74], "prime": [3, 17, 29, 34, 57], "space": [3, 17, 29, 52, 53, 57, 59, 66, 71, 74, 75], "rewrite_strat": [3, 17], "rule": [3, 4, 5, 11, 12, 13, 14, 17, 24, 25, 29, 32, 33, 35, 36, 37, 39, 41, 42, 44, 46, 51, 53, 54, 55, 58, 59, 60, 62, 66, 67, 77], "slow": [3, 11, 17, 53, 54, 55], "down": [3, 14, 24, 25, 45, 51, 52, 54, 55, 57, 59], "wherea": [3, 17, 29, 54, 55, 57, 58, 62, 74], "opaqu": [3, 6, 8, 9, 14, 17, 24, 25, 31, 32, 35, 38, 51, 57, 59, 60, 64, 66, 67, 71, 75], "caus": [3, 8, 12, 14, 17, 32, 51, 52, 53, 54, 55, 57, 58, 59, 63, 64, 66, 71, 75], "miss": [3, 5, 10, 13, 17, 24, 35, 43, 51, 52, 55, 57, 58, 62, 64, 71, 75], "configur": [3, 8, 17, 24, 25, 29, 40, 51, 52, 59, 64, 66, 73], "transpar": [3, 4, 6, 9, 14, 17, 24, 25, 31, 32, 35, 37, 41, 51, 54, 55, 57, 59, 60, 64, 66, 67, 75], "unif": [3, 10, 13, 17, 24, 25, 37, 40, 42, 43, 54, 60, 64, 71], "eauto": [3, 17, 25, 43, 54, 57, 60], "individu": [3, 17, 53, 55, 64, 67, 71], "double_f": 3, "unifi": [3, 12, 13, 14, 17, 34, 41, 42, 43, 54, 57, 58, 64, 66], "assert_succe": [3, 17, 25], "bottomup": 3, "hide": [3, 17, 25, 34, 41, 44, 57, 58, 66, 71], "side": [3, 10, 13, 14, 17, 24, 25, 27, 32, 34, 35, 38, 43, 52, 54, 55, 57, 58, 60, 62, 64, 67, 71], "behind": [3, 4, 17, 28, 34, 57], "assert_fail": [3, 17, 25], "disallow": [3, 12, 14, 17, 37, 51], "substitut": [3, 10, 11, 17, 24, 25, 26, 34, 38, 46, 51, 55, 57, 58, 64, 67, 71], "distinct": [3, 9, 13, 17, 26, 34, 42, 44, 46, 53, 54, 55, 57, 60, 64, 67, 71], "eq_refl": [3, 5, 9, 11, 12, 13, 14, 17, 27, 40, 64, 66, 67, 71], "resolv": [3, 9, 13, 14, 17, 35, 43, 52, 55, 57, 58, 59, 60, 64, 66, 67, 71], "treat": [3, 9, 12, 13, 17, 29, 46, 53, 54, 57, 59, 60, 62, 64, 67, 71, 72], "lot": [3, 11, 17, 24, 52, 55], "tri": [3, 4, 5, 9, 13, 14, 17, 34, 35, 41, 46, 52, 53, 54, 55, 57, 58, 59, 60, 62, 66, 67], "speed": [3, 13, 17, 24, 34, 64], "abbrevi": [3, 4, 5, 13, 14, 17, 24, 25, 27, 32, 35, 38, 59, 74], "typeclass_inst": [3, 13, 17, 60], "strat": 3, "rewstrategi": [3, 17], "conclus": [3, 11, 13, 17, 24, 28, 34, 54, 55, 57, 58, 60, 64, 66, 67, 71], "noth": [3, 17, 38, 41, 51, 54, 55, 57, 58, 60, 62, 64, 66, 67], "didn": [3, 17, 51, 53], "progress": [3, 17, 24, 25, 51, 52, 55, 60, 66, 77], "succeed": [3, 17, 54, 59, 72], "unabl": [3, 14, 34, 43, 46, 53, 57, 58, 59, 66, 67], "basic": [3, 9, 11, 17, 24, 25, 32, 33, 34, 35, 37, 40, 42, 44, 46, 51, 58, 59, 60, 63, 66, 67, 73], "db": [3, 17], "topdown": 3, "creat": [3, 8, 9, 13, 17, 24, 25, 29, 34, 38, 40, 42, 51, 52, 53, 54, 57, 58, 59, 64, 66, 67, 72, 75], "procedur": [3, 4, 11, 17, 24, 25, 54, 57, 60, 62, 64, 77], "programm": [3, 24, 25, 65], "visser": [3, 77], "et": [3, 24, 77], "al": [3, 57], "lv97": [3, 77], "vbt98": [3, 77], "core": [3, 13, 17, 24, 25, 27, 29, 41, 45, 51, 57, 59, 60, 62, 65, 71], "stratego": [3, 77], "transform": [3, 4, 11, 17, 29, 57, 58, 66, 67, 77], "languag": [3, 9, 11, 14, 26, 29, 36, 37, 39, 40, 41, 46, 53, 54, 63, 64, 65, 66, 74, 75, 77], "vis01": [3, 77], "rewstrategy1": [3, 17], "choic": [3, 17, 27, 34, 51, 52, 55, 62, 71, 75], "rewstrategy0": 3, "eval": [3, 5, 12, 14, 17, 24, 25, 29, 30, 31, 32, 35, 37, 42, 51, 52, 53, 55, 59], "red_expr": [3, 17, 32, 54, 64], "fold": [3, 17, 37, 57], "failur": [3, 8, 13, 14, 17, 24, 25, 46, 53, 55, 57, 59, 60, 62, 64, 71, 77], "catch": [3, 17, 25, 42, 46, 57], "zero": [3, 7, 11, 17, 26, 27, 37, 42, 46, 53, 54, 55, 58, 59, 60, 64], "nest": [3, 9, 17, 24, 25, 29, 32, 35, 38, 40, 54, 57, 58, 59, 64, 66, 71, 75], "andbc": [3, 57], "bottom": [3, 17, 37, 46, 52, 54, 55, 58, 64, 71], "top": [3, 8, 10, 12, 13, 14, 17, 24, 25, 29, 35, 37, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 67, 71, 73, 75], "oper": [3, 5, 9, 10, 11, 14, 17, 24, 25, 27, 32, 34, 36, 51, 52, 54, 55, 57, 60, 64, 66, 67, 71], "texttt": 3, "conceptu": [3, 34], "straightforward": [3, 55], "root": [3, 17, 25, 27, 46, 51], "iter": [3, 5, 13, 17, 25, 26, 28, 30, 71], "consider": [3, 9, 17, 37, 39, 46, 64, 67, 71], "stop": [3, 5, 12, 17, 24, 32, 38, 52, 54, 57, 71], "Their": [3, 17, 32, 34, 39, 55, 57, 59, 71], "mani": [3, 8, 11, 13, 14, 17, 24, 25, 27, 29, 33, 34, 35, 39, 42, 51, 52, 53, 54, 55, 57, 58, 60, 64, 66, 71, 73], "stronger": [3, 12, 17, 34], "interpret": [3, 5, 9, 11, 13, 17, 24, 25, 27, 29, 32, 34, 35, 41, 44, 51, 52, 53, 54, 55, 59, 75], "ssrbool": [3, 17, 57], "ssrmatch": [3, 17, 57], "scope": [3, 5, 11, 17, 24, 25, 27, 29, 32, 36, 38, 43, 45, 52, 54, 55, 57, 59, 60, 64, 66], "bool_scop": [3, 17, 41, 71], "abort": [3, 11, 17, 34, 42, 44, 54, 55, 57, 64, 66, 67], "amokran": [4, 24], "sa\u00efbi": [4, 24], "prover": [4, 5, 15, 17, 24, 26, 29, 31, 33, 52, 55, 59, 65, 73, 75, 76], "power": [4, 5, 11, 17, 24, 54, 57, 67, 71, 72], "our": [4, 5, 7, 11, 17, 24, 34, 35, 54], "determin": [4, 13, 17, 31, 34, 36, 40, 41, 43, 53, 54, 57, 58, 64, 66, 67, 71, 72, 75], "appropri": [4, 13, 14, 17, 29, 53, 55, 57, 59, 62, 64, 66, 67, 75], "sens": [4, 24, 26, 30, 54, 55, 57, 71], "subtyp": [4, 9, 14, 17, 25, 31, 35, 39, 77], "certain": [4, 11, 17, 24, 29, 44, 46, 51, 54, 57, 58, 59, 64, 67, 71], "categori": [4, 8, 13, 17, 35, 51, 59, 61, 74, 75], "biject": [4, 17], "morphism": [4, 11, 17, 25, 59, 71], "famili": [4, 14, 17, 24, 25, 34, 40, 54, 55, 63, 67, 71], "coercion_class": [4, 71], "user": [4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 25, 29, 32, 33, 34, 35, 36, 37, 39, 42, 43, 44, 45, 46, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77], "sortclass": [4, 17, 57, 71], "funclass": [4, 17, 41, 71], "formal": [4, 6, 10, 17, 24, 25, 26, 29, 31, 32, 34, 37, 39, 41, 51, 55, 57, 67, 77], "don": [4, 10, 13, 14, 17, 28, 34, 35, 37, 46, 52, 53, 54, 57, 58, 60, 62, 64, 66], "confus": [4, 10, 13, 17, 24, 26, 29, 34, 44, 46, 52, 55, 57, 71], "target": [4, 11, 17, 25, 51, 58, 71], "x\u2081": 4, "a\u2081": 4, "x\u2096": 4, "a\u2096": 4, "v\u2081": 4, "v\u2099": [4, 55], "u\u2081": 4, "u\u2098": 4, "new": [4, 5, 6, 8, 10, 13, 14, 15, 25, 27, 29, 31, 32, 34, 36, 37, 39, 42, 43, 46, 51, 52, 54, 55, 58, 59, 60, 61, 64, 66, 67, 71, 72, 73, 75, 77], "ignor": [4, 13, 14, 17, 24, 29, 31, 34, 35, 44, 51, 52, 53, 54, 57, 58, 60, 64, 66, 71], "exactli": [4, 10, 11, 13, 17, 26, 27, 34, 40, 42, 44, 46, 51, 52, 54, 55, 57, 59, 66, 67, 71], "uniform": [4, 17, 24, 34, 40, 44, 54, 55], "recommend": [4, 8, 13, 14, 15, 17, 32, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66, 67, 72, 74, 75], "guarante": [4, 14, 17, 51, 52, 53, 55], "spuriou": [4, 17, 57, 71], "coerc": [4, 41, 57, 60, 64], "t\u2081": 4, "t\u2099": 4, "toward": [4, 17, 53], "intuit": [4, 11, 17, 24, 29, 55, 58, 62], "synthes": [4, 17, 24, 27, 28, 42, 46, 77], "precis": [4, 8, 13, 17, 24, 26, 29, 31, 33, 34, 35, 37, 39, 46, 51, 57, 64, 71], "doesn": [4, 14, 17, 29, 31, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 62, 66, 67, 71, 73], "look": [4, 8, 9, 11, 13, 14, 16, 17, 25, 51, 53, 54, 55, 57, 58, 59, 60, 66, 67, 71, 72, 75], "incom": [4, 17], "necessarili": [4, 46, 67, 72], "semi": [4, 11, 17], "lattic": 4, "forget": [4, 11, 37, 55, 59, 60, 67], "harder": [4, 17, 58], "There": [4, 9, 10, 11, 14, 17, 24, 25, 26, 27, 28, 29, 34, 37, 38, 39, 40, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 67, 71, 72, 75], "subclass": [4, 10, 13, 27, 39, 42, 59], "oldest": [4, 17], "notat": [4, 5, 9, 10, 11, 14, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 38, 40, 41, 45, 46, 51, 52, 53, 57, 58, 60, 64, 67, 73, 74, 75, 77], "f\u2081": 4, "f\u2096": 4, "ident_decl": [4, 9, 13, 28, 30, 32, 34, 37, 38, 40, 42, 59], "def_bodi": [4, 32, 38, 42], "unspecifi": [4, 14, 17, 43, 55, 62, 67], "ye": [4, 9, 11, 14, 17, 29, 34, 37, 42, 51, 53, 59, 67], "field": [4, 5, 7, 12, 13, 14, 17, 24, 25, 42, 51, 53, 55, 59, 61, 74], "nonuniform": [4, 17], "silenc": [4, 17, 24, 41, 46, 57, 62, 74], "18": [4, 13, 25, 57, 58, 59, 60, 64], "futur": [4, 9, 10, 13, 14, 17, 32, 41, 51, 52, 53, 57, 62, 66, 71, 77], "ambigu": [4, 17, 25, 46, 53, 57, 59, 60, 66, 71], "yield": [4, 11, 17, 24, 31, 46, 54, 55, 58, 67, 71], "f\u2099": 4, "report": [4, 8, 12, 17, 24, 29, 52, 54, 55, 59, 64, 72, 77], "definition": [4, 12, 17, 31, 32, 35, 37, 64], "circular": [4, 17, 57], "assumpt": [4, 10, 17, 24, 25, 26, 32, 33, 34, 35, 36, 44, 51, 52, 53, 54, 58, 59, 60, 66, 67, 77], "induct": [4, 5, 9, 10, 11, 12, 13, 14, 17, 24, 25, 27, 29, 30, 31, 32, 33, 35, 37, 41, 42, 44, 52, 54, 55, 57, 58, 59, 60, 62, 64, 65, 66, 73, 75, 77], "of_typ": [4, 17, 28], "src": [4, 53], "dest": [4, 17], "x\u2099": [4, 55], "t\u2098": 4, "word": [4, 14, 17, 30, 42, 51, 52, 53, 55, 58, 66], "context": [4, 5, 9, 10, 11, 14, 17, 24, 25, 26, 29, 30, 31, 32, 34, 35, 38, 41, 43, 44, 51, 52, 59, 60, 62, 64, 66, 67, 71], "forc": [4, 8, 11, 17, 24, 34, 42, 44, 52, 53, 54, 57, 60, 64, 66, 67, 71], "updat": [4, 8, 15, 17, 24, 36, 37, 46, 52, 53, 58, 59, 67, 71], "last": [4, 5, 9, 17, 24, 32, 34, 35, 37, 38, 42, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 65, 66, 67, 71, 72], "record_definit": [4, 13, 30, 34, 37], "redefin": [4, 17, 54, 55, 57, 66, 71, 75], "forgotten": 4, "atom": [4, 5, 8, 14, 17, 26, 60, 62, 67, 71], "bool_in_nat": 4, "unset": [4, 5, 12, 14, 17, 24, 25, 34, 35, 37, 38, 42, 44, 46, 51, 54, 55, 57, 59, 66, 67, 71], "none": [4, 5, 13, 17, 24, 27, 34, 40, 42, 46, 51, 54, 55, 57, 66, 71], "remark": [4, 17, 24, 25, 32, 34], "co": [4, 10, 11, 17, 24, 25, 42, 44, 54, 57, 59, 64, 67, 71, 77], "fg": 4, "bij": 4, "ap": [4, 11], "ssort": 4, "sstuff": 4, "s_nat": 4, "compar": [4, 5, 11, 14, 17, 24, 25, 37, 42, 53, 54, 55, 57, 58, 64, 66, 67, 73], "fct": 4, "incr_fct": 4, "fct_of_incr_fct": 4, "illeg": 4, "id_fct_funclass": 4, "reverse_coercion": [4, 17], "reversecoercionsourc": 4, "reversecoerciontarget": 4, "fr\u00e9d\u00e9ric": [5, 17, 57], "besson": [5, 17], "evgeni": [5, 17], "makarov": [5, 17], "mathbb": [5, 7, 17], "lqa": 5, "incomplet": [5, 8, 10, 17, 24, 46, 58, 66, 67, 71], "option": [5, 8, 9, 10, 11, 13, 14, 16, 24, 25, 26, 27, 34, 35, 38, 40, 42, 44, 46, 50, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 67, 71, 74], "john": [5, 77], "harrison": 5, "hol": 5, "light": [5, 17, 24, 52, 66, 75], "driver": 5, "csdp": 5, "gener": [5, 7, 8, 9, 12, 13, 17, 24, 25, 27, 28, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 43, 46, 51, 52, 53, 58, 59, 60, 61, 62, 64, 66, 75, 77], "cach": [5, 12, 17], "rerun": 5, "script": [5, 8, 17, 24, 25, 35, 42, 43, 53, 54, 55, 57, 58, 59, 60, 63, 64, 66, 73], "info": [5, 17, 54, 60], "dump": [5, 17, 24, 51, 75], "arith": [5, 11, 17, 24, 53, 59, 60, 72], "profil": [5, 17, 25, 53, 59, 64], "statist": [5, 17, 66], "pivot": 5, "detect": [5, 8, 17, 25, 41, 44, 52, 53, 57, 66], "ineffici": [5, 17, 24, 57], "formula": [5, 7, 26, 57, 58, 62, 77], "numer": [5, 11, 17, 24, 27, 29, 59, 71], "subtract": [5, 57], "exponenti": [5, 17, 29], "implb": [5, 17, 27], "negb": [5, 13, 27, 62, 71], "comparison": [5, 14, 17, 24, 42], "gtb": 5, "ltb": [5, 17, 59], "geb": 5, "leb": [5, 9, 17, 57, 59], "rather": [5, 11, 13, 17, 24, 29, 30, 34, 35, 53, 54, 55, 57, 58, 59, 64, 67, 71], "resp": [5, 17, 34, 36, 46, 57], "rang": [5, 17, 26, 29, 52, 55, 58, 71], "r0": [5, 17], "rmult": [5, 11], "rplu": 5, "rminu": 5, "izr": [5, 17, 71], "q2r": [5, 57], "rinv": 5, "decim": [5, 17, 27, 29, 59, 71], "hilbert": [5, 7, 17], "nullstellensatz": [5, 7, 17], "reli": [5, 17, 24, 30, 32, 33, 34, 38, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 66, 67, 71], "notion": [5, 11, 17, 24, 25, 26, 27, 33, 34, 46, 51, 54, 55, 58, 64, 71, 77], "cone": [5, 17], "polynomi": [5, 7, 17, 24, 25, 61], "mathit": [5, 26, 34], "under": [5, 9, 11, 17, 25, 32, 40, 44, 46, 52, 53, 54, 55, 59, 64, 66, 67], "dfrac": 5, "quad": 5, "p_1": [5, 7, 34, 35], "p_2": [5, 35], "join": [5, 24], "inequ": [5, 17, 24, 60], "belong": [5, 8, 11, 26, 29, 34, 37, 39, 53, 54, 57, 59, 60, 63, 67, 71, 75], "bigwedge_": 5, "ge": [5, 17, 27], "unsatisfi": [5, 60], "neg": [5, 17, 29, 30, 37, 64, 66, 71], "absurd": [5, 27, 34, 51, 58], "squar": [5, 17, 24, 44, 54, 59, 71, 75], "bigwedge_i": 5, "c_i": [5, 34, 35], "j": [5, 6, 8, 14, 17, 24, 25, 26, 34, 36, 39, 43, 51, 54, 57, 64, 72, 77], "s_i": [5, 7, 34], "p_j": [5, 34], "oracl": 5, "within": [5, 17, 24, 28, 29, 31, 33, 35, 37, 38, 41, 42, 44, 51, 52, 54, 55, 58, 59, 60, 64, 66, 71], "upon": [5, 11, 36, 43, 51], "equat": [5, 6, 14, 17, 24, 25, 27, 34, 40, 42, 46, 53, 55, 58, 60, 61, 64, 67, 72], "explor": [5, 17, 59], "subset": [5, 9, 17, 24, 25, 34, 39, 44, 55, 57, 58, 66, 71, 77], "lincon": 5, "sum_": [5, 7, 57], "alpha_p": 5, "deduct": [5, 24, 57], "overlap": [5, 17, 42, 46, 53, 57, 59, 66], "xlra": 5, "ltac_expr": [5, 9, 11, 29, 54, 55, 60, 62, 64, 66, 71], "wlra": 5, "advanc": [5, 17, 25, 33, 34, 42, 53, 54, 58, 64, 71, 74], "coq_micromega": 5, "mli": [5, 17, 53], "decid": [5, 8, 11, 17, 24, 25, 29, 34, 51, 53, 55, 57, 60, 71], "mathtt": 5, "remedi": [5, 17], "weak": [5, 17, 25, 27, 35, 55, 64, 67, 71], "account": [5, 9, 13, 14, 17, 24, 26, 34, 37, 41, 44, 54, 57, 60, 67, 71], "discret": 5, "round": [5, 17, 53], "ceil": 5, "rightarrow": [5, 7, 26, 75], "lceil": 5, "rceil": 5, "deduc": [5, 17, 44, 51, 57, 58, 67], "lfloor": 5, "rfloor": 5, "conclud": [5, 13, 17, 34, 54, 57, 64, 67], "exhibit": 5, "equiv": [5, 34, 39], "enumer": [5, 17, 34, 40], "c_1": [5, 26, 34, 35], "c_2": 5, "bigvee_": 5, "subgoal": [5, 11, 13, 17, 24, 25, 54, 57, 58, 60, 62, 64, 67], "enrich": [5, 17, 24, 26, 27, 67], "xlia": 5, "wlia": 5, "experiment": [5, 10, 12, 14, 17, 24, 51, 53, 54, 62, 66, 67, 71, 72], "monomi": [5, 11], "e_1": [5, 35], "e_2": [5, 35], "xnra": 5, "wnra": 5, "xnia": 5, "wnia": 5, "nat_or_var": [5, 13, 17, 54, 58, 60, 67], "degre": [5, 73], "provabl": [5, 11, 17, 34, 39, 57, 58, 66], "eventu": [5, 17, 34, 42, 43, 52, 54, 55, 57, 58, 60, 66], "approxim": [5, 12, 14, 17, 60], "optim": [5, 9, 17, 24, 25, 36, 58, 64, 66, 77], "techniqu": [5, 9, 30, 42, 57, 59, 62, 67], "illustr": [5, 17, 34, 46, 57, 60, 64], "zarith": [5, 11, 17, 24, 29, 53, 60], "z_scope": [5, 11, 17, 71], "shown": [5, 9, 13, 14, 17, 27, 29, 31, 34, 37, 38, 42, 43, 51, 52, 53, 54, 57, 58, 59, 60, 66, 71, 75], "xso": 5, "xpsatz": 5, "wso": 5, "wpsatz": 5, "zifybool": [5, 17], "zifycomparison": 5, "unsign": [5, 17, 36], "63": [5, 17, 29, 36, 71], "zifyuint63": 5, "sign": [5, 8, 11, 17, 29, 36, 46, 52, 53, 60], "zifysint63": 5, "pow": [5, 17, 59], "zifynat": [5, 17], "zifyn": [5, 17], "rebind": [5, 17, 52], "zify_pre_hook": [5, 17], "zify_post_hook": [5, 17], "divid": [5, 15, 17, 24, 58], "ltac": [5, 13, 24, 25, 35, 38, 43, 52, 53, 57, 58, 59, 60, 62, 63, 64, 66, 67, 71, 74, 77], "divide_to_equ": 5, "div_mod_to_equ": [5, 17], "rem": [5, 17], "quot_rem_to_equ": [5, 17], "to_euclidean_division_equ": [5, 17], "zify_convert_to_euclidean_division_equations_flag": 5, "pose": [5, 17, 24, 34, 54, 55, 57, 58, 67], "characterist": 5, "euclidean_division_equations_cleanup": [5, 17], "imposs": [5, 17, 34, 46, 53, 58, 67], "presuppos": [5, 75], "euclidean_division_equations_find_duplicate_quoti": 5, "q1": [5, 10, 13, 46, 57], "q2": [5, 10, 57], "relat": [5, 6, 7, 9, 10, 11, 13, 14, 17, 24, 25, 26, 27, 31, 34, 35, 40, 41, 42, 44, 51, 52, 53, 57, 58, 59, 60, 64, 67, 71, 72, 75], "zifyclass": [5, 17, 57], "zifyinst": 5, "add_zifi": 5, "injtyp": [5, 17], "binop": 5, "unop": 5, "cstop": 5, "binrel": 5, "unopspec": [5, 17], "binopspec": [5, 17], "propop": 5, "propbinop": 5, "propuop": 5, "satur": [5, 17], "show_zifi": 5, "spec": [5, 17], "elim": [5, 17, 24, 25, 54, 58, 67], "op": [5, 42, 44, 53, 57, 66, 71], "qarith": [5, 17], "q_scope": [5, 71], "micromega_cor": [5, 11, 29, 54, 55, 57, 60], "example_lra": 5, "hood": [5, 17], "curiou": 5, "own": [5, 10, 17, 24, 25, 35, 42, 44, 54, 57, 59, 60, 62, 66, 67, 75], "mathemat": [5, 17, 24, 25, 29, 34, 37, 51, 52, 57, 64, 66, 75, 77], "speak": [5, 11], "land": [5, 17, 59, 71], "p_0": 5, "2y": 5, "2x": [5, 11], "ringmicromega": 5, "qmicromega": 5, "envr": 5, "tauto": [5, 17, 24, 34, 54, 62], "__arith": 5, "__x2": 5, "__x1": 5, "__wit": 5, "psatzadd": 5, "psatzin": 5, "psatzmul": 5, "psatzc": 5, "__varmap": 5, "varmap": 5, "elt": 5, "__ff": 5, "isprop": 5, "flh": 5, "peadd": [5, 11], "pex": [5, 11], "pemul": [5, 11], "pec": [5, 11], "fop": 5, "opl": 5, "frh": 5, "tt": [5, 13, 14, 17, 27, 40, 46, 54, 57], "oplt": 5, "qtautochecker_sound": 5, "qtautocheck": 5, "reifi": [5, 17], "stand": [5, 10, 17, 24, 26, 28, 34, 53, 71], "wit": [5, 14, 17, 24, 27, 39, 55, 64], "ff": 5, "bformula": 5, "unfold": [5, 9, 13, 14, 17, 24, 25, 31, 32, 34, 37, 54, 55, 57, 60, 62, 66, 71], "wlra_q": 5, "qwit": 5, "eval_bf": 5, "qeval_formula": 5, "vm_comput": [5, 17, 25, 32, 36, 51, 58], "coin": 5, "variant": [5, 13, 14, 17, 24, 25, 27, 28, 29, 32, 33, 34, 35, 37, 38, 42, 51, 54, 55, 59, 60, 63, 64, 66, 67, 71, 72], "extens": [6, 9, 10, 11, 12, 14, 17, 25, 26, 29, 32, 41, 42, 52, 53, 59, 62, 63], "style": [6, 17, 24, 25, 30, 37, 52, 55, 57, 62, 67], "bird": 6, "meerten": 6, "refin": [6, 13, 14, 17, 24, 27, 30, 32, 34, 35, 38, 43, 46, 52, 54, 55, 57, 58, 66, 71], "open_bind": [6, 28, 58, 64], "suchthat": [6, 17], "ident__i": 6, "shelv": [6, 13, 17, 25, 43, 57, 58, 60], "visibl": [6, 17, 24, 38, 52, 57, 60, 66, 71, 75], "mul_add_distr_l": 6, "focus": [6, 17, 25, 43, 55, 57, 58, 59, 60], "goal0": [6, 43, 58, 66], "rewrit": [6, 11, 14, 17, 24, 25, 33, 34, 35, 52, 54, 55, 58, 59, 60, 61, 77], "nat_scop": [6, 27, 31, 34, 38, 46, 57, 66, 71], "execut": [6, 17, 24, 25, 29, 36, 51, 52, 53, 55, 57, 59, 64, 66, 67, 71], "obsolet": [6, 17, 24, 51, 58], "avoid": [6, 8, 11, 12, 13, 17, 24, 25, 29, 34, 37, 52, 54, 55, 57, 58, 59, 60, 64, 66, 67, 71, 74], "lo\u00efc": [7, 17, 24], "pottier": [7, 17, 24, 57], "tactic": [7, 8, 9, 10, 13, 16, 25, 26, 29, 30, 31, 32, 33, 34, 35, 38, 40, 41, 46, 51, 52, 53, 59, 62, 65, 66, 73, 75], "altern": [7, 8, 9, 11, 13, 17, 24, 25, 29, 30, 35, 40, 43, 44, 46, 52, 53, 55, 57, 59, 62, 64, 65, 66, 71, 75, 77], "prefer": [7, 17, 25, 34, 51, 53, 57, 58, 59, 62, 66, 71], "nsatztact": [7, 17], "ring": [7, 17, 24, 25, 29, 37, 54, 55, 57, 59, 60, 61, 62, 72], "radicalmax": 7, "strategi": [7, 9, 13, 17, 24, 25, 26, 55, 57, 59, 60, 71, 77], "x_1": [7, 26, 34, 35], "x_n": 7, "q_1": [7, 34], "p_": [7, 34], "q_": 7, "commut": [7, 11, 17, 24, 44, 59], "divisor": [7, 17], "exampl": [7, 8, 9, 13, 24, 25, 32, 36, 45], "setoid": [7, 10, 11, 17, 24, 25, 42, 57], "wedg": 7, "introduct": [7, 13, 17, 24, 30, 34, 62, 67, 71], "buchberg": [7, 24, 77], "gmn": [7, 77], "91": [7, 60, 77], "revers": [7, 15, 17, 25, 34, 41, 57, 58, 60, 66], "lexicograph": [7, 11, 53], "newest": [7, 54, 55], "x_": [7, 34], "i_1": [7, 11, 34, 35], "i_k": [7, 34, 35], "among": [7, 13, 17, 24, 25, 26, 34, 44, 53, 54, 55, 57, 64], "ration": [7, 17, 24, 25, 37, 61, 71], "fraction": [7, 11, 17, 24, 29, 37, 57, 71], "coeffici": [7, 11, 17], "nonconst": 7, "lvar": 7, "especi": [7, 15, 17, 24, 26, 34, 44, 46, 54, 57, 60, 62, 64, 71], "geometri": [7, 24], "algebra": [7, 14, 17, 24, 39, 42, 54, 55, 64, 77], "easi": [7, 11, 13, 17, 27, 46, 52, 53, 60, 67], "p_i": [7, 34], "method": [7, 13, 17, 24, 30, 53, 59, 60, 77], "s_1": [7, 34, 35], "s_": [7, 34], "q_i": [7, 34], "achiev": [7, 11, 13, 17, 24, 54, 57, 71], "gr\u00f6bner": [7, 17], "basi": [7, 17, 52, 59], "ideal": 7, "reific": [7, 17, 64], "enrico": [8, 17, 42, 57, 77], "tassi": [8, 17, 42, 57, 77], "explain": [8, 13, 17, 24, 29, 42, 51, 52, 57, 60, 71, 72, 74], "reactiv": [8, 17, 59], "coqid": [8, 25, 35, 51, 53, 54, 66, 76], "advantag": [8, 17, 24, 46, 51, 53, 57, 62, 64, 67], "batch": [8, 17, 25, 54, 66], "decoupl": [8, 17], "statement": [8, 9, 17, 24, 28, 32, 33, 41, 42, 44, 51, 57, 58, 59, 64, 66, 67, 71], "huge": [8, 11, 17, 54, 57, 66], "character": [8, 17, 34, 40, 42], "long": [8, 14, 17, 25, 30, 51, 52, 53, 58, 59, 67, 71], "benefici": 8, "short": [8, 14, 17, 24, 25, 31, 35, 36, 38, 51, 53, 55, 57, 59, 64, 75], "technic": [8, 17, 27, 34, 44, 51, 57, 77], "unsuit": 8, "kernel": [8, 9, 10, 12, 24, 25, 29, 32, 33, 36, 37, 38, 41, 45, 46, 53, 55, 58, 59, 64, 66], "late": [8, 17, 24, 25, 64], "At": [8, 11, 14, 24, 26, 27, 33, 34, 42, 51, 52, 54, 55, 57, 59, 60, 71, 74], "admit": [8, 9, 13, 17, 30, 32, 37, 42, 46, 51, 52, 57, 66], "window": [8, 17, 24, 51, 52, 53], "stabl": [8, 17, 24, 53], "quantifi": [8, 14, 17, 24, 25, 26, 28, 34, 39, 44, 57, 58, 62, 67], "enter": [8, 17, 25, 30, 32, 34, 35, 38, 44, 46, 52, 54, 55, 59, 60, 71], "exit": [8, 17, 25, 30, 32, 34, 38, 51, 52, 54, 59, 60, 75], "presenc": [8, 17, 24, 34, 44, 46, 57, 64, 72], "strictli": [8, 11, 14, 17, 41, 57, 71], "did": [8, 11, 17, 26, 29, 57, 58, 59, 66, 67], "auxiliari": [8, 17, 53, 54, 57, 66], "along": [8, 17, 24, 34, 53, 57, 58, 66, 74], "vo": [8, 17, 24, 25, 53, 59], "pff": 8, "2372": 8, "precisionnotzero": 8, "ftorradix": 8, "pgivesbound": 8, "radix": [8, 66], "radixmorethanon": 8, "radixmorethanzero": 8, "minim": [8, 17, 24, 25, 34, 51, 53, 57, 67], "unnecessari": [8, 17, 57, 62, 66], "unneed": [8, 17, 58], "extra": [8, 9, 17, 24, 25, 30, 34, 41, 42, 46, 53, 54, 57, 62, 64, 66, 71, 75], "attempt": [8, 14, 17, 24, 41, 52, 54, 66], "save": [8, 11, 17, 25, 35, 51, 53, 57, 66], "earlier": [8, 17, 53, 54], "accordingli": [8, 17, 40], "bail": 8, "out": [8, 17, 24, 29, 42, 52, 53, 54, 57, 58, 59, 60, 66, 71, 75], "confin": 8, "indent": [8, 17, 25, 66, 71, 75], "four": [8, 17, 25, 34, 52, 54, 55, 57, 71], "api": [8, 17, 25, 59, 63], "curli": [8, 25, 44, 59, 71], "delimit": [8, 17, 33, 35, 41, 44, 59, 66, 71, 75], "par": [8, 17, 52, 54], "selector": [8, 17, 25, 43, 53, 58, 59, 64, 66], "bullet": [8, 17, 25, 34, 59, 67], "level": [8, 13, 14, 17, 24, 25, 26, 27, 31, 35, 36, 37, 41, 42, 46, 51, 52, 53, 54, 57, 59, 64, 66, 67, 71, 72, 73, 75], "subsequ": [8, 14, 17, 29, 37, 38, 51, 54, 55, 58, 59, 66, 67, 71], "bogu": 8, "async": [8, 17, 52, 54], "recoveri": [8, 17, 52], "select": [8, 13, 17, 25, 35, 37, 41, 42, 52, 53, 54, 55, 58, 59, 60, 64, 66, 67, 71, 75, 77], "activ": [8, 9, 14, 17, 24, 25, 29, 32, 35, 37, 42, 43, 44, 46, 52, 53, 54, 59, 60, 64, 66, 71], "blocktyp": 8, "vscoq": [8, 17, 51, 53, 66], "master": [8, 17, 52, 53, 77], "feedback": [8, 17], "soon": [8, 9, 17, 24, 42, 52, 54, 57], "skip": [8, 17, 41, 42, 46, 51, 53, 54, 57, 58, 64, 66, 67], "deleg": [8, 17, 25, 29], "job": [8, 52, 53, 54, 57], "panel": [8, 17, 52, 66], "statu": [8, 12, 13, 14, 17, 51, 52, 53, 54, 57, 71], "red": [8, 17, 51, 52, 54, 64, 66], "button": [8, 17, 24, 52], "jump": [8, 17, 52, 57], "color": [8, 17, 25, 51, 52, 66, 75], "lighter": [8, 13], "lazili": [8, 17, 30, 54], "finish": [8, 13, 17, 29, 46, 54, 60, 64, 66, 67], "click": [8, 17, 52], "gear": [8, 52], "workmgr": 8, "util": [8, 17, 42, 51, 53, 57], "maximum": [8, 13, 17, 46, 60, 62, 64, 66], "background": [8, 17, 31, 51, 52, 54, 66], "assign": [8, 13, 17, 25, 27, 29, 43, 51, 52, 53, 54, 55, 58, 66, 71], "rocqworkmgr_socket": 8, "localhost": 8, "45634": 8, "shell": [8, 51, 53, 57, 59, 75], "bash": [8, 17, 52], "memori": [8, 11, 17, 24, 25, 29, 51, 53], "consumpt": [8, 17, 54, 55], "too": [8, 9, 11, 17, 54, 55, 57, 58, 67, 71], "littl": [8, 9, 11, 14, 17, 35, 57, 64], "threshold": [8, 17, 64, 71], "03": [8, 17, 53], "skeleton": 9, "rich": [9, 17, 57, 73], "soz07": [9, 77], "thought": [9, 26, 29, 63], "extract": [9, 25, 26, 27, 29, 34, 36, 51, 53, 57, 59, 71, 72, 73, 77], "regular": [9, 10, 13, 17, 36, 46, 51, 55, 57, 60, 64, 75], "whilst": 9, "desir": [9, 11, 17, 34, 52, 53, 54, 57, 59, 73, 75], "code": [9, 10, 11, 12, 17, 24, 25, 29, 33, 36, 51, 52, 53, 54, 55, 57, 59, 60, 63, 64, 71, 72, 73, 74, 75], "apparatu": 9, "pv": [9, 77], "ros98": [9, 77], "constrain": [9, 14, 24, 60, 67], "catherin": 9, "parent": [9, 17, 24, 77], "par95": [9, 77], "had": [9, 13, 17, 24, 42, 53, 54, 55, 66], "maintain": [9, 13, 17, 39, 46, 51, 53, 57, 58, 71], "permit": [9, 17, 24, 25, 34, 37, 38, 53, 54, 55, 58, 60, 64, 66, 67, 71], "coercion": [9, 13, 17, 24, 25, 28, 35, 37, 38, 41, 42, 45, 57, 58, 59, 77], "russel": [9, 17, 24], "process": [9, 11, 14, 17, 24, 25, 26, 30, 32, 35, 41, 42, 51, 52, 53, 55, 57, 58, 59, 60, 64, 66, 67, 75, 76], "plain": [9, 17, 35, 57, 75], "apart": [9, 13, 31, 35, 55], "proper": [9, 17, 24, 25, 54, 55, 59, 67], "claus": [9, 13, 14, 17, 24, 25, 28, 29, 30, 32, 34, 35, 40, 41, 51, 53, 54, 55, 57, 59, 60, 62, 64, 67, 71, 72], "disequ": [9, 60], "intersect": 9, "div2": [9, 17, 72], "coercibl": [9, 57], "deactiv": [9, 17, 24, 25, 46, 59], "mode": [9, 13, 14, 17, 24, 25, 29, 30, 32, 34, 38, 41, 46, 54, 58, 59, 60, 65, 75], "typecheck": [9, 17, 41, 51, 55, 58, 59, 64, 66], "act": [9, 17, 37, 46, 52, 54, 55, 67], "unresolv": [9, 13, 17, 57, 58, 60, 64, 67], "hole": [9, 13, 17, 24, 25, 40, 43, 46, 55, 57, 58, 59, 62, 66, 67, 71], "commonli": [9, 14, 17, 27, 40, 53, 54, 55, 57, 58, 66], "legaci": [9, 14, 17, 29, 40, 60, 71, 72], "legacy_attr": [9, 14, 29, 35, 40], "elsewher": [9, 17, 52, 59, 71], "likewis": [9, 17, 55], "reflect": [9, 11, 14, 17, 24, 25, 40, 52, 53, 62, 64, 66, 72, 77], "dec": [9, 24, 46], "sumbool_of_bool": [9, 59], "pred": [9, 17, 27, 54, 57, 59, 60, 64], "tupl": [9, 17, 37, 42, 46, 55, 57, 58], "potenti": [9, 13, 25, 42, 46, 52, 54, 55, 57, 67, 71], "preterm": [9, 17, 55], "aforement": [9, 51], "monomorph": [9, 17, 25, 29], "absenc": [9, 17, 71], "enforc": [9, 12, 14, 17, 26, 32, 34, 44, 55, 57, 58, 66, 71], "mutual": [9, 17, 24, 25, 29, 30, 32, 37, 54, 55, 67, 71, 72], "fixannot": [9, 34, 72], "measur": [9, 17, 34, 54, 72], "div2_obligation_1": 9, "heq_n": 9, "proj1_sig": [9, 17, 46, 57], "div3": 9, "p0": [9, 31, 67, 72], "heq_n0": 9, "wildcard": [9, 13, 25, 28], "program_branch_0": [9, 13], "div2_obligation_2": 9, "program_branch_1": [9, 13], "div2_obligation_3": 9, "well_found": [9, 27], "mr": 9, "recarg": 9, "pars": [9, 17, 25, 27, 29, 41, 42, 46, 51, 54, 57, 59, 60, 74, 75], "explicit": [9, 10, 13, 17, 24, 25, 28, 31, 34, 37, 39, 41, 46, 55, 58, 60, 64, 66, 67, 71], "prototyp": [9, 17, 24], "guarded": [9, 66], "rid": [9, 17, 54, 57], "unsolv": [9, 17, 43, 66], "afterward": [9, 17, 41, 44, 52, 57, 60, 66, 67], "similarli": [9, 10, 13, 14, 17, 26, 28, 36, 38, 42, 44, 46, 52, 53, 54, 55, 57, 62, 64, 71, 75], "persist": [9, 17, 24, 29, 35, 36, 38, 64, 77], "reappli": 9, "addition": [9, 13, 14, 17, 34, 46, 53, 54, 58, 59, 64, 66], "solver": [9, 17, 25, 65], "fed": [9, 17, 55], "program_simpl": 9, "wrap": [9, 12, 13, 17, 36, 38, 53], "reject": [9, 17, 26, 34, 57, 64, 67, 71], "wellfound": [9, 17], "drawback": [9, 17, 67, 71], "underli": [9, 11, 17, 24, 26, 54, 57, 67, 71], "isn": [9, 10, 17, 28, 52, 57, 58, 60, 64, 66, 67], "anymor": [9, 17, 55, 59], "highli": [10, 43, 60, 63], "mistyp": 10, "anomali": [10, 17, 24, 59], "unlik": [10, 13, 17, 24, 30, 39, 52, 54, 55, 57, 58, 59, 60, 64, 67, 71], "pplu": 10, "rewrite_rul": 10, "univ_decl": [10, 14, 28, 35], "rw_pattern": 10, "namespac": [10, 14, 17, 35, 42, 53, 59], "against": [10, 13, 17, 44, 54, 57, 58, 59, 60, 62], "align": [10, 59, 71], "collect": [10, 17, 27, 51, 53, 60, 66, 72], "pplus_rewrit": 10, "rigid": [10, 13, 14, 17, 24, 60, 72], "enough": [10, 11, 14, 17, 34, 44, 57, 58, 67, 71], "discrimine": [10, 12, 46], "furthermor": [10, 17, 24, 25, 26, 29, 31, 33, 34, 51, 52, 55, 57, 63, 66], "grammar": [10, 17, 25, 28, 29, 54, 55, 57, 58, 62, 71], "rw_head_pattern": 10, "elimin": [10, 12, 14, 17, 24, 25, 26, 27, 30, 31, 34, 35, 37, 40, 54, 55, 58, 67, 71, 72, 77], "rw_pattern_arg": 10, "univ_annot": [10, 14, 29, 37], "bear": 10, "raise_nat": 10, "93": [10, 53], "118": 10, "break": [10, 12, 17, 28, 29, 30, 52, 57, 59, 64, 66, 71, 73, 74], "subject": [10, 17, 25, 26, 30, 31, 50, 51, 72], "22": [10, 12, 54, 57], "u0": [10, 14, 46], "sr": 10, "id_rew": 10, "qualiti": [10, 14, 17], "u1": [10, 13, 14, 17, 57], "u2": 10, "superfici": 10, "typed": [10, 55], "entir": [10, 13, 17, 24, 25, 31, 33, 34, 41, 44, 52, 53, 57, 60, 64, 66, 71], "neither": [10, 14, 17, 46, 54, 55, 57, 64, 67], "nor": [10, 11, 17, 26, 34, 35, 46, 51, 52, 53, 54, 55, 57, 58, 59, 64, 67, 71], "plan": [10, 17, 25, 53, 55, 72], "triangl": [10, 52], "criterion": [10, 17, 33, 34, 60], "ctw21": [10, 77], "expans": [10, 12, 13, 17, 25, 34, 53, 55, 57, 64, 71], "contract": [10, 17, 24, 31, 34, 54, 62, 71, 77], "integr": [10, 11, 17, 24, 25, 51, 52, 57, 61, 73], "upper": [10, 14, 17, 39, 44, 52], "layer": [10, 17, 25], "notabl": [10, 17, 24, 37, 51, 55, 57, 64, 67], "machin": [10, 17, 24, 25, 32, 36, 51, 54, 55, 64], "cbn": [10, 17, 41, 64], "cbv": [10, 14, 17, 24, 31, 57, 64], "manner": [10, 24, 51], "untyp": [10, 17, 25, 55, 71], "vm": [10, 17, 58, 59, 64], "risk": [10, 17, 24, 51, 59, 66], "segfault": [10, 17], "\u03b2\u03b4\u03b9": 11, "rightarrow_": [11, 37], "delta": [11, 17, 24, 32, 35, 37, 55, 64], "leftarrow_": 11, "peeval": 11, "pphi_dev": 11, "norm": 11, "bruno": [11, 17, 24], "barra": [11, 17, 24], "benjamin": [11, 17, 77], "gr\u00e9goir": [11, 17], "assia": [11, 17, 42, 57, 77], "mahboubi": [11, 17, 42, 57, 77], "laurent": [11, 17, 24], "th\u00e9ry": [11, 17, 24], "dedic": [11, 17, 24, 29, 36, 55, 57], "semir": [11, 17], "oplu": 11, "otim": 11, "distribut": [11, 17, 24, 25, 50, 73, 75], "uniti": 11, "v_0": 11, "v_1": [11, 31], "dot": [11, 14, 17, 24, 35, 37, 52, 59, 71], "v_": [11, 26], "i_n": [11, 57], "i_2": [11, 57], "sum": [11, 17, 24, 27, 35, 38, 40, 55, 62, 67, 71], "yx": 11, "25": [11, 44], "zx": 11, "28x": 11, "24": [11, 17, 44, 53, 77], "xz": 11, "xxy": 11, "yz": 11, "zy": 11, "frequent": [11, 17, 25, 53, 57, 66, 67, 71], "rare": [11, 17, 66], "gallina": [11, 17, 25, 41, 66, 75], "mult": [11, 17, 24, 26, 27, 57], "mapsto": 11, "v_2": 11, "paragraph": [11, 27, 35, 40, 57, 75], "polynom": 11, "common": [11, 14, 17, 25, 26, 27, 29, 31, 32, 34, 42, 55, 57, 60, 67, 71, 74], "predefin": [11, 24, 25, 51, 52, 66], "arithr": 11, "zarithr": 11, "narithr": [11, 17], "narith": [11, 17], "zifi": [11, 17, 25, 29, 54, 55, 57, 60], "micromega": [11, 17, 25, 29, 54, 55, 57, 60, 61, 66], "btauto": [11, 17, 29, 57, 62], "30": [11, 17, 24, 27, 71], "Not": [11, 17, 32, 44, 51, 52, 54, 55, 58, 64, 67, 72, 75, 77], "ring_simplifi": [11, 17], "invok": [11, 17, 34, 51, 53, 60, 66, 67, 75], "lookup": 11, "ltac_expr0": [11, 54], "protect": [11, 17, 30, 57], "fv": 11, "ring_theori": 11, "semi_ring_theori": 11, "mk_rt": 11, "radd_0_l": 11, "radd_sym": 11, "radd_assoc": 11, "rmul_1_l": 11, "rmul_sym": 11, "rmul_assoc": 11, "rdistr_l": 11, "rsub_def": 11, "ropp_def": 11, "mk_srt": 11, "sradd_0_l": 11, "sradd_sym": 11, "sradd_assoc": 11, "srmul_1_l": 11, "srmul_0_l": 11, "srmul_sym": 11, "srmul_assoc": 11, "srdistr_l": 11, "surject": [11, 37], "ring_morph": 11, "mkmorph": 11, "morph0": 11, "morph1": 11, "ci": [11, 17, 53, 57, 73], "morph_add": 11, "morph_sub": 11, "morph_mul": 11, "morph_opp": 11, "morph_eq": 11, "semi_morph": 11, "mkrmorph": 11, "smorph0": 11, "smorph1": 11, "smorph_add": 11, "smorph_mul": 11, "smorph_eq": 11, "c0": [11, 59], "cpow": 11, "cp_phi": 11, "rpow": 11, "power_theori": 11, "mkpow_th": 11, "rpow_pow_n": 11, "pow_n": 11, "ring_mod": 11, "preprocess": [11, 17], "postprocess": 11, "tailor": 11, "setoid_theori": [11, 17], "ring_eq_ext": 11, "sring_eq_ext": 11, "initialr": 11, "notconst": 11, "nontrivi": [11, 17, 46, 51, 57], "preliminari": 11, "better": [11, 14, 17, 24, 51, 52, 53, 57, 59, 60, 64, 67, 71, 72], "undo": [11, 17, 52, 54, 58, 59, 66], "preprocessor": [11, 24], "expon": [11, 17, 29, 71], "realfield": 11, "minu": [11, 17, 29, 41, 72], "get_sign": 11, "euclidean": [11, 17, 24, 25, 57], "div_theori": 11, "7x": 11, "good": [11, 17, 53, 54, 55, 57, 66], "philosoph": 11, "calculu": [11, 14, 17, 24, 25, 27, 29, 31, 33, 34, 35, 37, 46, 54, 57, 58, 62, 64, 66, 67, 71, 77], "strongli": [11, 15, 17, 34, 35, 44, 53, 54, 57, 59], "advis": [11, 17, 24, 25, 28, 29, 30, 54, 60], "ring_polynom": 11, "pexpr": 11, "pesub": 11, "peopp": 11, "pepow": 11, "pol": 11, "pc": 11, "pinj": 11, "px": [11, 24, 57], "v_i": [11, 31], "big": [11, 14, 17, 57, 59, 71], "pphi_dev_ok": 11, "pe": 11, "npe": 11, "piec": [11, 42, 43, 53, 55, 57], "summar": [11, 51, 57, 66], "diagram": 11, "chosen": [11, 34, 54, 55, 57, 58, 66, 71], "denomin": [11, 17, 37, 71], "neq": 11, "broken": [11, 17, 71], "proven": [11, 17, 52, 58, 64, 66, 67], "rbase": [11, 17, 24], "qcanon": 11, "r_scope": [11, 71], "auto": [11, 13, 14, 17, 24, 29, 34, 41, 44, 51, 52, 54, 57, 58, 59, 60, 62, 66, 67, 72], "h1": [11, 17, 34, 43, 54, 55, 57, 58, 62, 66, 67], "f_1": [11, 34], "f_2": [11, 34], "n_1": [11, 26], "d_1": 11, "n_2": 11, "d_2": 11, "cancel": [11, 38, 41, 57, 66], "field_theori": 11, "semi_field_theori": 11, "semifield": 11, "mk_field": 11, "f_r": 11, "ro": 11, "ri": [11, 17, 51], "radd": 11, "rmul": 11, "rsub": 11, "ropp": 11, "req": 11, "f_1_neq_0": 11, "fdiv_def": 11, "finv_l": 11, "mk_sfield": 11, "sf_sr": 11, "sf_1_neq_0": 11, "sfdiv_def": 11, "sfinv_l": 11, "mk_linear": 11, "num": [11, 17], "denum": 11, "field_mod": 11, "samuel": [11, 17, 24], "boutin": [11, 24, 77], "acdsimpl": 11, "zmult_comm": 11, "eq_ind_r": [11, 27], "z0": [11, 17, 71], "mul_comm": [11, 59], "hundr": [11, 64], "rewrot": [11, 17], "bou97": [11, 77], "later": [11, 17, 25, 31, 32, 43, 44, 50, 53, 55, 57, 58, 66, 67, 71], "patrick": [11, 24], "loiseleur": [11, 24], "interleav": [11, 17, 58], "he": [11, 17, 24, 57], "wrote": [11, 17, 24], "larg": [11, 14, 17, 25, 26, 29, 34, 35, 39, 52, 53, 54, 57, 61, 64, 66, 67, 71, 75], "motiv": [11, 17, 55, 57, 77], "34": [11, 53, 71, 77], "12": [11, 25, 29, 53, 54, 57, 58, 60, 71], "46": [11, 77], "ominu": 11, "v_3": 11, "far": [11, 24, 46, 52, 57, 66, 71], "faster": [11, 17, 24, 51, 58, 59, 62, 64], "free": [11, 17, 24, 26, 34, 44, 52, 54, 55, 57, 58, 62, 64, 71, 75, 77], "difficult": [11, 17, 29, 55, 72], "ultim": 11, "answer": [11, 46, 53], "intens": [11, 17, 24, 64], "classic": [11, 17, 24, 25, 34, 51, 55, 57, 66], "tautologi": [11, 17, 24, 54, 62], "backtrack": [11, 13, 17, 24, 25, 52, 58, 60, 67], "clearli": [11, 24, 71, 74], "significantli": [11, 17, 24, 57, 66], "idea": [11, 17, 34, 42, 54], "suggest": [11, 17, 24, 25, 34, 51, 52, 53, 57, 66], "werner": [11, 17, 24, 77], "coupl": [11, 17, 46, 53, 57, 75], "tool": [11, 14, 25, 29, 51, 52, 53, 54, 57, 59, 66, 71, 72, 75, 77], "model": [11, 17, 24, 57, 77], "trace": [11, 13, 17, 25, 32, 51, 53, 57, 58, 59], "replai": [11, 57], "footnot": [11, 38, 57, 71], "bytecod": [12, 17, 59, 64], "gcst19": [12, 39, 77], "strictprop": [12, 17], "startup": [12, 51, 53, 60], "purpos": [12, 14, 17, 24, 27, 34, 35, 42, 51, 52, 54, 55, 57, 64, 66, 67, 71], "hx": [12, 57, 58], "\u03b7": [12, 17, 25, 30], "tractabl": 12, "cumul": [12, 13, 17, 24, 25, 26, 29, 30, 31, 34, 37, 40, 71], "forbidden": [12, 17, 24, 25], "relev": [12, 17, 24, 28, 30, 32, 34, 40, 46, 51, 53, 54, 57, 58, 64, 66, 71], "world": [12, 17, 24, 55, 57, 77], "escap": [12, 17, 25, 51, 53, 71], "box": [12, 17, 29, 54, 71], "box_rect": 12, "box_ind": 12, "box_rec": 12, "box_sind": 12, "box_irrelev": 12, "squash": [12, 14, 17], "isquash": 12, "isquash_sind": 12, "Or": [12, 17, 41, 53, 58, 71], "sempti": 12, "sempty_rect": 12, "sempty_ind": 12, "sempty_rec": 12, "sempty_sind": 12, "foo_sind": 12, "foo_ind": [12, 17, 57], "sprod": 12, "sfst": 12, "ssnd": 12, "extension": [12, 17, 27, 30, 57], "rbox": 12, "runbox": 12, "ssig": 12, "spr1": 12, "spr2": 12, "trivial": [12, 13, 14, 17, 34, 46, 53, 54, 55, 57, 58, 60, 66, 67], "sunit": 12, "stt": 12, "sunit_rect": 12, "is_tru": [12, 57], "is_true_eq_tru": 12, "eq_true_is_tru": 12, "seq": [12, 13, 30, 46, 55, 57, 67], "srefl": [12, 46], "seq_rect": [12, 46], "seq_ind": [12, 46], "seq_rec": [12, 46], "seq_sind": [12, 46], "hidden_arrow": 12, "stuck": [12, 13, 17], "Such": [12, 30, 35, 42, 44, 53, 55, 59, 71, 75], "around": [12, 17, 24, 29, 46, 52, 53, 55, 57, 58, 59, 64, 67, 71, 75], "ac19": [12, 77], "all_eq": 12, "transport": [12, 17], "timeout": [12, 17, 25, 59, 64], "infinit": [12, 30, 34, 39], "binder": [12, 13, 17, 24, 25, 30, 32, 34, 37, 38, 40, 52, 54, 55, 58, 59, 63, 64, 67, 75], "bug": [12, 17, 24, 52, 54, 66], "incorrectli": [12, 17, 55], "leav": [12, 13, 17, 32, 35, 52, 54, 57, 58, 59, 60, 64, 66, 67], "silent": [12, 14, 17, 24, 29, 51, 53, 59, 66, 72], "repair": [12, 17], "affect": [12, 17, 24, 29, 34, 41, 44, 46, 53, 54, 55, 57, 59, 60, 64, 66, 71], "programmat": 13, "quick": [13, 17, 24, 27, 54, 57, 66, 74], "paper": [13, 24, 42, 54, 57, 72, 77], "so08": [13, 77], "literatur": [13, 34], "class": [13, 17, 24, 25, 27, 28, 35, 39, 42, 44, 57, 59, 60, 62, 64], "classnam": 13, "p1": [13, 17, 37, 57, 67], "pn": [13, 17, 57], "f1": [13, 17, 41, 51, 57, 71], "fm": 13, "um": [13, 57], "instancenam": 13, "qm": 13, "tm": 13, "pi": [13, 17, 52], "ti": [13, 57], "fi": 13, "rise": [13, 24], "ll": [13, 17, 34, 52, 53], "eqdec": [13, 38, 60], "eqb_leibniz": 13, "unit_eqdec": 13, "member": [13, 42, 55], "oblig": [13, 17, 25, 37, 57, 62, 72], "eq_bool": 13, "discrimin": [13, 17, 24, 54, 57, 58, 59, 60, 62, 64, 66], "richer": [13, 25], "facil": [13, 17, 24, 52, 54, 55, 57, 59], "neqb": 13, "generaliz": [13, 17, 44], "neqb_implicit": 13, "prod_eqb": 13, "ea": 13, "eb": 13, "la": [13, 17, 24, 52, 55, 77], "ra": 13, "lb": 13, "rb": 13, "prod_eqb_obligation_1": 13, "eas": [13, 17, 37, 53, 55, 57, 58, 66], "eqdec_def": 13, "option_eqb": 13, "program_branch_2": 13, "y1": [13, 27, 42, 46, 59], "option_eqb_obligation_1": 13, "option_eqb_obligation_2": 13, "option_eqb_obligation_3": 13, "type_scop": [13, 14, 17, 25, 34, 44, 46, 52, 54, 58, 66, 67], "1182": 13, "1383": 13, "redeclar": [13, 17], "ord": [13, 57], "le_eqb": 13, "compon": [13, 17, 24, 25, 30, 33, 34, 35, 37, 42, 51, 52, 53, 54, 57, 59, 60, 71], "preorder": [13, 57, 59], "preorder_reflex": [13, 59], "preorder_transit": 13, "easili": [13, 17, 53, 57, 72], "useless": [13, 14, 17, 24, 25, 37, 46, 60], "templat": [13, 17, 25, 30, 37, 40, 66], "privat": [13, 14, 17, 25, 29, 30, 34, 37], "queri": [13, 17, 25], "hint_info": [13, 60], "field_val": [13, 37], "prioriti": [13, 17, 37, 46, 52, 57, 59, 66, 71], "one_pattern": [13, 59, 60], "trigger": [13, 17, 25, 29, 44, 54, 55, 57, 60, 71], "bf": [13, 17], "df": [13, 17], "best": [13, 17, 53, 54, 57, 60, 71], "effort": [13, 17, 24, 63, 74], "engin": [13, 17, 24, 33, 43, 55, 57, 58, 64, 77], "multi": [13, 17, 25, 52, 54, 55, 66, 75], "analys": 13, "hintdb": [13, 17, 55, 60], "full": [13, 14, 17, 24, 25, 30, 34, 43, 46, 52, 57, 58, 64, 66, 71, 77], "suspend": [13, 17, 66], "until": [13, 14, 17, 24, 26, 31, 32, 34, 40, 52, 54, 55, 57, 60, 64, 66, 67, 72], "reach": [13, 52, 58], "breadth": 13, "deepen": 13, "best_effort": [13, 17], "couldn": 13, "unbound": [13, 14, 17, 54, 55, 58], "count": [13, 17, 25, 51, 57, 58, 59, 64, 66, 67], "faithfulli": 13, "mimic": [13, 37, 57], "move": [13, 17, 24, 25, 43, 52, 53, 55, 66, 67, 71], "autoappli": [13, 17], "shortcut": [13, 17, 25, 52, 55, 64, 71], "prevent": [13, 17, 29, 34, 41, 42, 51, 53, 54, 57, 64, 71], "releas": [13, 15, 17, 24, 25, 52, 53, 57, 63, 74], "filter": [13, 17, 30, 51, 53, 59, 60], "eta": [13, 17, 25, 31, 37], "expens": [13, 17, 54, 66], "rebuild": [13, 17], "benefit": [13, 17, 51, 57], "invert": [13, 17, 57, 67, 72], "elabor": [13, 14, 17, 25, 33, 37, 41, 44, 45, 51, 55, 58], "stricter": [13, 14, 17], "freez": 13, "verbos": [13, 17, 42, 51, 59], "successfulli": [13, 51, 52, 54, 57, 62, 63], "reus": [14, 17, 41, 57, 58, 59, 63, 64, 66], "sometim": [14, 17, 24, 25, 31, 34, 46, 53, 54, 55, 57, 59, 60, 66, 67, 71], "incompat": [14, 24, 25, 34, 41, 46, 57, 59, 66, 71], "self": [14, 17, 54, 55, 67, 71], "selfid": 14, "pident": 14, "167": 14, "176": 14, "selfpid": 14, "monoid": [14, 55], "ourselv": [14, 34], "mon_car": 14, "mon_unit": 14, "mon_op": 14, "build_monoid": 14, "function_scop": [14, 17, 25, 34, 46, 57, 67], "unit_monoid": 14, "greater": [14, 17, 24, 34, 52, 71], "pprod": 14, "max": [14, 17, 24, 39, 46, 54, 59], "ppair": 14, "pfst": 14, "psnd": 14, "40": [14, 17, 27, 41, 71], "core_scop": [14, 71], "cartesian": [14, 54], "monoid_op": 14, "prod_monoid": 14, "monoids_monoid": 14, "live": [14, 17, 51, 55], "coinduct": [14, 17, 25, 26, 32, 33, 34, 37, 40, 46, 54, 59, 67, 71], "attribtu": 14, "list_rect": [14, 34, 41, 44, 46, 57, 67], "list_ind": [14, 34, 41, 44, 46, 57, 67], "list_rec": [14, 34, 41, 44, 46, 57, 67], "list_sind": [14, 34, 41, 44, 46, 57, 67], "invari": [14, 17, 55], "covari": 14, "irrelev": [14, 17, 25, 32, 33, 34, 39, 54, 55, 57, 64, 77], "contravari": 14, "\u03b3": [14, 26, 31, 34, 35, 38, 55], "\u03b2\u03b4\u03b9\u03b6\u03b7": [14, 26, 31, 34, 35], "packtyp": 14, "pk": [14, 57], "1604": 14, "1612": 14, "lower": [14, 17, 25, 52, 54, 55, 57, 60, 64, 71], "monad": [14, 17, 55], "build_monad": 14, "dummy_rect": 14, "dummy_ind": 14, "dummy_rec": 14, "dummy_sind": 14, "2170": 14, "2175": 14, "insuffici": [14, 17, 51], "101": 14, "invariant_rect": 14, "invariant_ind": 14, "invariant_rec": 14, "invariant_sind": 14, "covariant_rect": 14, "covariant_ind": 14, "covariant_rec": 14, "covariant_sind": 14, "irrelevant_rect": 14, "irrelevant_ind": 14, "irrelevant_rec": 14, "irrelevant_sind": 14, "low": [14, 17, 25], "high": [14, 17, 24, 25, 35, 59, 60, 66, 72], "inv_low": 14, "inv_high": 14, "co_low": 14, "co_high": 14, "irr_low": 14, "irr_high": 14, "eq_rect": [14, 17, 27, 34, 40, 67], "eq_ind": [14, 27, 40], "eq_rec": [14, 27, 34, 40], "eq_sind": [14, 27, 40], "inhabit": [14, 29, 31, 32, 34, 37, 40, 43, 46, 51], "fit": [14, 17, 29, 34, 52, 55, 57, 71], "funext_typ": 14, "funext_down": 14, "145": [14, 53], "146": 14, "delai": [14, 17, 25, 40, 64], "flexibl": [14, 17, 55, 58, 64], "discard": [14, 17, 52, 54, 55, 58, 64, 75], "predict": [14, 17, 54, 64], "indistinguish": [14, 37], "accomplish": [14, 57], "cut": [14, 17, 24, 25, 29, 52, 57, 58, 60], "tend": [14, 57], "inclus": [14, 17, 54, 55], "id0": 14, "toset": [14, 17], "collaps": [14, 17, 51], "float": [14, 17, 24, 25, 59, 71], "universe_nam": [14, 39], "univ_level_or_qu": 14, "univ_constraint": 14, "cumul_univ_decl": [14, 34], "undeclar": [14, 17], "wizard": 14, "diagnos": 14, "appar": [14, 17, 51, 54, 57], "subgraph": [14, 17], "debug_univ_nam": 14, "adjust": [14, 17, 38, 71], "kept": [14, 17, 24, 36, 53, 67, 75], "init": [14, 17, 27, 28, 35, 51, 54, 55, 58, 59, 60, 66, 67, 71], "make_b_lt_c": 14, "make_a_le_b": 14, "extrem": [14, 17, 29, 57], "unstabl": [14, 17], "hierarchi": [14, 17, 24, 25, 34, 39, 51], "filenam": [14, 17, 25, 51, 52, 59, 64, 75], "gv": [14, 17], "graphviz": [14, 17], "format": [14, 17, 24, 26, 35, 37, 42, 51, 52, 53, 57, 71, 75], "shadow": [14, 17, 44, 66], "foobar": 14, "155": 14, "4041": 14, "4045": 14, "anonym": [14, 17, 24, 25, 44, 54, 66], "attach": [14, 17, 29, 52, 59, 71, 74], "underscor": [14, 17, 29, 37, 44, 51, 71, 75], "160": 14, "161": 14, "162": [14, 53], "freeli": [14, 57], "mainli": [14, 60, 75], "165": 14, "xxx": 14, "168": 14, "public": [14, 17, 25, 50, 59, 74], "169": [14, 17], "regard": [14, 17, 51, 58], "4305": 14, "4308": 14, "170": 14, "4429": 14, "4432": 14, "174": 14, "baz": [14, 53], "outer": [14, 17, 46, 66], "parser": [14, 17, 24, 29, 53, 57, 71], "regardless": [14, 17, 42, 57, 60, 66], "fof": 14, "idtac": [14, 17, 25, 52, 55, 57, 60, 66, 71, 74], "distinguish": [14, 17, 24, 26, 34, 37, 57, 64, 71], "ground": [14, 17, 54, 62, 71, 75], "uip": [14, 17, 25, 46, 59], "squash_ind": 14, "squash_sind": 14, "squash_prop_rect": 14, "squash_prop_srect": 14, "sigma": [14, 17, 37, 67, 71], "pr1": 14, "pr2": 14, "contrast": [14, 17, 34, 53, 57, 60, 62, 64, 67], "mononorph": 14, "mix": [14, 17, 24, 27, 42, 54, 57, 71], "sensibl": [14, 24], "chronolog": 15, "major": [15, 17, 24, 26, 42, 51, 53, 55, 73, 74], "read": [15, 17, 26, 29, 42, 51, 52, 57, 59, 64, 71, 75], "advic": [15, 17], "upgrad": [15, 17, 25], "quickli": [16, 17, 25, 44], "glossari": [16, 17, 25, 29], "19164": 17, "ga\u00ebtan": 17, "gilbert": [17, 77], "increment": [17, 24, 30, 31, 32, 33, 34, 38, 55, 66], "19250": 17, "19254": 17, "19263": 17, "mari": 17, "p\u00e9drot": 17, "backward": [17, 25, 51, 52, 55, 57, 63, 66, 71], "19262": 17, "guard": [17, 24, 25, 27, 30, 32, 34, 41, 44, 46, 57, 59, 64, 66, 67, 71, 72, 77], "regress": 17, "19671": 17, "19661": 17, "hugo": [17, 24, 46], "herbelin": [17, 24, 46], "18762": 17, "jan": [17, 24, 77], "oliv": 17, "kaiser": 17, "systemat": [17, 24, 44, 55, 57, 64], "univ": 17, "18960": 17, "19092": 17, "18951": 17, "mishandl": 17, "19257": 17, "16906": 17, "19295": 17, "19296": 17, "7913": 17, "19329": 17, "19327": 17, "of_type_inst": [17, 34, 37], "keyword": [17, 24, 25, 28, 29, 32, 37, 40, 46, 55, 57, 64, 71, 75], "changelog": [17, 24], "entri": [17, 24, 25, 28, 29, 37, 51, 52, 53, 54, 55, 67], "former": [17, 29, 30, 57, 75], "19519": 17, "roux": 17, "proj": [17, 24, 54], "lh": [17, 55, 57, 59], "19611": 17, "19773": 17, "10407": 17, "19775": 17, "12417": 17, "evar": [17, 24, 54, 55, 57, 58, 59, 64, 71], "19833": 17, "quentin": 17, "vermand": 17, "syntax_modifi": [17, 71], "19653": 17, "19541": 17, "19673": 17, "19658": 17, "unicod": [17, 25, 75], "19693": 17, "19512": 17, "guillaum": 17, "melquiond": 17, "hnf": [17, 24, 41, 42, 57, 58, 64, 67], "insensit": 17, "prescrib": [17, 57], "exception": [17, 24, 64], "18580": 17, "refold": [17, 64], "destructor": [17, 25, 30, 31, 37], "occasion": [17, 24, 29, 53, 66], "scrupul": 17, "18591": 17, "16040": 17, "19436": 17, "15432": 17, "ncring_tac": 17, "extra_reifi": 17, "matter": [17, 37, 51, 57, 64, 67], "ncring": 17, "19501": 17, "19675": 17, "19668": 17, "lia": [17, 25, 54, 55, 57, 60], "nia": [17, 25], "nra": [17, 25], "19703": 17, "gintuit": 17, "19704": 17, "metavari": [17, 24, 25, 54, 55, 62], "19769": 17, "17314": 17, "19817": 17, "jim": 17, "fehrl": 17, "20004": 17, "20003": 17, "14289": 17, "19032": 17, "benni": 17, "smit": 17, "jason": 17, "gross": 17, "of_int": [17, 36], "uint63": [17, 36], "19197": 17, "19575": 17, "ltac2_quot": [17, 55], "ltac2_delta_reduct": [17, 55], "19589": 17, "19590": 17, "noccur_between": 17, "noccurn": 17, "19614": 17, "occur_between": 17, "occurn": 17, "opposit": [17, 31, 32, 46, 58, 64], "hyp_valu": 17, "19630": 17, "focuss": 17, "19961": 17, "daniil": 17, "iaitskov": 17, "sym_equ": [17, 57], "not_locked_false_eq_tru": 17, "19382": 17, "findlib": [17, 53, 59], "18385": 17, "emilio": 17, "jes\u00fa": 17, "gallego": 17, "aria": 17, "clear": [17, 24, 25, 29, 38, 41, 44, 54, 55, 58, 64, 67, 71], "19216": 17, "eg": [17, 53], "19277": 17, "lsp": [17, 29, 74], "19300": 17, "surviv": [17, 24, 60, 71], "19361": 17, "19360": 17, "19362": 17, "classifi": 17, "19383": 17, "19390": 17, "19473": 17, "19517": 17, "19528": 17, "misord": 17, "19624": 17, "19640": 17, "19678": 17, "colon": [17, 51, 53, 57, 66], "19730": 17, "19768": 17, "19767": 17, "eras": [17, 44, 57, 58, 67, 75], "19808": 17, "19872": 17, "synterp": 17, "schedul": 17, "19981": 17, "19370": 17, "coq_makefil": [17, 24, 52], "makefil": [17, 25, 51, 52, 59], "instal": [17, 25, 35, 51, 52, 64, 66, 72, 73], "cmx": [17, 51], "19841": 17, "coqdep": [17, 53], "19863": 17, "buffer": [17, 25, 35, 53], "restart": [17, 51, 52, 53, 54, 57, 66], "19166": 17, "sylvain": [17, 77], "chiron": 17, "tab": [17, 29, 52, 53], "reorder": [17, 25, 52], "19188": 17, "dialog": [17, 52, 65], "margin": [17, 57], "spin": 17, "19417": 17, "ok": [17, 29, 52, 58], "immedi": [17, 24, 27, 54, 55, 57, 58, 59, 60, 66], "item": [17, 24, 25, 29, 52, 54, 55, 58, 60, 64, 66, 67, 71, 75], "unjustifi": 17, "packag": [17, 24, 25, 35, 42, 51, 52, 59, 67, 73, 75], "who": [17, 24, 54, 57, 59], "19530": 17, "cep": 17, "83": 17, "repositori": [17, 53, 63, 74], "19975": 17, "dune": [17, 25, 51, 59], "19378": 17, "coqc": [17, 24, 53], "prof": [17, 53], "gz": [17, 51, 53], "19428": 17, "coqchk": 17, "bump": 17, "19621": 17, "19834": 17, "xdg": [17, 53], "coqpath": 17, "loadpath": [17, 24, 51, 53, 59], "19842": 17, "host": 17, "virtual": [17, 24, 32, 53, 64], "highlight": [17, 51, 52, 53, 57, 63, 66], "went": [17, 54, 55], "docker": 17, "keeper": 17, "fold_left2": 17, "fold_right2": 17, "ing": [17, 74], "mutabl": 17, "mutat": 17, "some_expr": 17, "smooth": [17, 24, 57], "th\u00e9o": 17, "zimmermann": [17, 77], "ali": 17, "caglayan": 17, "coqbot": 17, "pull": [17, 55], "task": [17, 57, 75], "erik": 17, "martin": [17, 24, 27, 34, 77], "dorel": 17, "date": [17, 24, 53], "cyril": [17, 29], "cohen": 17, "vincent": 17, "laport": 17, "nix": 17, "rudi": 17, "grinberg": 17, "rodolph": 17, "lepigr": 17, "opam": [17, 25, 27, 73], "claret": 17, "karl": 17, "palmskog": 17, "contribut": [17, 25, 53, 71], "websit": [17, 75, 76], "lass": [17, 77], "blaauwbroek": 17, "andrej": 17, "dudenhefn": 17, "andr": 17, "erbsen": 17, "ralf": 17, "jung": 17, "chantal": 17, "keller": 17, "olivi": [17, 24], "yishuai": 17, "li": 17, "ralph": 17, "matth": 17, "pit": 17, "claudel": 17, "rousselin": 17, "michael": 17, "soegtrop": 17, "soukouki": 17, "niel": 17, "van": 17, "der": 17, "weid": 17, "nickolai": 17, "zeldovich": 17, "team": [17, 24], "book": [17, 25], "page": [17, 25, 27, 51, 52, 71, 75], "59": [17, 57], "contributor": 17, "timur": 17, "aminev": 17, "bj\u00f6rn": 17, "brandenburg": 17, "nikolao": 17, "chatzikonstantin": 17, "chluebi": 17, "anton": 17, "danilkin": 17, "louis": 17, "duboi": 17, "de": [17, 24, 31, 33, 59, 77], "prisqu": 17, "d\u00e9n\u00e8": 17, "david": [17, 24, 72, 77], "fissor": 17, "andrea": [17, 77], "florath": 17, "yannick": 17, "forster": 17, "mario": 17, "frank": [17, 77], "georg": [17, 57, 77], "gonthier": [17, 57, 77], "stefan": 17, "haan": 17, "lennart": 17, "jablonka": 17, "evgenii": 17, "kosogorov": 17, "yann": [17, 24], "lerai": 17, "cook": 17, "munch": 17, "maccagnoni": 17, "julien": [17, 72], "puydt": 17, "ramkumar": 17, "ramachandra": 17, "kazuhiko": 17, "sakaguchi": 17, "bernhard": 17, "schommer": 17, "remi": 17, "seassau": 17, "romain": 17, "tetlei": 17, "alexei": 17, "trili": 17, "turner": 17, "yao": 17, "xia": 17, "club": 17, "inria": [17, 24, 25, 27, 53, 75, 77], "fr": [17, 24, 25, 27, 53, 75, 77], "mail": 17, "discours": [17, 52], "forum": 17, "zulip": [17, 52, 54], "chat": 17, "span": 17, "month": 17, "470": 17, "merg": [17, 44], "pr": 17, "113": 17, "toulous": 17, "septemb": [17, 24, 77], "2024": 17, "17986": 17, "grant": 17, "18038": 17, "18973": 17, "offer": [17, 29, 46, 51, 52, 54, 57, 59, 71], "opportun": 17, "codebas": 17, "bewar": [17, 53, 55, 63, 67], "bin": [17, 53], "awk": 17, "startclass": 17, "inclass": 17, "indefclass": 17, "definitionalclass": 17, "18590": 17, "18743": 17, "cofixpoint": [17, 29, 30, 32, 34, 38, 57, 59, 64, 66], "bypass_guard": 17, "clearbodi": [17, 24, 38, 58], "18754": 17, "18834": 17, "13812": 17, "14841": 17, "18873": 17, "3889": 17, "18915": 17, "11766": 17, "11988": 17, "ins": [17, 58, 59], "18921": 17, "5777": 17, "11030": 17, "11586": 17, "18929": 17, "1956": 17, "18958": 17, "18920": 17, "19100": 17, "19099": 17, "reserv": [17, 25, 29, 35, 40, 54, 57, 59], "16329": 17, "16262": 17, "longest": [17, 29, 34, 41, 42, 57, 71, 75], "19149": 17, "postfix": [17, 57, 71], "unusu": 17, "18588": 17, "19049": 17, "correctli": [17, 24, 29, 34, 51, 52, 53, 54], "18445": 17, "18447": 17, "18342": 17, "virtu": 17, "q\u2081": 17, "q\u2082": 17, "minor": [17, 51, 57, 71], "variat": [17, 59, 77], "thereof": 17, "euclidean_division_equations_flag": 17, "default_with": 17, "find_duplicate_quoti": 17, "to_euclidean_division_equations_with": 17, "17934": 17, "opac": [17, 59, 64], "18327": 17, "18281": 17, "convention": [17, 53, 71], "18395": 17, "18909": 17, "coqlib": [17, 53], "19115": 17, "18887": 17, "cutrewrit": 17, "19027": 17, "19006": 17, "undocu": [17, 24, 59], "19129": 17, "destauto": [17, 67], "11537": 17, "19179": 17, "17927": 17, "doubl": [17, 24, 27, 29, 34, 44, 52, 53, 54, 57, 59, 71, 75], "18729": 17, "19060": 17, "13480": 17, "18576": 17, "4056": 17, "18577": 17, "7982": 17, "18601": 17, "unnam": [17, 44, 52, 57, 66, 71], "18616": 17, "17897": 17, "18618": 17, "9086": 17, "18094": 17, "13702": 17, "18463": 17, "18411": 17, "believ": [17, 54, 55], "pleas": [17, 24, 44, 53, 54, 55, 62, 66, 67, 72, 77], "18432": 17, "17477": 17, "18706": 17, "18713": 17, "18940": 17, "pretyp": [17, 51, 55], "open_constr_flag": 17, "mislead": [17, 71], "open_constr": [17, 55, 71], "18765": 17, "fst": [17, 24, 27, 35, 42, 46, 71], "snd": [17, 24, 27, 35, 42, 46, 71], "18370": 17, "ltac1": [17, 25], "of_preterm": 17, "to_preterm": 17, "18551": 17, "of_intro_pattern": 17, "to_intro_pattern": 17, "18558": 17, "unshelv": [17, 43, 66], "18604": 17, "unus": [17, 25, 53, 58, 71], "18641": 17, "numgoal": [17, 25], "18690": 17, "intropattern": [17, 55, 58, 67], "18757": 17, "18764": 17, "18766": 17, "18656": 17, "pretti": [17, 24, 25, 27, 51, 53, 57, 59, 71], "printer": [17, 24, 29, 46, 57, 59, 71], "18988": 17, "18989": 17, "19204": 17, "new_goal": 17, "shelf": [17, 66], "19141": 17, "19138": 17, "18224": 17, "ssrfun": [17, 57], "15121": 17, "18449": 17, "18017": 17, "fun_scop": 17, "18374": 17, "ssrewrit": 17, "19213": 17, "19229": 17, "refman": 17, "closer": [17, 24, 31, 57, 60, 72], "doc": [17, 24, 25, 51, 53, 63, 71, 74, 76, 77], "18705": 17, "focu": [17, 24, 34, 43, 54, 55, 57, 66, 67], "18707": 17, "18351": 17, "18867": 17, "clarifi": [17, 24], "18880": 17, "fragil": [17, 54, 57, 59, 60, 63, 66], "18895": 17, "19016": 17, "3132": 17, "19069": 17, "17403": 17, "18248": 17, "18299": 17, "marker": [17, 59], "18444": 17, "import_categori": [17, 35, 59], "18536": 17, "18725": 17, "18785": 17, "18983": 17, "with_declar": [17, 35], "19144": 17, "18442": 17, "15020": 17, "18458": 17, "18537": 17, "18298": 17, "18662": 17, "18657": 17, "18852": 17, "12948": 17, "scheme_typ": 17, "19017": 17, "10816": 17, "19201": 17, "sigint": 17, "interrupt": [17, 52, 54, 59], "18716": 17, "dir": [17, 51, 53, 75], "redirect": [17, 51, 59, 75], "17392": 17, "8649": 17, "coqdoc": [17, 24, 53, 75], "18527": 17, "18516": 17, "ui": [17, 51], "icon": [17, 52], "18523": 17, "11024": 17, "kei": [17, 25, 41, 42, 55, 57, 59, 64, 66, 71], "navig": [17, 24, 52, 57, 75], "menu": [17, 24, 52, 66], "alt": [17, 52], "maco": [17, 51, 52], "ctrl": [17, 52], "hid": 17, "cursor": [17, 52, 66], "movement": [17, 58], "home": [17, 51, 52, 53], "ve": [17, 52, 53, 66, 67], "edit": [17, 24, 25, 29, 51, 53, 57, 66, 71], "pgup": 17, "pgdn": 17, "18717": 17, "toggleabl": 17, "shift": [17, 52, 57], "f2": [17, 41, 51, 52, 55, 57], "16141": 17, "drag": [17, 24], "18524": 17, "3977": 17, "xml": [17, 24], "protocol": [17, 77], "19040": 17, "18682": 17, "tooltip": [17, 52], "19153": 17, "19152": 17, "app_length": 17, "becam": [17, 24], "length_app": 17, "migrat": 17, "xarg": 17, "sed": 17, "rev_length": 17, "length_rev": 17, "map_length": 17, "length_map": 17, "fold_left_length": 17, "fold_left_s_o": 17, "split_length_l": 17, "length_fst_split": 17, "split_length_r": 17, "length_snd_split": 17, "combine_length": 17, "length_combin": 17, "prod_length": 17, "length_prod": 17, "firstn_length": 17, "length_firstn": 17, "skipn_length": 17, "length_skipn": 17, "seq_length": 17, "length_seq": 17, "concat_length": 17, "length_concat": 17, "flat_map_length": 17, "length_flat_map": 17, "list_power_length": 17, "length_list_pow": 17, "18564": 17, "crelationclass": 17, "ifft": 17, "18910": 17, "ndigit": 17, "ndist": 17, "bytevector": 17, "18936": 17, "zbinari": 17, "natpair": 17, "znatpair": 17, "nbinari": [17, 53], "peanonat": [17, 59], "binnat": [17, 59], "binint": [17, 53], "18500": 17, "natint": 17, "nzproperti": 17, "nzmulord": 17, "nzprop": 17, "nzmulorderprop": 17, "18501": 17, "bool_nat": 17, "18538": 17, "nzdomain": 17, "18539": 17, "zdiveucl": 17, "zeuclid": 17, "18544": 17, "niso": 17, "ndefop": 17, "18668": 17, "bvector": 17, "encourag": [17, 46, 53, 54], "18947": 17, "vector": [17, 46, 67], "awar": [17, 51, 52, 55, 58, 59, 62, 66], "bundl": 17, "intent": [17, 24, 28, 57], "18032": 17, "nodup_app": 17, "nodup_iff_forallordpair": 17, "nodup_map_nodup_forallpair": 17, "nodup_concat": 17, "18172": 17, "haani": 17, "in_iff_nth_error": 17, "nth_error_app": 17, "nth_error_cons_0": 17, "nth_error_cons_succ": 17, "nth_error_rev": 17, "nth_error_firstn": 17, "nth_error_skipn": 17, "hd_error_skipn": 17, "nth_error_seq": 17, "18563": 17, "strong_induction_l": 17, "binary_induct": 17, "even_even": 17, "odd_even": [17, 67], "odd_odd": 17, "even_odd": [17, 67], "b2n_le_1": 17, "testbit_odd_succ": 17, "testbit_even_succ": 17, "testbit_div2": 17, "div2_0": 17, "div2_1": 17, "div2_le_mono": 17, "div2_even": 17, "div2_odd": 17, "le_div2_diag_l": 17, "div2_le_upper_bound": 17, "div2_le_lower_bound": 17, "lt_div2_diag_l": 17, "le_div2": 17, "lt_div2": 17, "div2_decr": 17, "land_even_l": 17, "land_even_r": 17, "land_odd_l": 17, "land_odd_r": 17, "land_even_even": 17, "land_odd_even": 17, "land_even_odd": 17, "land_odd_odd": 17, "land_le_l": 17, "land_le_r": 17, "ldiff_even_l": 17, "ldiff_odd_l": 17, "ldiff_even_r": 17, "ldiff_odd_r": 17, "ldiff_even_even": 17, "ldiff_odd_even": 17, "ldiff_even_odd": 17, "ldiff_odd_odd": 17, "ldiff_le_l": 17, "shiftl_lower_bound": 17, "shiftr_upper_bound": 17, "ones_0": 17, "ones_succ": 17, "pow_lower_bound": 17, "18628": 17, "18818": 17, "18770": 17, "18359": 17, "jesu": 17, "vio": 17, "vio2vo": 17, "18424": 17, "4007": 17, "4013": 17, "4123": 17, "5308": 17, "5223": 17, "6720": 17, "8402": 17, "9637": 17, "11471": 17, "18380": 17, "17808": 17, "memprof": 17, "recompil": [17, 51, 52, 53, 59, 64], "18906": 17, "17760": 17, "stack": [17, 25, 41, 54, 55, 57, 59, 71], "action": [17, 24, 52, 53, 57, 60], "18771": 17, "exposit": 17, "18270": 17, "18212": 17, "wrongli": [17, 46], "17321": 17, "16288": 17, "wrapper": [17, 53, 67, 71, 72], "period": [17, 24, 29, 52, 54, 60, 66, 74], "temporarili": [17, 53, 57, 59, 66, 71], "cpu": [17, 59], "linux": [17, 35, 51, 52, 53, 59, 64], "thierri": [17, 24, 34, 77], "martinez": 17, "awai": [17, 54], "gitlab": 17, "runner": 17, "jaim": 17, "yve": [17, 24, 72], "bertot": [17, 24, 72], "ana": 17, "borg": 17, "tej": [17, 58], "chaje": [17, 58], "corbineau": [17, 24], "courtieu": [17, 24], "kenji": 17, "maillard": 17, "semeria": 17, "arnaud": 17, "spiwack": 17, "trunov": 17, "quarkcool": 17, "khalid": 17, "abdullah": 17, "tanaka": 17, "akira": 17, "isaac": 17, "bakel": 17, "jouvelot": 17, "robbert": 17, "krebber": 17, "l\u00e9chenet": 17, "sotaro": 17, "okada": 17, "portegi": 17, "swasei": 17, "shengyi": 17, "wang": 17, "285": 17, "70": [17, 27, 36, 42, 57, 71, 72], "nant": 17, "januari": [17, 24, 77], "17836": 17, "18331": 17, "18507": 17, "18503": 17, "term_forall_or_fun": [17, 28, 29], "term_let": [17, 29, 32, 38], "term_fix": [17, 29, 34, 54], "term_cofix": [17, 29, 30, 54], "term_if": [17, 29, 46], "200": [17, 52, 71], "term10": [17, 29, 32], "camlp5": [17, 71], "coqpp": 17, "18014": 17, "18254": 17, "disjunct": [17, 25, 34, 57, 58, 59, 60, 67, 71], "17857": 17, "18005": 17, "17854": 17, "18004": 17, "18176": 17, "18163": 17, "18393": 17, "12755": 17, "18392": 17, "intepret": 17, "18104": 17, "address": [17, 52], "18096": 17, "t_scope": [17, 71], "6134": 17, "14959": 17, "ba": 17, "spitter": 17, "14928": 17, "11486": 17, "12157": 17, "14305": 17, "deep": [17, 24, 57, 67], "token": [17, 29, 42, 51, 52, 53, 54, 55, 58, 59, 66, 71, 75], "17123": 17, "17856": 17, "17845": 17, "17988": 17, "17985": 17, "17115": 17, "17094": 17, "invalid": [17, 24, 40, 52, 54, 59, 64, 66, 71], "17841": 17, "15221": 17, "17844": 17, "15322": 17, "17861": 17, "17860": 17, "17891": 17, "17782": 17, "17892": 17, "17071": 17, "17902": 17, "11237": 17, "18230": 17, "18223": 17, "17704": 17, "17745": 17, "17789": 17, "6714": 17, "17832": 17, "17964": 17, "17959": 17, "cleanup": 17, "17984": 17, "17991": 17, "std": [17, 55], "resolve_tc": 17, "13071": 17, "17503": 17, "18190": 17, "evarconv": 17, "17788": 17, "17774": 17, "17887": 17, "17417": 17, "necess": 17, "overli": 17, "sensit": [17, 24, 29, 59], "17935": 17, "recip": [17, 53], "recaptur": 17, "robust": [17, 51, 57, 60, 66, 75], "albeit": 17, "slower": [17, 51, 60, 62], "17936": 17, "17993": 17, "12521": 17, "3488": 17, "f_equal": [17, 27], "18106": 17, "5481": 17, "9979": 17, "18152": 17, "18151": 17, "tail": [17, 24, 46, 54, 55, 57, 60, 71], "18159": 17, "18158": 17, "18195": 17, "18194": 17, "18243": 17, "18239": 17, "coqtop": [17, 24, 51, 52, 53, 66], "debugg": [17, 24, 25], "18068": 17, "18067": 17, "empty_context": 17, "thunk": [17, 55], "17534": 17, "eexact": [17, 43, 58], "18157": 17, "12827": 17, "fold_left": 17, "fold_right": 17, "18197": 17, "16485": 17, "red_flag": 17, "rstrength": 17, "18273": 17, "18209": 17, "quotat": [17, 24, 25, 66, 75], "eq_pattern": 17, "17667": 17, "transparentst": 17, "17777": 17, "is_float": 17, "is_uint63": 17, "is_arrai": 17, "17894": 17, "ref": [17, 59], "redflag": 17, "18095": 17, "10112": 17, "18102": 17, "investig": [17, 24, 77], "18139": 17, "frame": [17, 52], "18293": 17, "ikfprintf": 17, "18311": 17, "18292": 17, "18082": 17, "17576": 17, "17795": 17, "17801": 17, "17796": 17, "17805": 17, "16126": 17, "9148": 17, "17702": 17, "took": [17, 24], "17744": 17, "18193": 17, "8032": 17, "17987": 17, "17963": 17, "18008": 17, "18006": 17, "17946": 17, "10156": 17, "glob": [17, 24, 51, 75], "gnu": [17, 51, 53], "18077": 17, "18076": 17, "18165": 17, "inadvert": [17, 52], "18448": 17, "18434": 17, "reimplement": 17, "nsatz": [17, 25, 61], "cring": 17, "18325": 17, "cyclic": [17, 64], "zmodulo": 17, "retain": 17, "cyclicaxiom": 17, "17258": 17, "zdigit": 17, "favor": [17, 41, 51], "testbit": [17, 59], "18025": 17, "gt": [17, 27, 42], "min": [17, 24, 59], "arith_prebas": 17, "18164": 17, "disus": 17, "volunt": 17, "17732": 17, "byte": [17, 24, 25, 51, 59, 66, 71], "18022": 17, "naryfunct": 17, "continut": 17, "18026": 17, "cardinal_add_in": 17, "add_transpose_neqkei": 17, "unequ": 17, "12096": 17, "app_eq_con": 17, "app_inj_pivot": 17, "rev_inj": 17, "17787": 17, "unfold_nth_error": 17, "nth_error_nil": 17, "nth_error_con": 17, "nth_error_o": 17, "nth_error_": 17, "17998": 17, "antisymmetr": 17, "asymmetr": [17, 46], "rle": 17, "rge": 17, "rlt": 17, "rgt": 17, "18059": 17, "17889": 17, "17817": 17, "18596": 17, "18630": 17, "18594": 17, "corrupt": [17, 24], "18599": 17, "18670": 17, "18640": 17, "18636": 17, "18560": 17, "18556": 17, "fmap": [17, 60], "18649": 17, "18635": 17, "conf": [17, 53], "libc": 17, "dev": [17, 24, 51, 53, 71], "python": [17, 53], "18565": 17, "comit": 17, "symlink": 17, "git": [17, 53], "setup": [17, 25], "18550": 17, "18548": 17, "19088": 17, "19082": 17, "18089": 17, "18914": 17, "18945": 17, "18942": 17, "19096": 17, "772": 17, "18772": 17, "18769": 17, "18741": 17, "multibyt": 17, "utf": [17, 52, 75], "19137": 17, "19136": 17, "18863": 17, "commit": [17, 53, 54, 55], "pick": [17, 42, 51, 52, 53, 57, 58, 66, 67], "fine": [17, 41, 51, 52, 57, 64], "particularli": [17, 25, 42, 51, 53, 64, 71], "teach": 17, "analysi": [17, 24, 25, 30, 34, 37, 40, 46, 57, 58, 72, 77], "41": [17, 51, 53, 57], "reynald": 17, "affeldt": 17, "bati": 17, "kate": 17, "deplaix": 17, "paolo": 17, "giarrusso": 17, "gruetter": 17, "yoshihiro": 17, "imai": 17, "meven": 17, "lennon": 17, "bertrand": 17, "radziuk": 17, "julin": 17, "shaji": 17, "weng": 17, "shiwei": 17, "hao": 17, "yang": 17, "grate": 17, "sophia": [17, 24], "antipoli": [17, 24], "2023": 17, "17172": 17, "17452": 17, "9608": 17, "native_comput": [17, 25, 32, 36, 51, 58], "17872": 17, "17871": 17, "16903": 17, "overhead": [17, 53, 64], "17008": 17, "volatil": [17, 32, 41, 46], "hidden": [17, 24, 25, 27, 53, 57, 71, 75], "16992": 17, "16918": 17, "uninterpret": [17, 62], "some_term": 17, "17221": 17, "substructur": [17, 25], "17754": 17, "17451": 17, "hook": [17, 53], "metalanguag": 17, "elpi": [17, 57, 63], "17794": 17, "17206": 17, "17079": 17, "17305": 17, "17303": 17, "16788": 17, "16785": 17, "17117": 17, "17484": 17, "formerli": 17, "16937": 17, "12467": 17, "17050": 17, "17217": 17, "14975": 17, "17318": 17, "17316": 17, "17478": 17, "fring": 17, "17322": 17, "17352": 17, "\u03b2\u03b9": [17, 41, 57, 64], "17541": 17, "eqdep_dec": [17, 67], "17670": 17, "uncondition": 17, "17564": 17, "16910": 17, "hresolve_cor": 17, "hget_evar": 17, "17035": 17, "elimtyp": 17, "casetyp": 17, "16904": 17, "revert": [17, 52, 57, 58, 59], "misleadingli": 17, "17669": 17, "13448": 17, "13428": 17, "indirect": [17, 64], "16960": 17, "17304": 17, "17295": 17, "field_simplifi": 17, "17591": 17, "8905": 17, "4721": 17, "5351": 17, "16859": 17, "13976": 17, "17347": 17, "16409": 17, "antiquot": [17, 25], "17359": 17, "13977": 17, "start_profil": 17, "stop_profil": 17, "show_profil": 17, "17371": 17, "10111": 17, "17468": 17, "17475": 17, "ltac2val": [17, 55], "oppos": [17, 57], "17575": 17, "17232": 17, "15864": 17, "17508": 17, "17491": 17, "multi_match": 17, "multi_match0": 17, "multi_goal_match0": 17, "match_failur": [17, 57], "not_found": [17, 24], "17597": 17, "17594": 17, "16258": 17, "plural": [17, 28, 38], "16989": 17, "17274": 17, "17489": 17, "16287": 17, "17585": 17, "17718": 17, "unknown": [17, 29, 42, 43, 58, 60, 66, 71], "17747": 17, "16909": 17, "16911": 17, "parametr": [17, 24, 25, 34, 40, 64], "17042": 17, "counterproduct": 17, "17114": 17, "17108": 17, "workspac": 17, "17394": 17, "17333": 17, "subsum": [17, 57], "inherit": [17, 24, 25, 42, 52, 55], "17716": 17, "17544": 17, "16796": 17, "16817": 17, "16890": 17, "12266": 17, "16902": 17, "15893": 17, "16994": 17, "17430": 17, "17467": 17, "17285": 17, "13927": 17, "rectyp": 17, "re": [17, 24, 29, 32, 38, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 64, 66], "camlflag": [17, 53], "coqmakefil": [17, 25, 52], "17038": 17, "17045": 17, "13155": 17, "t_ind": [17, 35, 71], "17118": 17, "lib": [17, 24, 51, 53, 55, 59, 75], "vernac": [17, 24, 51, 53, 71, 75], "vernacular": [17, 24, 35, 38, 59, 63, 75], "17364": 17, "coqtimelog2html": 17, "render": [17, 24, 75], "17411": 17, "surpass": 17, "17697": 17, "17721": 17, "send": 17, "column": [17, 46, 53, 57], "decod": 17, "client": 17, "17382": 17, "17023": 17, "nth": [17, 58], "16731": 17, "16738": 17, "nodup": 17, "set_diff_nodup": 17, "listset": 17, "16926": 17, "traian": 17, "florin": 17, "\u015ferb\u0103nu\u0163\u0103": 17, "decidableclass": 17, "17021": 17, "17281": 17, "xorb": [17, 27, 59, 62], "simpler": [17, 24, 57, 58, 62, 64], "17427": 17, "rineq": 17, "completeness_weak": 17, "upper_bound_thm": 17, "le_epsilon": 17, "rle_epsilon": 17, "rplus_eq_r0": 17, "rplus_eq_0": 17, "req_em_t": 17, "req_dec_t": 17, "rinv_r_simpl_m": 17, "rmult_inv_r_id_m": 17, "rinv_r_simpl_l": 17, "rmult_inv_r_id_l": 17, "rinv_r_simpl_r": 17, "rmult_inv_m_id_r": 17, "tech_rgt_minu": 17, "rgt_minus_po": 17, "tech_rplu": 17, "rplus_le_lt_0_neq_0": 17, "izr_pos_xi": 17, "izr_pos_xo": 17, "rge_refl": 17, "17036": 17, "prod_curri": 17, "prod_uncurri": 17, "prodt_curri": 17, "prodt_uncurri": 17, "prod_curry_uncurri": 17, "prod_uncurry_curri": 17, "leb_implb": 17, "skipn_non": 17, "zdiv": 17, "z_div_mod_eq": 17, "div_zdiv": 17, "mod_zmod": 17, "floatop": [17, 36], "frexp": 17, "ldexp": 17, "floatlemma": 17, "frexp_spec": 17, "ldexp_spec": 17, "rlist": 17, "rlength": 17, "rtrigo_calc": 17, "cos3pi4": 17, "sin3pi4": 17, "msetrbt": 17, "filter_app": 17, "16920": 17, "app_nil_end": 17, "app_assoc_revers": 17, "ass_app": 17, "app_ass": 17, "forall2_refl": 17, "forall2_nil": 17, "17646": 17, "functin": 17, "17733": 17, "int31": 17, "cyclic31": 17, "nnumber": 17, "ring31": 17, "int63": [17, 71], "17734": 17, "inser_trans_r": 17, "izr_neq": 17, "double_var": 17, "rinv_mult_simpl": 17, "rle_rinv": 17, "rlt_rminu": 17, "rminus_eq_0": 17, "rminus_gt_0_lt": 17, "ropp_div": 17, "ropp_minus_distr": 17, "rplus_sqr_eq_0_l": 17, "sum_inequa_rle_lt_depr": 17, "s_o_plus_inr_depr": 17, "single_z_r_r1_depr": 17, "tech_single_z_r_r1_depr": 17, "l_inj": 17, "r_inj": 17, "l_r_neq": 17, "case_l_r": 17, "fin": [17, 71], "nil_spec": 17, "nth_append_l": 17, "nth_append_r": 17, "in_nth": 17, "nth_replace_eq": 17, "nth_replace_neq": 17, "replace_append_l": 17, "replace_append_r": 17, "append_const": 17, "map_append": 17, "map2_ext": 17, "append_inj": 17, "in_cons_iff": 17, "forall_cons_iff": 17, "forall_map": 17, "forall_append": 17, "forall_nth": 17, "forall2_nth": 17, "forall2_append": 17, "map_shiftin": 17, "fold_right_shiftin": 17, "in_shiftin": 17, "forall_shiftin": 17, "rev_nil": 17, "rev_con": 17, "rev_shiftin": 17, "rev_rev": 17, "map_rev": 17, "fold_left_rev_right": 17, "in_rev": 17, "forall_rev": 17, "vectorspec": 17, "16765": 17, "6459": 17, "iter_swap_gen": 17, "iter_swap": 17, "iter_succ": 17, "iter_succ_r": 17, "iter_add": 17, "iter_ind": 17, "iter_rect": 17, "iter_invari": 17, "17013": 17, "zbitwis": 17, "relationship": [17, 29], "bitwis": [17, 59], "arithmet": [17, 24, 25, 36, 44, 57, 60, 61, 71], "17022": 17, "forallb_filt": 17, "forallb_filter_id": 17, "partition_as_filt": 17, "filter_length": 17, "filter_length_l": 17, "filter_length_forallb": 17, "17027": 17, "eq_izr_contraposit": 17, "inr_0": 17, "inr_1": 17, "inr_archim": 17, "inr_unbound": 17, "ipr_2_xh": 17, "ipr_2_xi": 17, "ipr_2_xo": 17, "ipr_eq": 17, "ipr_ge_1": 17, "ipr_gt_0": 17, "ipr_ipr_2": 17, "ipr_l": 17, "ipr_lt": 17, "ipr_not_1": 17, "ipr_xh": 17, "ipr_xi": 17, "ipr_xo": 17, "le_ipr": 17, "lt_1_ipr": 17, "lt_ipr": 17, "minus_ipr": 17, "mult_ipr": 17, "not_1_ipr": 17, "not_ipr": 17, "plus_ipr": 17, "pow_ipr": 17, "rdiv_0_l": 17, "rdiv_0_r": 17, "rdiv_1_l": 17, "rdiv_1_r": 17, "rdiv_def": 17, "rdiv_diag_eq": 17, "rdiv_diag": 17, "rdiv_diag_uniq": 17, "rdiv_eq_compat_l": 17, "rdiv_eq_compat_r": 17, "rdiv_eq_reg_l": 17, "rdiv_eq_reg_r": 17, "rdiv_mult_distr": 17, "rdiv_mult_l_l": 17, "rdiv_mult_l_r": 17, "rdiv_mult_r_l": 17, "rdiv_mult_r_r": 17, "rdiv_neg_neg": 17, "rdiv_neg_po": 17, "rdiv_opp_l": 17, "rdiv_pos_cas": 17, "rdiv_pos_neg": 17, "rdiv_pos_po": 17, "rexists_between": 17, "rge_gt_or_eq_dec": 17, "rge_gt_or_eq": 17, "rge_lt_dec": 17, "rgt_le_dec": 17, "rgt_or_l": 17, "rgt_or_not_gt": 17, "rinv_0_lt_contravar": 17, "rinv_eq_compat": 17, "rinv_eq_reg": 17, "rinv_lt_0_contravar": 17, "rinv_neg": 17, "rinv_po": 17, "rle_gt_dec": 17, "rle_half_plu": 17, "rle_lt_or_eq": 17, "rle_or_gt": 17, "rle_or_not_l": 17, "rlt_0_2": 17, "rlt_0_minu": 17, "rlt_ge_dec": 17, "rlt_half_plu": 17, "rlt_minus_0": 17, "rlt_or_g": 17, "rlt_or_not_lt": 17, "rminus_def": 17, "rminus_diag": 17, "rminus_eq_compat_l": 17, "rminus_eq_compat_r": 17, "rminus_plus_distr": 17, "rminus_plus_l_l": 17, "rminus_plus_l_r": 17, "rminus_plus_r_l": 17, "rminus_plus_r_r": 17, "rmult_div_assoc": 17, "rmult_div_l": 17, "rmult_div_r": 17, "rmult_div_swap": 17, "rmult_gt_reg_r": 17, "rmult_inv_l": 17, "rmult_inv_r": 17, "rmult_inv_r_uniq": 17, "rmult_neg_cas": 17, "rmult_neg_neg": 17, "rmult_neg_po": 17, "rmult_pos_cas": 17, "rmult_pos_neg": 17, "rmult_pos_po": 17, "ropp_div_distr_l": 17, "ropp_eq_reg": 17, "ropp_neg": 17, "ropp_po": 17, "rplus_0_l_uniq": 17, "rplus_ge_reg_r": 17, "rplus_gt_reg_r": 17, "rplus_minus_assoc": 17, "rplus_minus_l": 17, "rplus_minus_r": 17, "rplus_minus_swap": 17, "rplus_neg_lt": 17, "rplus_neg_neg": 17, "rplus_neg_npo": 17, "rplus_nneg_g": 17, "rplus_nneg_nneg": 17, "rplus_nneg_po": 17, "rplus_npos_l": 17, "rplus_npos_neg": 17, "rplus_npos_npo": 17, "rplus_pos_gt": 17, "rplus_pos_nneg": 17, "rplus_pos_po": 17, "rsqr_def": 17, "r_ifp": 17, "int_part_spec": 17, "rplus_int_part_frac_part": 17, "int_part_frac_part_spec": 17, "flat_map_constant_length": 17, "17082": 17, "sphinx": 17, "esc": 17, "17772": 17, "15778": 17, "17344": 17, "10739": 17, "enviro": [17, 59], "experi": [17, 24, 51, 77], "slowdown": 17, "50": [17, 27, 41, 42, 44, 53, 57, 59, 71, 77], "readi": [17, 51, 57, 60], "hu\u1ef3nh": 17, "tr\u1ea7n": 17, "khanh": 17, "www": [17, 24, 25, 27, 50, 75, 77], "platform": [17, 24, 36, 53, 54, 72], "45": [17, 77], "stephan": 17, "boyer": [17, 24], "franti\u0161ek": 17, "farka": 17, "alban": 17, "gruin": 17, "wolf": 17, "bodo": 17, "igler": 17, "jerri": 17, "jame": 17, "wojciech": 17, "karpiel": 17, "thoma": 17, "klausner": 17, "sudha": 17, "parimala": 17, "valentin": 17, "robert": [17, 77], "dmitri": 17, "shachnev": 17, "naveen": 17, "srinivasan": 17, "sergei": 17, "stepanenko": 17, "karolina": 17, "surma": 17, "414": 17, "105": 17, "februari": [17, 24], "vulner": 17, "repeatedli": [17, 31, 57, 71], "16958": 17, "16957": 17, "unexpect": [17, 24, 44, 53, 55, 71, 73], "inaccess": 17, "17116": 17, "17073": 17, "16135": 17, "lost": [17, 30, 44, 57, 67], "17138": 17, "17137": 17, "17174": 17, "17173": 17, "contigu": [17, 29], "letter": [17, 24, 26, 27, 29, 37, 46, 51, 55, 71, 75], "middl": [17, 29, 54, 57, 71, 75], "16322": 17, "4712": 17, "12324": 17, "16945": 17, "lionel": 17, "rieg": 17, "16472": 17, "add_top": [17, 71], "add_bottom": [17, 71], "consolid": 17, "descript": [17, 24, 25, 27, 29, 31, 38, 40, 42, 46, 51, 53, 55, 57, 66, 67], "assur": [17, 53], "autom": [17, 24, 25, 43, 54, 59, 61, 64, 66, 67, 77], "15015": 17, "16498": 17, "16659": 17, "16289": 17, "5163": 17, "16282": 17, "eager": 17, "cost": [17, 51, 55, 60], "prior": [17, 51, 54], "discrep": [17, 57], "16293": 17, "16062": 17, "16323": 17, "tac1": 17, "tac2": 17, "absurd_hyp": 17, "year": [17, 24], "ago": 17, "contradict": [17, 34, 54, 57, 60, 67], "16670": 17, "progress_evar": 17, "16843": 17, "intuition_solv": [17, 62], "star": [17, 60, 62], "forward": [17, 24, 52, 53, 57, 62, 66], "16026": 17, "16407": 17, "16302": 17, "15814": 17, "6332": 17, "16605": 17, "16743": 17, "5239": 17, "redefinit": [17, 54, 55], "16106": 17, "hyp": [17, 24, 55, 57, 59, 66, 71], "typ": [17, 24], "16764": 17, "boolnot": 17, "16536": 17, "in_context": 17, "16547": 17, "16540": 17, "matches_go": 17, "lazy_goal_match0": 17, "one_goal_match0": 17, "16655": 17, "16023": 17, "16179": 17, "to_str": [17, 55], "concat": [17, 46, 55], "cat": [17, 74], "is_empti": 17, "16217": 17, "liftn": 17, "16413": 17, "closedn": 17, "is_clos": 17, "16414": 17, "16429": 17, "16466": 17, "16418": 17, "16415": 17, "for_all2": 17, "16535": 17, "meta": [17, 24, 25, 39, 53, 59], "16537": 17, "16538": 17, "16552": 17, "10117": 17, "pun": [17, 55], "16556": 17, "12803": 17, "16740": 17, "math": [17, 75, 77], "comp": [17, 53], "872": 17, "874": 17, "olift": 17, "pred_oapp": 17, "all_sig2_cond": 17, "compa": 17, "obindeapp": 17, "omapebind": 17, "omapeapp": 17, "omap_comp": 17, "oapp_comp": 17, "olift_comp": 17, "ocan_comp": 17, "eqblr": 17, "eqbrl": 17, "can_in_pcan": 17, "pcan_in_inj": 17, "in_inj_comp": 17, "can_in_comp": 17, "pcan_in_comp": 17, "ocan_in_comp": 17, "16158": 17, "firstord": [17, 29, 62], "parti": [17, 51, 52, 53, 75], "15274": 17, "15072": 17, "16004": 17, "13394": 17, "16340": 17, "16690": 17, "16686": 17, "spawn": [17, 54], "16837": 17, "16519": 17, "untouch": [17, 41], "16842": 17, "16230": 17, "16224": 17, "16168": 17, "16438": 17, "16375": 17, "nontermin": [17, 29, 54, 55, 71], "adhoc": [17, 37], "16440": 17, "16395": 17, "14141": 17, "16931": 17, "16929": 17, "16981": 17, "16602": 17, "17069": 17, "12575": 17, "unsupport": [17, 29, 35, 38, 52, 59], "17113": 17, "17110": 17, "cover": [17, 44, 54, 57, 65], "_coqproject": [17, 25, 51, 52], "15888": 17, "16308": 17, "raci": 17, "16757": 17, "omiss": 17, "17090": 17, "15933": 17, "operand": [17, 64], "16355": 17, "behalf": 17, "bedrock": 17, "inc": 17, "rememb": [17, 52, 57, 58, 75], "r_dist": 17, "spell": 17, "rdist": 17, "16874": 17, "superflu": [17, 24], "rs_r": 17, "_r": [17, 41], "a_right": 17, "ls_l": 17, "_l": [17, 34], "lbase": 17, "a_left": 17, "redund": [17, 24, 43, 46, 57], "gcd_uniqu": 17, "gcd_unique_alt": 17, "divide_gcd_iff": 17, "gcd_mul_diag_l": 17, "16203": 17, "jmeq": [17, 67], "16436": 17, "finite_alt": 17, "finfun": 17, "newli": [17, 60, 67], "finite_dec": 17, "16489": 17, "16479": 17, "zmod": 17, "zdiv_eucl_po": 17, "zmod_pos_bound": 17, "zmod_neg_bound": 17, "16892": 17, "nz": 17, "16914": 17, "permutation_incl_cons_inv_r": 17, "permutation_pigeonhol": 17, "permutation_pigeonhole_rel": 17, "forall2_cons_iff": 17, "forall2_length": 17, "forall2_impl": 17, "forall2_flip": 17, "forall_exists_exists_forall2": 17, "15986": 17, "dominiqu": 17, "larchei": 17, "wendl": 17, "div0": [17, 59], "lcm0": 17, "16186": 17, "measure_induct": 17, "induction_ltof1": 17, "lemmata": 17, "listing_decidable_eq": 17, "nodup_list_decid": 17, "listdec": 17, "not_nodup": 17, "nodup_app_remove_l": 17, "nodup_app_remove_r": 17, "16588": 17, "skipn_skipn": 17, "16632": 17, "nth_error_ext": 17, "map_repeat": 17, "rev_repeat": 17, "to_list_nil_iff": 17, "to_list_inj": 17, "16756": 17, "extgcd": 17, "euclid_rec": 17, "euclid_intro": 17, "znumtheori": 17, "16915": 17, "15560": 17, "16007": 17, "16118": 17, "diff": [17, 24, 25, 51, 53, 54], "absolut": [17, 24, 35, 51, 53, 55, 71], "strip": [17, 58], "16268": 17, "ondemand": [17, 51], "16997": 17, "got": [17, 34, 67], "16512": 17, "nomacintegr": 17, "16531": 17, "15494": 17, "16925": 17, "16947": 17, "16959": 17, "16988": 17, "16991": 17, "16996": 17, "16999": 17, "17010": 17, "17015": 17, "offici": [17, 54], "15867": 17, "alphabet": [17, 60], "16725": 17, "varieti": [17, 24], "17270": 17, "16571": 17, "17324": 17, "12813": 17, "14843": 17, "16677": 17, "redo": [17, 57, 67], "byextend": 17, "17495": 17, "17488": 17, "mathcomp": [17, 57], "17743": 17, "strong": [17, 24, 27, 31, 34, 64, 67, 77], "fullfil": 17, "reorgan": 17, "57": 17, "bodin": 17, "minki": 17, "cho": 17, "juan": 17, "conejero": 17, "cran": 17, "adrian": 17, "dapprich": 17, "st\u00e9phane": 17, "desarzen": 17, "christian": 17, "doczkal": 17, "attila": 17, "g\u00e1sp\u00e1r": 17, "jasper": 17, "hugunin": 17, "bart": 17, "jacob": 17, "jurgensen": 17, "ethan": 17, "kuefner": 17, "fabian": 17, "kunz": 17, "francoi": 17, "monin": [17, 24], "peterson": 17, "seth": 17, "poulsen": 17, "takafumi": 17, "saikawa": 17, "gabriel": 17, "scherer": 17, "kartik": 17, "singhal": 17, "356": 17, "99": [17, 27, 71], "june": [17, 24], "2022": 17, "artifici": [17, 24, 67, 71], "obstacl": [17, 42], "restor": [17, 29, 54, 57, 66], "physic": [17, 24, 35, 51, 53, 59, 75], "decad": 17, "specialist": 17, "truth": [17, 54, 57], "15434": 17, "incident": 17, "5702": 17, "15668": 17, "15621": 17, "15965": 17, "inlin": [17, 24, 25, 28, 35, 64, 66, 72, 75], "15412": 17, "15403": 17, "cheap": 17, "15575": 17, "14015": 17, "blowup": 17, "noncumul": [17, 25, 29], "15662": 17, "11741": 17, "14563": 17, "15693": 17, "freedom": 17, "15789": 17, "2828": 17, "4593": 17, "3115": 17, "5222": 17, "9696": 17, "8540": 17, "princip": [17, 24, 34, 57, 72, 77], "15581": 17, "13157": 17, "arg": [17, 24, 28, 37, 44, 51, 53, 55, 57, 60, 67], "15754": 17, "15291": 17, "7911": 17, "15884": 17, "15843": 17, "13969": 17, "7916": 17, "14138": 17, "13618": 17, "15215": 17, "15214": 17, "15426": 17, "3051": 17, "15448": 17, "closur": [17, 24, 31, 54, 55, 62, 66], "15728": 17, "10970": 17, "15277": 17, "14137": 17, "4632": 17, "5384": 17, "5521": 17, "6278": 17, "7675": 17, "8739": 17, "11011": 17, "12240": 17, "15279": 17, "aka": [17, 72], "15921": 17, "15289": 17, "5304": 17, "nomatch": [17, 41], "15657": 17, "3989": 17, "15206": 17, "15559": 17, "15554": 17, "toplevel_selector": [17, 29, 54, 58], "obei": [17, 24, 37], "buggi": [17, 25, 33], "15378": 17, "asr": 17, "lsl": 17, "lsr": 17, "lor": [17, 59], "lxor": [17, 59], "lnot": [17, 75], "15637": 17, "eappli": [17, 54, 58, 60, 66, 67, 71], "15741": 17, "suff": [17, 25], "wlog": [17, 25], "15355": 17, "15366": 17, "15424": 17, "15410": 17, "subproof": [17, 34, 66, 67], "autogener": 17, "15442": 17, "15268": 17, "15669": 17, "simplex": 17, "15690": 17, "workflow": 17, "15652": 17, "wild": [17, 57], "15752": 17, "15526": 17, "15527": 17, "15650": 17, "15600": 17, "15683": 17, "14907": 17, "4436": 17, "7730": 17, "15760": 17, "15802": 17, "15853": 17, "filtered_import": [17, 35, 59], "15945": 17, "14872": 17, "15347": 17, "3556": 17, "coqplugininstal": [17, 53], "15788": 17, "15886": 17, "15511": 17, "15497": 17, "16070": 17, "signaturet": 17, "15446": 17, "permutation_app": 17, "permutation_con": 17, "15597": 17, "15596": 17, "npeano": 17, "arith_bas": [17, 59], "pariti": 17, "even_alt": 17, "odd_alt": 17, "even_odd_ind": 17, "odd_even_ind": 17, "even_alt_even": 17, "odd_alt_odd": 17, "peano": [17, 24, 27, 34, 57, 60, 71], "phase": [17, 24, 52, 54, 55, 57, 64, 72], "discourag": [17, 29, 32, 35, 53, 54, 55, 58, 59, 60, 66], "14736": 17, "15411": 17, "logic_typ": 17, "nott": [17, 27], "15256": 17, "p_rmin": 17, "rmin_cas": 17, "15388": 17, "15382": 17, "count_occ_rev": 17, "15397": 17, "oddt": 17, "event_oddt_dec": 17, "event_oddt_rect": 17, "oddt_event_rect": 17, "15427": 17, "sin": 17, "15599": 17, "geb_g": 17, "gtb_gt": 17, "15620": 17, "rinv_inv": 17, "rinv_mult": 17, "rinv_opp": 17, "rinv_div": 17, "rdiv_opp_r": 17, "rsqr_div": 17, "rsqr_inv": 17, "sqrt_inv": 17, "rabs_inv": 17, "pow_inv": 17, "powerrz_inv": 17, "powerrz_neg": 17, "powerrz_mult": 17, "cv_infty_cv_0": 17, "15644": 17, "15719": 17, "le_add_l": 17, "naddord": 17, "le_plus_r": 17, "16184": 17, "lablgtk3": 17, "15947": 17, "consequ": [17, 24, 26, 29, 34, 38, 39, 42, 43, 44, 46, 52, 57, 60], "aac": 17, "15220": 17, "7698": 17, "minimum": 17, "15483": 17, "16005": 17, "16030": 17, "15496": 17, "09": 17, "ocamlfind": [17, 53, 59], "16046": 17, "14260": 17, "16015": 17, "extrocamlint63": [17, 36], "sint63": [17, 36], "15294": 17, "15280": 17, "pervas": 17, "15333": 17, "nicolo": 17, "07": [17, 77], "15967": 17, "15098": 17, "hexadecim": [17, 29, 36, 52, 59], "conflict": [17, 24, 25, 46, 54, 55, 71], "13460": 17, "7017": 17, "13288": 17, "16651": 17, "16645": 17, "16768": 17, "16752": 17, "16845": 17, "16831": 17, "16850": 17, "16829": 17, "buys": 17, "16434": 17, "16411": 17, "won": [17, 25, 38, 52, 53, 54, 55, 58, 62, 64, 67, 71, 73], "16142": [17, 52], "13550": 17, "net": 17, "visual": [17, 51, 52, 54, 66, 71], "zimmerman": [17, 24], "coqdev": 17, "384": 17, "143": [17, 53], "functori": 17, "15385": 17, "9555": 17, "wait": [17, 55, 66], "14705": 17, "14573": 17, "11099": 17, "control_command": [17, 29, 59], "sentenc": [17, 24, 29, 36, 52, 54, 55, 57, 59, 75], "14750": 17, "14606": 17, "4167": 17, "14668": 17, "3527": 17, "role": [17, 26, 33, 42, 55, 71, 75], "14967": 17, "14938": 17, "14672": 17, "14819": 17, "14525": 17, "15340": 17, "15335": 17, "14379": 17, "11402": 17, "14493": 17, "12777": 17, "14486": 17, "14713": 17, "14708": 17, "15338": 17, "15334": 17, "13837": 17, "13759": 17, "circumv": 17, "observ": [17, 34, 37, 40, 54, 55, 59, 66, 71], "14679": 17, "14874": 17, "recognit": [17, 75], "14722": 17, "undiscrimin": [17, 60], "14848": 17, "14989": 17, "6109": 17, "uconstr": [17, 54, 71], "15171": 17, "15204": 17, "4555": 17, "7674": 17, "14527": 17, "capit": [17, 29, 74], "15193": 17, "15194": 17, "15314": 17, "15300": 17, "po": [17, 24, 59, 71], "nsucc_doubl": 17, "ndoubl": 17, "succ_doubl": 17, "succ_po": 17, "to_po": 17, "10998": 17, "13952": 17, "13942": 17, "14125": 17, "14439": 17, "14657": 17, "13778": 17, "5394": 17, "13189": 17, "14673": 17, "4415": 17, "14693": 17, "13859": 17, "14650": 17, "14651": 17, "14662": 17, "14683": 17, "5548": 17, "14732": 17, "14731": 17, "14758": 17, "14734": 17, "6976": 17, "14984": 17, "11689": 17, "14986": 17, "5369": 17, "15245": 17, "15244": 17, "15250": 17, "15122": 17, "14314": 17, "5706": 17, "ssrsearch": 17, "ssr": [17, 57, 59, 66], "13760": 17, "757": 17, "negpp": 17, "orpp": 17, "andpp": 17, "implypp": 17, "15059": 17, "14660": 17, "12770": 17, "14687": 17, "14678": 17, "14596": 17, "13830": 17, "14685": 17, "14513": 17, "14802": 17, "14801": 17, "15078": 17, "14529": 17, "notempl": 17, "grab": 17, "outputst": 17, "14940": 17, "usag": [17, 24, 25, 27, 51, 53, 54, 58, 60, 64], "15056": 17, "13296": 17, "15272": 17, "14697": 17, "mangl": [17, 51, 58, 66], "_0": 17, "_foo": 17, "14695": 17, "14548": 17, "14699": 17, "13150": 17, "14892": 17, "15139": 17, "14930": 17, "submodul": [17, 35], "subsect": [17, 24, 34, 42, 75], "14780": 17, "14446": 17, "14901": 17, "14899": 17, "coqlib_path": 17, "coqlib_url": [17, 75], "14059": 17, "unquot": [17, 53, 55], "14558": 17, "unambigu": [17, 32, 44, 53, 59], "preced": [17, 25, 27, 29, 46, 54, 57, 58, 60, 66, 75], "14718": 17, "coqbin": [17, 51, 53], "14787": 17, "14957": 17, "phoni": [17, 53], "opt": [17, 24, 53, 55, 71], "subdirectori": [17, 51, 53, 59, 60], "docroot": [17, 53], "installcoqdocroot": 17, "disambigu": [17, 44, 57, 71], "11631": 17, "14539": 17, "13541": 17, "9319": 17, "14996": 17, "7393": 17, "bracket": [17, 24, 26, 44, 54, 57, 59, 66, 71, 75], "langl": 17, "cjk": [17, 29], "14452": 17, "uninstal": [17, 25], "desktop": 17, "14696": 17, "14310": 17, "breakpoint": [17, 25], "14644": 17, "13967": 17, "14863": 17, "14574": 17, "14571": 17, "epsilon_smallest": 17, "formul": [17, 42], "le_not_lt": 17, "lt_not_l": 17, "14601": 17, "ascii": [17, 52, 53, 71, 75], "14234": 17, "_invol": 17, "_involut": 17, "15085": 17, "incoher": [17, 46], "adjoint": 17, "adjointif": 17, "13408": 17, "slexprod": 17, "relation_oper": 17, "wf_slexprod": 17, "lexicographic_product": 17, "14809": 17, "theri": [17, 24], "sigt": [17, 27, 67, 71], "sigtnot": 17, "14813": 17, "sigt_of_prod": 17, "prod_of_sigt": 17, "sigt_prod_sigt": 17, "prod_sigt_prod": 17, "split_combin": 17, "14458": 17, "artifact": 17, "facilit": [17, 51, 57], "bleed": 17, "edg": [17, 52], "reliabl": 17, "12425": 17, "gone": 17, "caml": [17, 24, 75], "vmbyteflag": 17, "topbin": 17, "toolchain": [17, 51], "nodebug": 17, "flambda": 17, "bindir": [17, 51], "coqdocdir": 17, "camldir": 17, "14189": 17, "etcdir": 17, "docdir": [17, 53], "14844": 17, "14879": 17, "14963": 17, "big_int_z": 17, "extrocamlnatbigint": 17, "extrocamlzbigint": 17, "extrocamlbigintconv": 17, "8252": 17, "extrocamlstr": 17, "extrocamlnativestr": 17, "15075": 17, "15076": 17, "15498": 17, "15451": 17, "15839": 17, "15838": 17, "15628": 17, "15619": 17, "15577": 17, "15568": 17, "15612": 17, "8080": 17, "15634": 17, "15606": 17, "15653": 17, "15567": 17, "vok": [17, 51], "15745": 17, "15532": 17, "15531": 17, "15633": 17, "15578": 17, "busi": 17, "accur": [17, 52, 53, 57, 71], "15714": 17, "15733": 17, "15675": 17, "15725": 17, "15537": 17, "15420": 17, "dintuit": [17, 62, 71], "hardcod": 17, "15866": 17, "7725": 17, "uncaught": [17, 55], "unabletounifi": 17, "bidirection": [17, 25], "16066": 17, "16063": 17, "15938": 17, "15861": 17, "15939": 17, "15882": 17, "15964": 17, "15799": 17, "15984": 17, "15873": 17, "15996": 17, "15912": 17, "15903": 17, "sfclassifi": 17, "16101": 17, "16096": 17, "cleaner": 17, "carri": 17, "coqn": 17, "omega": [17, 24], "greatli": [17, 24], "54": [17, 54], "arthur": 17, "azevedo": 17, "amorim": 17, "simon": [17, 77], "frii": 17, "vindum": 17, "jacqu": 17, "henri": [17, 24], "jourdan": 17, "barri": 17, "trager": 17, "oscar": 17, "gariano": 17, "shenlebantongi": 17, "avi": 17, "shinnar": 17, "slrnsc": 17, "hendrik": 17, "tew": 17, "karolin": 17, "varner": 17, "ziliani": [17, 77], "522": 17, "150": [17, 55], "2021": [17, 77], "compact": [17, 24, 25, 34, 54, 57, 59, 66, 71], "static": [17, 24, 25, 53, 71], "\u03b2": [17, 25, 26, 57], "uncommon": 17, "breakag": 17, "tip": [17, 60], "repr": 17, "md": [17, 71], "13563": 17, "3166": 17, "13853": 17, "13849": 17, "14395": 17, "14317": 17, "14392": 17, "13911": 17, "14041": 17, "14386": 17, "9711": 17, "12975": 17, "14261": 17, "14207": 17, "unduli": 17, "14371": 17, "14374": 17, "13840": 17, "xxx_scope": 17, "yyy_scop": 17, "13965": 17, "13842": 17, "13519": 17, "13484": 17, "13517": 17, "abbr": 17, "my_scop": 17, "ahead": [17, 54], "sequenti": [17, 54, 55, 58, 64], "14070": 17, "14183": 17, "13654": 17, "gave": [17, 24, 58], "fatal": [17, 25, 57], "14257": 17, "14211": 17, "14377": 17, "13966": 17, "13568": 17, "13566": 17, "gfail": [17, 54, 60], "13469": 17, "trail": [17, 25, 57, 74, 75], "13509": 17, "13741": 17, "convert_concl_no_check": 17, "change_no_check": [17, 58, 64], "13761": 17, "13762": 17, "13696": 17, "13781": 17, "14528": 17, "13715": 17, "z_div_mod_eq_ful": 17, "14037": 17, "11447": 17, "14089": 17, "14083": 17, "inversion_sigma": 17, "ex2": [17, 24, 27, 55, 67], "exists2": [17, 27, 29, 57], "14174": 17, "14408": 17, "collis": [17, 24, 51], "13512": 17, "13413": 17, "13699": 17, "13579": 17, "invis": [17, 57], "erron": 17, "13882": 17, "12011": 17, "14033": 17, "9000": 17, "14009": 17, "14378": 17, "14124": 17, "diff_failur": 17, "14457": 17, "14425": 17, "15099": 17, "11504": 17, "14090": 17, "14610": 17, "14609": 17, "14128": 17, "printf": 17, "macro": [17, 24, 46, 66, 75], "13236": 17, "10108": 17, "emb": [17, 24, 71], "13442": 17, "12871": 17, "13774": 17, "12317": 17, "13914": 17, "13920": 17, "10095": 17, "13939": 17, "12806": 17, "ffi": [17, 25, 55], "13997": 17, "13996": 17, "lazy_and": 17, "lazy_or": 17, "lazy_impl": 17, "14081": 17, "13964": 17, "14094": 17, "11866": 17, "13473": 17, "backport": 17, "13490": 17, "13725": 17, "13724": 17, "alpha": [17, 31, 54, 55], "13852": 17, "13727": 17, "adjoin": 17, "13909": 17, "13912": 17, "13758": 17, "searchhead": 17, "headconcl": [17, 59], "13763": 17, "intead": 17, "13764": 17, "14208": 17, "13562": 17, "14336": 17, "13202": 17, "ho": [17, 29, 58], "rakam": [17, 64], "14093": 17, "14092": 17, "14148": 17, "14102": 17, "14100": 17, "14382": 17, "13589": 17, "bruijn": [17, 24, 31, 33, 77], "14664": 17, "14652": 17, "tho": 17, "13876": 17, "unread": [17, 59], "14024": 17, "14023": 17, "delete_on_error": 17, "14238": 17, "13822": 17, "12411": 17, "10912": 17, "13624": 17, "13581": 17, "14285": 17, "14283": 17, "chargu\u00e9raud": 17, "14265": 17, "14309": 17, "standalon": [17, 51], "hybrid": 17, "13287": 17, "prompt": [17, 24, 52, 54, 59], "13783": 17, "13810": 17, "rpower": 17, "exp_ineq1": 17, "exp_ineq1_l": 17, "13582": 17, "uniformli": [17, 24, 51], "14086": 17, "bring": [17, 59], "eq_ex_uncurri": 17, "eq_ex2_uncurri": 17, "eq_ex": 17, "eq_ex2": 17, "eq_ex_hprop": 17, "eq_ex2_hprop": 17, "eq_ex_intro_uncurri": 17, "eq_ex_intro2_uncurri": 17, "eq_ex_intro": 17, "eq_ex_intro2": 17, "eq_ex_intro_hprop": 17, "eq_ex_intro2_hprop": 17, "39": [17, 53, 71], "cauchi": 17, "qextra": 17, "q_factordenom": 17, "qmult_frac_l": 17, "q_reduce_fl": 17, "qreduce_num_l": 17, "qle_neq": 17, "qlt_leneq": 17, "qmult_lt_le_compat_nonneg": 17, "qmult_le_lt_compat_po": 17, "qpower_pos_lt": 17, "qpower_0_lt": 17, "qpower_lt_1_increas": 17, "qpower_1_lt_po": 17, "qpower_1_lt": 17, "qpower_le_1_increas": 17, "qpower_1_le_po": 17, "qpower_1_l": 17, "qzero_eq": 17, "qreduce_zero": 17, "qpower_lt_compat": 17, "qpower_lt_compat_l": 17, "qpower_le_compat": 17, "qpower_le_compat_l": 17, "qpower_lt_compat_inv": 17, "qpower_lt_compat_l_inv": 17, "qpower_le_compat_inv": 17, "qpower_le_compat_l_inv": 17, "qpower_decomp": 17, "qpower_decomp_po": 17, "qarchimedeanexp2_po": 17, "qarchimedean_power2_po": 17, "qinv_swap_po": 17, "qinv_po": 17, "qinv_swap_neg": 17, "qinv_neg": 17, "delet": [17, 52, 54, 57, 66], "q_factornum_l": 17, "q_factornum": 17, "qopp_lt_compat": 17, "qround": 17, "qarith_bas": 17, "exclud": [17, 34, 41, 51, 53, 54, 55, 57, 59], "14293": 17, "14343": 17, "13307": 17, "if_then_els": [17, 71], "IF": [17, 71], "13871": 17, "13986": 17, "13895": 17, "13080": 17, "remaind": [17, 34, 55], "13559": 17, "12109": 17, "to_list": 17, "length_to_list": 17, "of_list_to_list_opp": 17, "to_list_nil": 17, "to_list_con": 17, "to_list_hd": 17, "to_list_last": 17, "to_list_const": 17, "to_list_nth_ord": 17, "to_list_tl": 17, "to_list_append": 17, "to_list_rev_append_tail": 17, "to_list_rev_append": 17, "to_list_rev": 17, "to_list_map": 17, "to_list_fold_left": 17, "to_list_fold_right": 17, "to_list_foral": 17, "to_list_exist": 17, "to_list_in": 17, "to_list_forall2": 17, "13671": 17, "count_occ": 17, "count_occ_app": 17, "count_occ_elt_eq": 17, "count_occ_elt_neq": 17, "count_occ_bound": 17, "count_occ_repeat_eq": 17, "count_occ_repeat_neq": 17, "count_occ_uniqu": 17, "count_occ_repeat_excl": 17, "count_occ_sgt": 17, "permutation_count_occ": 17, "13804": 17, "exists_map": 17, "exists_concat": 17, "exists_flat_map": 17, "forall_concat": 17, "forall_flat_map": 17, "nth_error_map": 17, "nth_repeat": 17, "nth_error_repeat": 17, "13955": 17, "cantor": [17, 34], "to_nat": 17, "of_nat": 17, "14008": 17, "qeq_from_part": 17, "qden_cancel": 17, "qnum_cancel": 17, "qreduce_l": 17, "qreduce_r": 17, "qmult_inject_z_l": 17, "qmult_inject_z_r": 17, "qden": 17, "qnum": 17, "14087": 17, "ordersex": 17, "string_as_ot": 17, "ascii_as_ot": 17, "14096": 17, "app_eq_app": 17, "forall_nil_iff": 17, "14153": 17, "1803": 17, "hex_z_scop": 17, "hex_positive_scop": 17, "hex_n_scop": 17, "14263": 17, "14384": 17, "firstn": 17, "skipn": 17, "14406": 17, "ghc": 17, "unsafecoerc": 17, "newer": 17, "14345": 17, "14256": 17, "12567": 17, "compatibl": 17, "datadir": 17, "customiz": 17, "patch": 17, "13617": 17, "oldroot": 17, "coqprefixinstal": 17, "destdir": [17, 53], "akin": [17, 30, 55], "14258": 17, "13885": 17, "alter": [17, 35, 75], "stale": 17, "clean": [17, 53, 57, 67, 72], "13405": 17, "unix": [17, 24], "13586": 17, "store": [17, 52, 53, 57, 59, 60], "15081": 17, "15070": 17, "14666": 17, "14505": 17, "14671": 17, "10796": 17, "15046": 17, "15043": 17, "14669": 17, "14670": 17, "imper": [17, 24, 55], "bugfix": 17, "rational": [17, 55, 57], "guidelin": 17, "io": [17, 25], "v8": 17, "51": 17, "blaudeau": 17, "coolen": 17, "matthew": 17, "dempski": 17, "ignat": 17, "insarov": 17, "larri": [17, 24], "lee": [17, 77], "jr": 17, "letan": 17, "lott": 17, "yusuk": 17, "matsushita": 17, "carl": 17, "patenaud": 17, "poulin": 17, "edward": 17, "400": 17, "100": [17, 54, 60, 64, 71], "novemb": [17, 24, 77], "2020": 17, "10390": 17, "data": [17, 24, 27, 34, 36, 39, 53, 54, 55, 57, 64, 66, 77], "11604": 17, "13356": 17, "13354": 17, "loss": [17, 57], "12537": 17, "12525": 17, "12647": 17, "13501": 17, "13495": 17, "attr": [17, 29, 51], "13312": 17, "10331": 17, "12414": 17, "13188": 17, "6042": 17, "tweak": 17, "frequenc": 17, "mess": 17, "12756": 17, "12001": 17, "6785": 17, "13106": 17, "synonym": [17, 29, 37, 51, 57, 58, 64], "12653": 17, "serv": [17, 24, 25, 26, 40, 55, 57, 60], "12768": 17, "12762": 17, "13183": 17, "12586": 17, "13290": 17, "13278": 17, "13166": 17, "13165": 17, "13217": 17, "13216": 17, "illtypedinst": 17, "13376": 17, "13266": 17, "13383": 17, "11816": 17, "13386": 17, "9971": 17, "13387": 17, "12348": 17, "realli": [17, 32, 57], "presum": [17, 71], "11841": 17, "9514": 17, "modal": 17, "12099": 17, "pow_po": [17, 71], "blow": 17, "102e": 17, "reprint": [17, 66], "02": [17, 29, 53, 77], "12218": 17, "12685": 17, "12950": 17, "4738": 17, "9682": 17, "12908": 17, "mitig": [17, 57, 73], "adopt": [17, 57, 73, 75], "12986": 17, "12984": 17, "7443": 17, "10824": 17, "12979": 17, "11986": 17, "12035": 17, "12765": 17, "13265": 17, "12960": 17, "9403": 17, "10803": 17, "12965": 17, "9569": 17, "13092": 17, "13078": 17, "13415": 17, "13303": 17, "orient": [17, 24, 25, 54, 55, 57, 60, 64], "7825": 17, "4095": 17, "4413": 17, "13237": 17, "13235": 17, "occs_num": [17, 55, 58, 64], "complement": [17, 57], "13403": 17, "psatz": [17, 25], "13417": 17, "prolog": [17, 24, 60], "12399": 17, "12423": [17, 54], "info_eauto": [17, 60], "13381": 17, "11906": 17, "12246": 17, "9816": 17, "12552": 17, "zifyint63": 17, "12648": 17, "tmp": 17, "13337": 17, "13336": 17, "13373": 17, "13363": 17, "13232": 17, "10110": 17, "13028": 17, "9716": 17, "13004": 17, "dup": [17, 57], "13317": 17, "13458": 17, "13459": 17, "prim": [17, 71], "13096": 17, "13139": 17, "6261": 17, "13016": 17, "13384": 17, "12516": 17, "13388": 17, "13255": 17, "13244": 17, "noinit": [17, 29, 51, 66], "13339": 17, "13345": 17, "13344": 17, "precompil": [17, 25, 51, 64], "48": [17, 51], "13352": 17, "folder": [17, 52, 53], "coqlibinstal": [17, 53], "coqdocinstal": [17, 53], "12389": 17, "12613": 17, "12862": 17, "12845": 17, "12874": 17, "13145": 17, "epsilon": [17, 60], "modulu": 17, "converg": 17, "creal": 17, "coarser": 17, "12186": 17, "int63not": 17, "unqualifi": [17, 35, 55, 71], "12479": 17, "12454": 17, "primfloat": [17, 36, 59, 71], "primfloatnot": 17, "12556": 17, "bignum": [17, 53], "coqprim": 17, "6f62bda": 17, "12801": 17, "suppli": [17, 37, 57, 62], "12861": 17, "12860": 17, "uncurri": 17, "curri": [17, 24, 26, 66, 77], "12716": 17, "repeat_app": 17, "repeat_eq_app": 17, "repeat_eq_con": 17, "repeat_eq_elt": 17, "forall_eq_repeat": 17, "permutation_repeat": 17, "12799": 17, "app_inj_tail_iff": 17, "app_inv_head_iff": 17, "app_inv_tail_iff": 17, "12094": 17, "12093": 17, "negat": [17, 27, 54, 57, 58, 60, 62, 67], "12420": 17, "fix_f_inv": [17, 27], "fix_eq": [17, 27], "13365": 17, "gc": [17, 66], "polici": [17, 57, 74], "welcom": [17, 54], "tune": [17, 38, 42, 64], "ocamlrunparam": [17, 51, 66], "13040": 17, "11277": 17, "gmp": 17, "upstream": [17, 53], "bigint": [17, 29, 71], "11742": 17, "13007": 17, "vicent": 17, "overriden": 17, "overridden": [17, 27, 54, 57, 71, 75], "13556": 17, "opcod": 17, "13867": 17, "13870": 17, "crash": 17, "irreduc": [17, 37, 64, 71], "parrai": [17, 36], "14005": 17, "13998": 17, "marshal": 17, "14007": 17, "14006": 17, "incur": [17, 66], "14012": 17, "14011": 17, "coher": [17, 41], "organ": [17, 24, 25, 53, 54, 57], "11295": 17, "charg": 17, "chanc": [17, 53], "pool": [17, 62], "maintaint": 17, "31": 17, "abhishek": 17, "anand": 17, "boulier": 17, "carbonneaux": 17, "erika": 17, "rrika": 17, "nikita": 17, "eshkeev": 17, "xavier": [17, 77], "leroi": [17, 24, 77], "ik": 17, "mulder": 17, "antonio": 17, "nikishaev": 17, "lar": 17, "rasmusson": 17, "daniel": [17, 24], "rauglaudr": [17, 24], "talia": 17, "ringer": 17, "scinart": 17, "treinen": 17, "wiedemann": 17, "gitter": 17, "500": 17, "nan": [17, 71], "12484": 17, "12483": 17, "11368": 17, "simonbouli": 17, "postpon": [17, 58, 66], "stage": [17, 34, 42, 55, 66], "10858": 17, "9058": 17, "10202": 17, "11098": 17, "4696": 17, "5173": 17, "9098": 17, "11235": 17, "inhibit": [17, 57], "11261": 17, "10366": 17, "11600": 17, "12121": 17, "11579": 17, "7253": 17, "11585": 17, "12323": 17, "12322": 17, "12422": 17, "12418": 17, "beforehand": [17, 51, 55], "11120": 17, "11172": 17, "nicer": 17, "15e": 17, "11848": 17, "11113": 17, "uint": [17, 59, 71], "11948": 17, "11602": 17, "11650": 17, "0x2a": 17, "0xb": 17, "2ap": 17, "8808": 17, "10832": 17, "6092": 17, "7766": 17, "4690": 17, "11091": 17, "uselessli": 17, "11590": 17, "9741": 17, "12163": 17, "12159": 17, "rappli": [17, 58], "codomain": [17, 42, 71], "loop": [17, 24, 25, 51, 53, 55, 58, 60, 63], "10760": 17, "fewer": [17, 51, 58, 64, 66], "spurious": 17, "11018": 17, "nativecomput": [17, 64], "11025": 17, "11962": 17, "11963": 17, "preomega": 17, "elim_let": 17, "11370": 17, "11429": 17, "backtrac": [17, 25, 55, 59], "11755": 17, "11760": 17, "autounfold": [17, 60], "11883": 17, "12023": 17, "indirectli": [17, 24, 58, 59, 60, 74], "12146": 17, "10812": 17, "12139": 17, "12256": 17, "5764": 17, "5159": 17, "4925": 17, "11727": 17, "parenthesi": [17, 57, 66], "12326": 17, "eexist": [17, 43, 60, 66, 67], "12366": 17, "12365": 17, "11288": 17, "_eqn": 17, "eqn": [17, 40, 55, 57, 58, 67, 71], "11877": 17, "11976": 17, "pred_doubl": 17, "pred_n": 17, "add_carri": 17, "quot2": 17, "iszero": 17, "islezero": 17, "11474": 17, "11522": 17, "with_strategi": [17, 64, 71], "12129": 17, "12213": 17, "12210": 17, "zifypow": 17, "11362": 17, "11191": 17, "11436": 17, "7812": 17, "11761": 17, "12254": 17, "10343": 17, "11503": 17, "eenough": [17, 43, 58], "11740": 17, "of_goal": 17, "in_goal": 17, "11882": 17, "11981": 17, "inflat": 17, "12196": 17, "12197": 17, "8855": 17, "12253": 17, "11665": 17, "11185": 17, "unsound": [17, 34], "gradual": [17, 58], "11546": 17, "shrink": [17, 66], "11828": 17, "11663": 17, "11162": 17, "11812": 17, "12034": 17, "11258": 17, "11795": 17, "11972": 17, "width": [17, 59, 71], "12358": 17, "11618": 17, "11746": 17, "searchabout": [17, 24], "11944": 17, "7791": 17, "10747": 17, "11164": 17, "contrainst": 17, "11534": 17, "headhyp": [17, 59], "concl": [17, 59], "12295": 17, "12233": 17, "12296": 17, "12234": 17, "ocamldep": 17, "mldep": 17, "slash": [17, 57], "dumpbox": 17, "boot": 17, "11523": 17, "11589": 17, "rfrom": [17, 51], "lv": [17, 51], "11851": 17, "12097": 17, "cleanal": [17, 53], "12006": 17, "stem": 17, "12126": 17, "12211": 17, "newlin": [17, 24, 29, 53, 54, 71, 75], "text": [17, 24, 51, 52, 53, 57, 59, 66, 71, 75], "12368": 17, "11409": 17, "confusingli": [17, 58], "12005": 17, "portion": [17, 57], "foldabl": 17, "10592": 17, "py": 17, "fuzz": 17, "offset": [17, 53], "log": [17, 24, 53, 54], "timing_fuzz": [17, 53], "11302": 17, "timing_r": [17, 53], "timing_sort_bi": [17, 53], "peak": [17, 53, 66], "mem": [17, 53], "timing_include_mem": [17, 53], "timing_sort_by_mem": [17, 53], "11606": 17, "11617": 17, "html": [17, 25, 29, 53], "url": [17, 27, 52, 75, 77], "12026": 17, "7093": 17, "hyperlink": [17, 25, 29], "12033": 17, "7697": 17, "12091": 17, "11301": 17, "determinist": 17, "12027": 17, "3415": 17, "mismatch": [17, 46, 53], "throw": [17, 55], "uninform": 17, "12037": 17, "9670": 17, "12076": 17, "5030": 17, "corner": [17, 64], "12388": 17, "12387": 17, "unmaintain": 17, "11414": 17, "11415": 17, "zn2z": 17, "\u03c6": [17, 64, 71], "11686": 17, "sorted_sort": 17, "locallysorted_sort": 17, "mergesort": 17, "11885": 17, "lysxia": 17, "natord": 17, "35": [17, 27, 53], "11890": 17, "11891": 17, "11905": 17, "11909": 17, "listnot": [17, 54, 72], "11992": 17, "12073": 17, "5445": 17, "nodup_incl_nodup": 17, "nodup_permutation_bi": 17, "12120": 17, "11903": 17, "12162": 17, "bezout_comm": 17, "11127": 17, "rew": [17, 67, 77], "eqnot": 17, "11240": 17, "in_elt": 17, "in_elt_inv": 17, "app_nth2_plu": 17, "nth_middl": 17, "nth_ext": 17, "last_last": 17, "removelast_last": 17, "remove_con": 17, "remove_app": 17, "notin_remov": 17, "in_remov": 17, "in_in_remov": 17, "remove_remove_comm": 17, "remove_remove_eq": 17, "remove_length_l": 17, "remove_length_lt": 17, "in_concat": 17, "remove_concat": 17, "flat_map": [17, 24], "map_last": 17, "map_eq_con": 17, "map_eq_app": 17, "flat_map_app": 17, "flat_map_ext": 17, "nth_nth_nth_map": 17, "incl": [17, 59], "incl_nil_l": 17, "incl_l_nil": 17, "incl_cons_inv": 17, "incl_app_app": 17, "incl_app_inv": 17, "remove_incl": 17, "incl_map": 17, "incl_filt": 17, "incl_forall_in_iff": 17, "nodup_rev": 17, "nodup_filt": 17, "nodup_incl": 17, "exists_nth": 17, "exists_app": 17, "exists_rev": 17, "exists_fold_right": 17, "incl_exist": 17, "forall_app": 17, "forall_elt": 17, "forall_fold_right": 17, "incl_foral": 17, "map_ext_foral": 17, "exists_or": 17, "exists_or_inv": 17, "forall_and": 17, "forall_and_inv": 17, "exists_foral": 17, "forall_imag": 17, "concat_nil_foral": 17, "in_flat_map_exist": 17, "notin_flat_map_foral": 17, "repeat_con": 17, "repeat_to_concat": 17, "list_sum": 17, "list_max": 17, "list_sum_app": 17, "list_max_app": 17, "list_max_l": 17, "list_max_lt": 17, "misc": [17, 24, 52], "elt_eq_unit": 17, "last_length": 17, "rev_eq_app": 17, "removelast_firstn_len": 17, "cons_seq": 17, "seq_": 17, "11249": 17, "12237": 17, "lt_wf_rect1": 17, "lt_wf_rect": 17, "gt_wf_rect": 17, "lt_wf_double_rect": 17, "11335": 17, "11350": 17, "11880": 17, "permutation_refl": 17, "permutation_morph_transp": 17, "permutation_app_rot": 17, "permutation_app_swap_app": 17, "permutation_app_middl": 17, "permutation_middle2": 17, "permutation_elt": 17, "permutation_foral": 17, "permutation_exist": 17, "permutation_forall2": 17, "permutation_flat_map": 17, "permutation_list_sum": 17, "permutation_list_max": 17, "permutation_app_inv_m": 17, "permutation_vs_elt_inv": 17, "permutation_vs_cons_inv": 17, "permutation_vs_cons_cons_inv": 17, "permutation_map_inv": 17, "permutation_imag": 17, "permutation_elt_map_inv": 17, "transposit": 17, "permutation_transp": 17, "permutation_transp_sym": 17, "permutation_transp_equiv": 17, "permutation_transp_con": 17, "permutation_permutation_transp": 17, "permutation_ind_transp": 17, "11946": 17, "pat": [17, 55], "11957": 17, "boolord": 17, "bool_as_ot": 17, "bool_as_dt": 17, "12008": 17, "nth_order": 17, "nth_order_hd": 17, "nth_order_tl": 17, "nth_order_ext": 17, "nth_order_replace_eq": 17, "nth_order_replace_neq": 17, "replace_id": 17, "replace_replace_eq": 17, "replace_replace_neq": 17, "map_id": 17, "map_map": 17, "map_ext_in": 17, "map_ext": 17, "forall2": 17, "forall_impl": 17, "forall_foral": 17, "forall_nth_ord": 17, "forall2_nth_ord": 17, "12014": 17, "orb_negb_l": 17, "andb_negb_l": 17, "implb_true_iff": 17, "implb_false_iff": 17, "implb_true_r": 17, "implb_false_r": 17, "implb_true_l": 17, "implb_false_l": 17, "implb_sam": 17, "implb_contraposit": 17, "implb_negb": 17, "implb_curri": 17, "implb_andb_distrib_r": 17, "implb_orb_distrib_r": 17, "implb_orb_distrib_l": 17, "12018": 17, "cpermut": 17, "12031": 17, "orderedtypeex": 17, "12044": 17, "eth": 17, "protonmail": 17, "12015": 17, "tan_is_inj": 17, "tan_inj": 17, "atan_right_inv": 17, "tan_atan": 17, "ratan": 17, "9803": 17, "crzero": 17, "crone": 17, "cr_of_q": 17, "constructiver": 17, "constructiveminmax": 17, "constructivepow": 17, "11725": 17, "12287": 17, "12288": 17, "cons_rlist": 17, "app_rlist": 17, "app": [17, 26, 34, 35, 55, 58, 67], "11404": 17, "trigonometr": [17, 24], "asin": 17, "aco": 17, "sine": 17, "cosin": 17, "horizont": [17, 29, 53, 71, 75], "mirror": 17, "rsqr": 17, "sqrt": [17, 59], "posreal": 17, "extocamlnativestr": 17, "10486": 17, "extrhaskellstr": 17, "extrhaskellbas": 17, "12263": 17, "12257": 17, "12258": 17, "restructur": [17, 24], "43": [17, 53, 54], "11601": 17, "11871": 17, "11914": 17, "12148": 17, "12172": 17, "12239": 17, "12330": 17, "inspir": [17, 24, 75], "led": [17, 24], "11183": 17, "11314": 17, "11423": 17, "11705": 17, "11718": 17, "11720": 17, "11961": 17, "12103": 17, "11869": 17, "12150": 17, "12224": 17, "12286": 17, "thoroughli": [17, 55], "understood": [17, 32, 34, 36, 60, 71, 75], "doc_grammar": 17, "signific": [17, 24, 51, 63, 66], "revis": [17, 24, 55], "9884": 17, "10614": 17, "11797": 17, "11913": 17, "11958": 17, "11960": 17, "sphinx_rtd_them": 17, "sphinxcontrib": 17, "bibtex": 17, "11245": 17, "12523": 17, "11121": 17, "12683": 17, "12682": 17, "12572": 17, "12571": 17, "12541": 17, "12228": 17, "12594": 17, "12595": 17, "ast_closure_term": 17, "12708": 17, "12707": 17, "12677": 17, "12513": 17, "undeprec": 17, "12678": 17, "11970": 17, "12562": 17, "10988": 17, "twice": [17, 34, 51, 59, 64, 66], "row": [17, 46], "meantim": 17, "12583": 17, "12582": 17, "12738": 17, "7015": 17, "13331": 17, "13330": 17, "undetect": [17, 46], "lone": [17, 71], "12946": 17, "13026": 17, "12775": 17, "13018": 17, "hott": [17, 40], "12847": 17, "12846": 17, "12816": 17, "12787": 17, "13247": 17, "12773": 17, "12992": 17, "12857": 17, "12837": 17, "13301": 17, "13298": 17, "13351": 17, "13349": 17, "12754": 17, "12752": 17, "advertis": 17, "12772": 17, "sync": 17, "13063": 17, "13062": 17, "12794": 17, "13067": 17, "12793": 17, "12972": 17, "13011": 17, "12332": 17, "13436": 17, "13432": 17, "13468": 17, "13456": 17, "brought": 17, "scale": [17, 24, 51, 57, 64, 71], "binary64": [17, 36], "ieee": [17, 36, 77], "754": [17, 36], "relianc": 17, "bidirect": 17, "axiomatis": 17, "critic": [17, 24, 33, 54, 59], "61": [17, 53, 54, 57], "adam": 17, "allai": 17, "helg": 17, "bahmann": 17, "langston": 17, "barrett": 17, "bertholon": 17, "michel": [17, 24], "caci": 17, "dabrowski": 17, "arma\u00ebl": 17, "gu\u00e9neau": 17, "florent": 17, "hivert": 17, "shachar": 17, "itzhaki": 17, "leli\u00e8vr": 17, "nichola": 17, "lewycki": 17, "jose": 17, "fernando": 17, "lopez": 17, "fernandez": 17, "lyng": 17, "alexandr": 17, "moin": 17, "nash": 17, "nawrocki": 17, "rand": 17, "jp": 17, "rodi": 17, "spanjel": 17, "claud": 17, "stolz": 17, "wilcox": 17, "exhaust": [17, 29, 46, 53, 54, 55, 59], "everybodi": 17, "extent": [17, 71], "influenc": [17, 24, 34], "sixth": 17, "cycl": 17, "assist": [17, 24, 25, 33, 65, 75], "2000": [17, 77], "300": [17, 24], "75": [17, 27, 71], "pari": [17, 77], "2019": [17, 77], "devis": 17, "processor": [17, 36], "nearest": [17, 54], "axiomat": [17, 24, 36, 54, 71], "floataxiom": 17, "9867": 17, "8276": 17, "10439": 17, "10664": 17, "10811": 17, "10049": 17, "10076": 17, "disj": [17, 71], "10167": 17, "10215": 17, "10441": 17, "telescop": 17, "10758": 17, "10757": 17, "human": [17, 25, 58, 75], "prose": 17, "10985": 17, "10996": 17, "10997": 17, "3282": 17, "11132": 17, "thing": [17, 52, 54, 55, 59, 67, 72], "9883": 17, "10180": 17, "connect": [17, 25, 57, 62, 71], "10963": 17, "simple_intropattern": [17, 55, 58, 67, 71, 72], "9288": 17, "cope": 17, "9856": 17, "8898": 17, "7886": 17, "9848": 17, "5155": 17, "10318": 17, "10765": 17, "10772": 17, "to_n": 17, "10774": 17, "9162": 17, "multisuccess": 17, "10966": 17, "10965": 17, "9114": 17, "10002": 17, "10289": 17, "white": [17, 57], "10324": 17, "10088": 17, "tag": [17, 24, 51, 52, 57, 66], "unwant": 17, "under_rel": 17, "unprotect": [17, 57], "10022": 17, "void": 17, "empty_set": [17, 40, 62, 71], "10932": 17, "inj_compr": 17, "11136": 17, "9530": 17, "3632": 17, "3890": 17, "4638": 17, "10173": 17, "10185": 17, "10277": 17, "10291": 17, "10476": 17, "prooftre": [17, 59, 66], "10489": 17, "4504": 17, "10399": 17, "10400": 17, "10494": 17, "addpath": [17, 24], "addrecpath": [17, 24], "delpath": [17, 24], "11187": 17, "8642": 17, "shorthand": [17, 41, 54, 57, 64], "refrom": [17, 51], "rifrom": [17, 51], "10245": 17, "vdfile": 17, "coexist": 17, "10947": 17, "11068": 17, "orderedtyp": [17, 60], "ordered_typ": [17, 60], "9772": 17, "zlogarithm": [17, 24], "zsqrt_compat": 17, "9811": 17, "constructivecauchyr": 17, "10445": 17, "classicaldedekindr": 17, "dedekind": 17, "omnisci": 17, "rdefinit": 17, "raxiom": 17, "10827": 17, "nth_error": 17, "10651": 17, "10731": 17, "morgan": 17, "law": [17, 24, 25], "classicalfact": 17, "10895": 17, "08": [17, 77], "10471": 17, "11081": 17, "11360": 17, "11361": 17, "11422": 17, "10657": 17, "11233": 17, "11231": 17, "jai": 17, "11276": 17, "10750": 17, "11311": 17, "9532": 17, "9490": 17, "10762": 17, "11203": 17, "10971": 17, "9725": 17, "11263": 17, "11063": 17, "11242": 17, "11270": 17, "11337": 17, "11430": 17, "cofix": [17, 25, 28, 29, 31, 44, 54, 55, 57, 64, 67], "11241": 17, "11428": 17, "11255": 17, "11254": 17, "11280": 17, "camlpkg": [17, 53], "unpack": 17, "mllib": [17, 53], "11357": 17, "11394": 17, "11353": 17, "gtksourceview": [17, 52], "autocomplet": 17, "11400": 17, "ranalysi": [17, 24], "ranalysis_reg": 17, "11396": 17, "source_date_epoch": 17, "11227": 17, "11811": 17, "11530": 17, "9517": 17, "9519": 17, "9521": 17, "11331": 17, "11859": 17, "10008": 17, "snyke7": 17, "11595": 17, "11131": 17, "11123": 17, "11102": 17, "11329": 17, "11114": 17, "11783": 17, "boro": 17, "12116": 17, "12045": 17, "12223": 17, "12152": 17, "12255": 17, "12070": 17, "gtk": [17, 52], "gtk_csd": 17, "12060": 17, "11080": 17, "random": 17, "12068": 17, "11943": 17, "12106": 17, "11506": 17, "stabil": 17, "6914": 17, "8817": 17, "discov": [17, 53], "9602": 17, "sigt2": [17, 27, 67], "sigt_of_sigt2": 17, "projt3_eq": 17, "8451": 17, "8850": 17, "8965": 17, "02e": [17, 29], "01": [17, 53], "8764": 17, "9142": 17, "7769": 17, "7385": 17, "novel": [17, 25], "vener": 17, "fourier": [17, 24], "8457": 17, "fr\u00e9deric": 17, "mytac": [17, 55, 57], "6705": 17, "liner": [17, 25], "contextu": [17, 24, 25, 31, 41], "rh": [17, 55, 57, 59], "eq_big": [17, 57], "9651": 17, "7634": 17, "winterhalt": [17, 77], "186": 17, "lablgtk2": 17, "9279": 17, "garrigu": 17, "sogetrop": 17, "smart": 17, "greek": [17, 29, 75], "8560": 17, "05": 17, "7522": 17, "ar\u00eda": 17, "fork": 17, "ast": [17, 24, 37], "ship": [17, 66], "7902": 17, "7979": 17, "8161": 17, "8667": 17, "8945": 17, "tradit": [17, 24, 51, 63], "6857": 17, "bunch": [17, 57], "tutori": [17, 25, 63, 74, 77], "plugin_tutori": [17, 63, 74], "trunk": 17, "latest": [17, 25, 50], "deploi": 17, "barenblat": 17, "joachim": 17, "breitner": 17, "chapoton": 17, "lukasz": 17, "czajka": 17, "dalrympl": 17, "mat\u011bj": 17, "grabovsk\u00fd": 17, "gregersen": 17, "mirai": 17, "ikebuchi": 17, "matej": 17, "ko\u0161\u00edk": 17, "sam": [17, 77], "pablo": 17, "kuper": 17, "darryl": 17, "nick": 17, "marech": 17, "kayla": 17, "ngan": 17, "ryan": 17, "scott": [17, 24], "gan": 17, "shen": 17, "kamil": 17, "trzci\u0144ski": 17, "whitequark": 17, "fifth": 17, "2500": 17, "650": [17, 24, 54], "santiago": 17, "chile": 17, "april": [17, 77], "9095": 17, "topfil": 17, "\u00e0": [17, 24, 55], "foolib": 17, "8991": 17, "8989": 17, "9876": 17, "8870": 17, "stdout": [17, 75], "python2": 17, "python3": 17, "9872": 17, "9767": 17, "9705": 17, "9906": 17, "coqiderc": [17, 52], "10014": 17, "induc": [17, 24], "8217": 17, "8215": 17, "262": 17, "nonprimit": 17, "8829": 17, "funind": [17, 59, 72], "8488": 17, "undelimit": [17, 59, 71], "7135": 17, "9214": 17, "shorten": [17, 28], "gcd": [17, 59], "9874": 17, "9840": 17, "9844": 17, "8638": 17, "10061": 17, "9681": 17, "7894": 17, "8555": 17, "7309": 17, "romega": [17, 24], "8419": 17, "8987": 17, "div_mod": 17, "quot_rem": 17, "8062": 17, "conform": 17, "preexist": 17, "9524": 17, "7632": 17, "9996": 17, "5752": 17, "10012": 17, "10017": 17, "10053": 17, "10059": 17, "post": [17, 24, 53, 57], "9854": 17, "disciplin": [17, 24, 26], "across": [17, 52, 54, 55, 57, 59, 73], "9341": 17, "inE": 17, "pred_sort": 17, "predtyp": 17, "pred_class": 17, "mkpredtyp": 17, "nonproptyp": 17, "_not_": 17, "relpr": 17, "preimag": 17, "9995": 17, "8820": 17, "8791": 17, "8779": 17, "9001": 17, "extra_scop": 17, "9117": 17, "9160": 17, "8819": 17, "9307": 17, "9300": 17, "9270": 17, "9825": 17, "9274": 17, "9410": 17, "9509": 17, "9508": 17, "9364": 17, "9363": 17, "8094": 17, "9829": 17, "obvious": 17, "9743": 17, "3219": 17, "alloc": [17, 51], "clever": [17, 59, 64], "9078": 17, "8920": 17, "9306": 17, "bveq": 17, "bvxor": 17, "bvand": 17, "bvor": 17, "bvneg": 17, "8171": 17, "8365": 17, "bv2n": 17, "8815": 17, "9013": 17, "7221": 17, "9425": 17, "fset": [17, 60], "equalitiesfact": 17, "pairusualdecidabletypeful": 17, "9984": 17, "8669": 17, "credit": [17, 24], "histori": [17, 25, 26, 53, 59, 66], "histor": [17, 25, 44, 55], "9133": 17, "9668": 17, "9939": 17, "9964": 17, "10085": 17, "10205": 17, "10302": 17, "10301": 17, "10305": 17, "9336": 17, "instabl": 17, "gtk3": 17, "10360": 17, "9885": 17, "10019": 17, "421": 17, "9294": 17, "hoist": 17, "gather": [17, 24, 27, 55, 57, 58], "govern": [17, 41, 44, 52, 67], "9918": 17, "10336": 17, "10430": 17, "10361": 17, "improp": 17, "extractor": [17, 24], "10577": 17, "7348": 17, "splitat": 17, "uncon": 17, "9379": 17, "konstantino": 17, "kalla": 17, "10806": 17, "9512": 17, "10904": 17, "10891": 17, "9851": 17, "10899": 17, "10894": 17, "10852": 17, "10842": 17, "10897": 17, "4741": 17, "nonlinear": 17, "11128": 17, "11039": 17, "destko": 17, "11052": 17, "11048": 17, "11014": 17, "8459": 17, "11090": 17, "11033": 17, "uneven": 17, "dimens": 17, "resiz": 17, "11070": 17, "10956": 17, "11069": 17, "11058": 17, "11000": 17, "10728": 17, "autonom": 17, "vectordef": 17, "coordin": [17, 24], "homebrew": 17, "emac": [17, 51, 52, 59, 66], "ybertot": 17, "l\u00e9o": 17, "andr\u00e8": 17, "rin": 17, "arakaki": 17, "siddharth": 17, "bhat": 17, "timothi": 17, "bourk": 17, "ambrois": 17, "lafont": [17, 77], "leonida": 17, "lampropoulo": 17, "peter": [17, 24], "lefanu": 17, "lumsdain": 17, "sven": 17, "hallberg": 17, "cyprien": 17, "mangin": 17, "perri": 17, "metzger": 17, "grayson": 17, "paul": 17, "steckler": 17, "zeimer": 17, "fourth": [17, 54, 57], "decentr": 17, "000": [17, 53, 54], "consortium": 17, "2018": 17, "nameless": [17, 77], "lazymatch": 17, "constr_eq": 17, "constr_eq_strict": [17, 54], "constr_eq_nouniv": 17, "unfocu": [17, 66], "string_scop": [17, 71], "whichev": 17, "n2bv_size": 17, "n2bv_gen": 17, "int_scop": 17, "uint_scop": 17, "dec_int_scop": [17, 71], "dec_uint_scop": [17, 71], "stringsyntax": 17, "asciisyntax": 17, "binintdef": 17, "parith": 17, "binposdef": [17, 59], "binnatdef": [17, 59], "coq88": 17, "download": [17, 27, 53, 77], "gist": 17, "jasongross": 17, "5d4558edf8f5c2c548a3d96c17820169": 17, "okj": 17, "cup": [17, 26, 34, 51], "coffe": 17, "noi": [17, 51], "coqflag": [17, 53], "coqchkflag": [17, 53], "coqdocflag": [17, 53], "contact": [17, 52], "compani": [17, 66], "mainten": [17, 25, 58, 63], "ssrhave": [17, 57], "notcresolut": [17, 57], "loadabl": 17, "server": [17, 52], "parallel": [17, 24, 25, 38, 51, 52, 53, 54, 57, 76], "fledg": 17, "coqidetop": 17, "worker": [17, 25, 52, 54], "_x_": [17, 57], "idiom": [17, 54, 55, 57, 66], "octal": 17, "hex": 17, "pg": [17, 66], "list_scop": [17, 64, 71], "vector_scop": 17, "life": 17, "destructur": [17, 24, 25, 32, 40], "overhaul": 17, "peopl": 17, "calvin": 17, "beck": 17, "heiko": 17, "becker": 17, "richard": 17, "ford": 17, "laurenc": [17, 57], "rideau": [17, 57], "zyuzin": 17, "lint": [17, 53], "track": [17, 24, 51, 53, 55, 57], "wiki": [17, 64], "bugtrack": 17, "44": 17, "pascal": 17, "hebb": 17, "johann": 17, "kloo": 17, "toni": 17, "farzon": 17, "lotfi": 17, "rapha\u00ebl": 17, "monat": [17, 24], "matt": 17, "quinn": 17, "sigurd": 17, "schneider": 17, "vassor": 17, "vadim": 17, "zaliva": 17, "roadmap": 17, "tracker": [17, 54], "brain": 17, "storm": 17, "amin": 17, "timani": 17, "emploi": [17, 42], "march": [17, 24, 77], "occas": 17, "leftmost": [17, 34, 41, 58], "factoriz": [17, 46], "perf": [17, 64], "1362": 17, "uselocaldef": 17, "restart_tim": [17, 54], "finish_tim": [17, 54], "time_constr": [17, 25], "optimize_heap": [17, 66], "heap": [17, 54, 66], "garbag": [17, 75], "dtauto": [17, 62], "unintendedli": 17, "give_up": 17, "appcontext": 17, "older": [17, 29, 51, 67], "ongo": [17, 63], "4129": 17, "boundari": [17, 54], "5726": 17, "linter": [17, 51], "geoproof": 17, "faq": 17, "decimalfact": 17, "decimalnat": 17, "decimalpo": 17, "decimaln": 17, "decimalz": 17, "decimalstr": 17, "concaten": [17, 26, 54, 55, 67], "zpo": 17, "l2r": 17, "asynchron": [17, 25, 66, 76], "7333": 17, "7695": 17, "7615": 17, "7723": 17, "7462": 17, "mileston": 17, "pdf": [17, 29, 77], "toler": 17, "eassert": [17, 43, 58], "redesign": [17, 24], "palat": [17, 55], "safer": [17, 24], "writer": [17, 29, 55], "txt": [17, 24, 53], "streamlin": [17, 24], "sibut": 17, "pinot": 17, "bign": 17, "bigz": [17, 53], "bigq": 17, "archiv": [17, 77], "softwar": [17, 24, 25, 59, 77], "kit": 17, "prepar": [17, 24], "regularli": 17, "travi": 17, "bell": 17, "marti": 17, "pierc": 17, "r\u00e9gi": 17, "giana": 17, "stell": 17, "strub": 17, "road": 17, "attract": 17, "hopefulli": [17, 55], "propos": [17, 24, 34, 54], "publicli": 17, "upcom": 17, "foundat": [17, 24, 29, 54, 57, 77], "august": [17, 24], "2017": 17, "bare": [17, 71], "existt": [17, 27, 67, 71], "ever": [17, 52, 55, 57, 67, 71], "h2": [17, 34, 43, 54, 55, 57, 58, 67], "eq_sigt_rect": 17, "sig2": [17, 27, 35, 67], "eq_sig": [17, 67], "couterbal": 17, "outperform": 17, "ymmv": 17, "miller": 17, "fairli": [17, 57], "constr_with_bind": 17, "open_constr_with_bind": 17, "epos": [17, 43, 58, 71], "eset": [17, 43, 58], "erememb": [17, 43, 58], "4890": 17, "unfocus": [17, 34, 55, 59, 66, 67], "fashion": [17, 24, 51], "someon": 17, "metric": 17, "weight": 17, "propextension": 17, "setoidchoic": 17, "choicefact": 17, "powerrz": 17, "strengthen": [17, 35, 57, 67], "jmeq_eq_dep": 17, "4912": 17, "inr": [17, 27, 40], "inr_izr_inz": 17, "camlp4": [17, 24], "overview": [17, 25, 71], "retro": 17, "ocamlc": 17, "ocamlopt": 17, "race": 17, "cmi": 17, "1859": 17, "2884": 17, "3613": 17, "3943": 17, "3994": 17, "4250": 17, "4709": 17, "4720": 17, "4824": 17, "4844": 17, "4911": 17, "5026": 17, "5233": 17, "5275": 17, "5315": 17, "5336": 17, "5360": 17, "5390": 17, "5414": 17, "5417": 17, "5420": 17, "5439": 17, "5449": 17, "5475": 17, "5476": 17, "5482": 17, "5501": 17, "5507": 17, "5520": 17, "5523": 17, "5524": 17, "5553": 17, "5577": 17, "5578": 17, "5589": 17, "5597": 17, "5598": 17, "5607": 17, "5618": 17, "5619": 17, "5620": 17, "5641": 17, "5648": 17, "5651": 17, "5671": 17, "5730": 17, "unrespons": 17, "ram": 17, "06": [17, 24, 53, 77], "6677": 17, "450": 17, "art": [17, 52], "brand": 17, "irrefut": [17, 25, 32, 40, 57], "ltacprof": 17, "tobia": 17, "tebbi": 17, "s\u00e9bastien": 17, "hinder": 17, "refactor": [17, 64], "gregori": 17, "malecha": 17, "throughout": [17, 29], "boutilli": 17, "clerc": 17, "ricki": 17, "elrod": 17, "jonathan": 17, "leivent": 17, "2016": 17, "symptom": 17, "\u03bb": [17, 24, 26, 31, 34, 38, 52, 54, 57, 66, 77], "fixabl": 17, "retyp": 17, "coq85": [17, 31, 77], "seriou": [17, 71], "pat1": 17, "patn": 17, "is_ind": [17, 54], "is_const": 17, "is_proj": 17, "is_constructor": 17, "notypeclass": [17, 58], "regexp": [17, 60], "goe": [17, 53, 55, 59, 66], "scrutine": 17, "5248": 17, "architectur": [17, 24, 29], "5380": 17, "5574": 17, "5205": 17, "5568": 17, "5019": 17, "5550": 17, "5546": 17, "5535": 17, "5486": 17, "5522": 17, "var": [17, 24, 26, 54, 58], "5526": 17, "5255": 17, "3659": 17, "5300": 17, "outdat": 17, "5487": 17, "5377": 17, "4306": 17, "5435": 17, "Be": [17, 75], "5132": 17, "comand": 17, "resilient_command": 17, "5365": 17, "5244": 17, "4969": 17, "five": [17, 27, 64], "carst": 17, "tankink": 17, "outcom": [17, 51, 53, 54, 67], "pave": 17, "smarter": 17, "makariu": 17, "wenzel": 17, "pide": 17, "jedit": 17, "coqoon": 17, "alexand": 17, "faithful": 17, "jesper": [17, 77], "bengtson": 17, "fund": 17, "paral": 17, "itp": [17, 77], "french": 17, "anr": 17, "justifi": [17, 27], "partli": [17, 57], "ia": 17, "princeton": 17, "compliant": 17, "unival": 17, "homotopi": 17, "channel": [17, 51], "braibant": 17, "benchmark": [17, 54], "greg": 17, "marc": 17, "lasson": 17, "half": [17, 24, 37, 66], "notin": [17, 26], "fran\u00e7oi": [17, 57], "ripault": 17, "2015": [17, 24], "decemb": [17, 24, 77], "omegatact": 17, "nonstandard": 17, "accident": [17, 57], "beginn": [17, 25], "projt1": [17, 27], "unchang": [17, 54, 57, 58, 60, 64, 66], "vertic": [17, 59, 71], "param": 17, "mkr": 17, "heavili": 17, "foo_rect": 17, "foo_rec": 17, "2693": 17, "nonrecurs": [17, 37, 40, 67, 72], "searchrewrit": [17, 24], "searchpattern": [17, 24], "retriev": [17, 51, 54, 59, 60, 77], "footprint": 17, "pipe": 17, "solvabl": [17, 58, 62], "repars": [17, 54], "combinator": 17, "explos": 17, "multimatch": 17, "coqworkmgr": 17, "revgoal": 17, "indefinit": 17, "accompani": 17, "materi": [17, 24, 25, 50, 57], "shelve_unifi": [17, 58], "proof_admit": 17, "fundament": [17, 24, 31, 57], "tryif": [17, 25], "2680": 17, "supersed": 17, "fly": [17, 55, 57], "borrow": 17, "forthcom": 17, "ipat": [17, 57], "spent": [17, 51, 53, 54], "type_term": [17, 25], "piecewis": 17, "friendli": [17, 24, 52], "premis": [17, 24, 28, 35, 57, 60, 66], "residu": [17, 57], "discontinu": 17, "info_auto": [17, 60], "info_trivi": 17, "dumpgraph": 17, "checkproof": 17, "concurr": 17, "yellow": [17, 52], "editor": [17, 52, 53, 77], "retract": 17, "lock": [17, 25], "area": 17, "detach": [17, 52], "screen": [17, 52, 59], "station": 17, "coq_color": 17, "rocqlib": [17, 51, 53, 59, 71], "toploop": 17, "intf": 17, "constrexpr": 17, "glob_term": 17, "coqrunbyteflag": 17, "blank": [17, 24, 29, 53], "comma": [17, 46, 51, 52, 55, 57, 74], "coqtoolsbyteflag": 17, "8388851": 17, "8388607": 17, "randomli": 17, "change_arg": 17, "make_change_arg": 17, "loos": [17, 60], "lax": [17, 55, 60], "unload": 17, "sublemma": 17, "subcompon": [17, 51], "evarmap": 17, "leak": 17, "unsafe_": 17, "type_of": 17, "unsafe_type_of": 17, "e_type_of": 17, "e_": [17, 35], "tacmach": 17, "pf_type_of": 17, "pf_unsafe_type_of": 17, "lack": [17, 53, 54, 57], "coq84": 17, "admitaxiom": 17, "c1": [17, 46, 57, 67, 71], "cn": 17, "4588": 17, "merlin": [17, 53], "compare_cas": 17, "prod_appvect": 17, "econstructor": [17, 43, 67], "get_current_context": 17, "4603": 17, "4630": 17, "20x": 17, "4627": 17, "4623": 17, "4591": 17, "brows": [17, 25, 27, 52, 57, 73], "resili": [17, 25], "4614": 17, "uninterrupt": 17, "ascrib": 17, "4533": 17, "win": 17, "kill": 17, "unreli": 17, "waitpid": 17, "4369": 17, "4608": 17, "output_valu": 17, "4607": 17, "4105": 17, "poor": 17, "4596": 17, "broke": 17, "week": 17, "4544": 17, "betaiota": 17, "4540": 17, "4580": 17, "4582": 17, "4683": 17, "stm": 17, "4542": 17, "4574": 17, "invalid_argu": [17, 55], "splay_ar": 17, "4547": 17, "stock": 17, "4530": 17, "4537": 17, "4522": 17, "4373": 17, "3826": 17, "4495": 17, "metasyntax": 17, "4511": 17, "4503": 17, "4519": 17, "oop": 17, "4506": 17, "indrec": 17, "4548": 17, "checksum": [17, 51], "4097": 17, "4398": 17, "4450": 17, "4677": 17, "4644": 17, "4725": 17, "placehold": [17, 43, 44, 51, 57, 58, 66, 71], "4747": 17, "4752": 17, "4777": 17, "4818": 17, "undefin": [17, 28], "4823": 17, "remot": 17, "counter": [17, 62], "thread": 17, "socket": 17, "4841": 17, "4851": 17, "4858": 17, "hd": [17, 30, 34, 57, 72], "4880": 17, "nsatz_comput": 17, "certif": 17, "4881": 17, "synchron": [17, 24, 52], "4882": 17, "4069": 17, "4718": 17, "4876": 17, "4780": 17, "4673": 17, "4754": 17, "4769": 17, "3886": 17, "4994": 17, "typo": [17, 44], "5008": 17, "md5": 17, "openbsd": 17, "5007": 17, "4606": 17, "5001": 17, "clenv_refine_in": 17, "2336": 17, "4832": 17, "extran": [17, 52], "4947": 17, "4156": 17, "4871": 17, "5043": 17, "5062": 17, "5065": 17, "5077": 17, "5095": 17, "4887": 17, "4762": 17, "4970": 17, "4529": 17, "4416": 17, "4863": 17, "5123": 17, "3209": 17, "5097": 17, "wrt": [17, 24], "5150": 17, "subsystem": [17, 24], "prerequisit": [17, 53], "3941": 17, "4822": 17, "3479": 17, "5127": 17, "5102": 17, "parse_entri": 17, "pcm": 17, "logarithm": 17, "graphic": [17, 25, 29, 51, 52], "textual": [17, 46, 71], "glondu": 17, "confid": [17, 24, 25], "lw11": [17, 77], "permiss": [17, 53], "chung": 17, "kil": 17, "hur": 17, "heq": [17, 54, 67], "is_evar": [17, 54], "has_evar": 17, "came": 17, "analyz": [17, 40, 57, 67], "black": [17, 29], "andrew": [17, 77], "appel": 17, "unprov": [17, 43, 58], "frac": [17, 26, 31, 34, 35, 38], "zar": 17, "\u00e9lie": 17, "soubiran": 17, "chlipala": 17, "why3": 17, "lri": [17, 24, 77], "matthia": 17, "puech": 17, "narboux": 17, "debian": 17, "tom": 17, "princ": 17, "c\u00e9dric": 17, "auger": 17, "baeld": 17, "dan": [17, 24, 77], "herm": 17, "eeli": 17, "weegen": 17, "2011": [17, 77], "pcompar": 17, "compare_cont": 17, "z_le_gt_dec": 17, "shiftl": 17, "shiftr": 17, "theorylist": 17, "cv": [17, 51], "mid": 17, "juli": [17, 24], "todo": 17, "moment": [17, 26, 52, 53, 54], "zpred": 17, "1912": 17, "2236": 17, "nocor": [17, 60], "2188": 17, "pseudo": [17, 57, 60], "tabul": [17, 24, 57], "substr": [17, 59], "_subproof": [17, 59, 66], "private_": [17, 59], "xx": 17, "aren": [17, 52, 53, 54, 58, 73, 75], "2168": 17, "lcm": [17, 59], "log2": [17, 59], "binnum": [17, 59, 71], "regroup": 17, "add_0_l": 17, "add_comm": [17, 59, 64], "add_assoc": [17, 59], "zplus_comm": 17, "binpo": [17, 59], "spite": 17, "incompatibili": 17, "infam": 17, "ternari": 17, "zle": 17, "pos_sub": 17, "truncat": [17, 57], "zodiv": 17, "floor": 17, "z2nat": 17, "n2z": 17, "nmake_gen": 17, "nmake": 17, "rework": 17, "creation": [17, 24, 43, 60], "vcon": [17, 67], "vectornot": 17, "eq_rect_r": [17, 27], "iter_nat": 17, "nat_it": 17, "dont": [17, 59], "hash": 17, "cons": 17, "alongsid": 17, "usecamlp4": 17, "aspect": [17, 24, 46], "itarget": 17, "ocamlbuild": 17, "cross": [17, 24, 35, 38, 64, 66, 71], "mingw": 17, "truli": [17, 57], "accessopaqu": 17, "layout": 17, "cst1": 17, "cst2": 17, "2555": 17, "subprocess": 17, "relaunch": 17, "xp": 17, "sp1": 17, "dialect": 17, "2357": 17, "xdg_config_hom": [17, 51, 52], "acceler": [17, 52], "xdg_data_hom": [17, 51, 53], "xdg_data_dir": [17, 51], "rc": [17, 24], "mlpack": [17, 53], "preproccess": 17, "ml4": 17, "mlihtml": 17, "config": [17, 51, 52], "dstroot": 17, "backto": [17, 59], "unavail": 17, "resum": 17, "reintroduc": [17, 57], "ergo": 17, "yice": 17, "cvc3": 17, "z3": 17, "cvcl": 17, "harvei": 17, "zenon": 17, "gwhy": 17, "why2": 17, "suitabl": [17, 41, 52], "mset": 17, "msetavl": 17, "ed": [17, 24], "xyz": 17, "spirit": [17, 34, 55], "case_eq": 17, "2489": 17, "setoidpermut": 17, "partit": 17, "evolut": [17, 77], "evolv": [17, 24, 37, 52, 54], "intertwin": [17, 57], "cascad": 17, "march\u00e9": [17, 24], "usefulli": 17, "garillot": 17, "robin": [17, 77], "green": [17, 29, 52, 66], "lescuy": 17, "cast\u00e9ran": [17, 77], "excel": 17, "2010": 17, "eq_tru": 17, "heterogen": [17, 67], "proper_prf": 17, "courtesi": 17, "classical_prop": 17, "gappa": 17, "2104": 17, "groebner": 17, "t2": [17, 34, 42], "edestruct": [17, 43, 58, 67], "exfalso": [17, 58], "falso": [17, 58], "quodlibet": [17, 58], "upward": [17, 24], "uncapit": 17, "danger": 17, "weird": 17, "gain": [17, 24], "legal": [17, 31, 34], "harsh": 17, "flatten": 17, "unappli": 17, "extrocaml": 17, "big_int": 17, "hard": [17, 55, 59, 64], "wire": [17, 55], "expr": [17, 54, 55, 71], "handi": [17, 71], "conv_expr": 17, "compare_dec": [17, 24], "nat_compar": 17, "lt_eq_lt_dec": 17, "nat_compare_alt": 17, "zlt_gt_succ": 17, "zlt_succ_gt": 17, "permtat": 17, "set_map": 17, "worst": [17, 59], "ln": 17, "permutsetoid": 17, "heapsort": [17, 24], "decidabletyp": 17, "orderstac": 17, "genericminmax": 17, "compspec": 17, "flavor": [17, 37, 71], "trunc": 17, "beautifi": [17, 51], "reformat": 17, "revamp": 17, "offsid": 17, "whitespac": [17, 24, 53, 75], "italic": [17, 75], "_underscores_": 17, "toc": [17, 75], "header": [17, 51, 75], "titl": [17, 52, 75], "interpol": [17, 53, 75], "typeset": [17, 75], "dynlink": [17, 59], "cma": 17, "cmxa": 17, "novelti": [17, 25], "landmark": 17, "arbitrarili": [17, 58, 71], "hi": [17, 24, 34], "concept": [17, 24, 25, 31, 57, 77], "krivin": [17, 64], "stengl": 17, "positivstellensatz": [17, 25], "motzkin": 17, "plane": [17, 24, 25], "deliv": 17, "importantli": 17, "knowledg": [17, 25, 71], "comfort": [17, 46], "supervis": [17, 24], "sile": 17, "alon": [17, 24, 34, 67], "hijack": 17, "malici": [17, 51], "maman": 17, "mimram": 17, "connor": 17, "cezari": 17, "kaliszyk": 17, "milad": 17, "niqui": 17, "partner": 17, "marel": 17, "microsoft": 17, "radboud": 17, "nijmegen": [17, 24], "particip": [17, 57], "palaiseau": 17, "2008": [17, 77], "overload": [17, 24, 25, 71], "id1": 17, "idn": 17, "acc_rect": [17, 27, 34], "zeta": [17, 24, 31, 55, 64], "setoidlist": 17, "zmisc": 17, "troubl": [17, 54, 64, 67], "setistyp": 17, "challeng": [17, 24, 77], "fsetinterfac": 17, "eq_dec": 17, "miniorderedtyp": 17, "mot_to_ot": 17, "fsetdecid": 17, "aaron": 17, "bohannon": 17, "fsetproperti": 17, "1347": 17, "avl": 17, "fsetavl": 17, "fmapavl": 17, "lightweight": 17, "balanc": [17, 57], "appendix": 17, "fsetfullavl": 17, "fmapfullavl": 17, "intmap": [17, 24], "cachan": [17, 24], "eq_nat_dec": 17, "z_lt_le_dec": 17, "positive_as_ot": 17, "xi": 17, "xo": 17, "nminu": 17, "nmin": 17, "nmax": 17, "zpower": [17, 24], "null": [17, 24, 57], "_full": 17, "eqnat": [17, 26], "eqlista": 17, "equivlista": 17, "english": 17, "prod_f_so": 17, "prod_f_r0": 17, "ln_exists1": 17, "rlogic": 17, "intuitionist": [17, 24, 25, 27, 34, 57, 62, 77], "indefinitedescript": 17, "rstar": [17, 24], "newman": [17, 24], "coc_histori": 17, "defens": [17, 24, 44, 57], "refrain": 17, "nnn": [17, 71], "expr_0": 17, "expr_1": 17, "expr_n": 17, "expr_i": 17, "intermedi": [17, 27, 57, 66], "erewrit": [17, 43, 64], "ediscrimin": [17, 43, 67], "einject": [17, 43, 67], "esimplify_eq": [17, 43], "simplify_eq": [17, 24, 67], "eelim": [17, 43, 67], "ecas": [17, 43, 58, 67], "einduct": [17, 43, 58, 67], "generer": 17, "th": [17, 30, 34, 40, 57, 58, 66, 67, 77], "id_1": 17, "id_n": 17, "basicelim": [17, 67], "nota": 17, "clarif": 17, "ifi": 17, "in_left": 17, "in_right": 17, "program_scop": 17, "class_1": 17, "param_1": 17, "param_n": 17, "class_2": 17, "some_class": 17, "setoid_replac": [17, 24, 64, 71], "55": 17, "signature_scop": 17, "cst": 17, "morphisms_rel": 17, "setoidtact": [17, 71], "subrel": [17, 25], "onto": [17, 71], "conflit": 17, "font": [17, 52, 53, 75], "monospac": 17, "meaning": [17, 29, 52], "coqdir": [17, 75], "subdir": [17, 51, 53], "tex": [17, 53, 75], "whelp": 17, "getter": 17, "browser": [17, 52], "coqtest_skipcomplex": 17, "zinc": [17, 64, 77], "christin": [17, 24, 27, 34, 77], "paulin": [17, 24, 27, 34, 77], "ayach": 17, "rocquencourt": [17, 24], "pennsylvania": [17, 77], "yale": 17, "2006": 17, "corollari": [17, 32], "helm": [17, 24], "constr_may_ev": 17, "setoid_symmetri": 17, "setoid_transit": 17, "setoid_reflex": 17, "autorewit": 17, "5941": 17, "noncrit": 17, "classical_left": [17, 58], "classical_right": [17, 58], "eassumpt": [17, 43, 58, 60], "rtauto": [17, 62], "f_equalx": 17, "hug": 17, "pp": [17, 53], "jussieu": 17, "m1": [17, 35], "m2": [17, 35], "mn": 17, "zmin": 17, "zmax": 17, "zminmax": 17, "zgt_square_simpl": 17, "zlt_square_simpl": 17, "digit": [17, 24, 29, 44, 51, 52, 71], "weaken": [17, 67], "z_lt_induct": 17, "eqdep": 17, "acc_it": 17, "acc_iter2": 17, "omegalemma": 17, "acc": [17, 27, 34, 35], "clos_refl_tran": 17, "in_dec": 17, "xor": 17, "bridg": [17, 57], "bitvector": 17, "addr": 17, "fmapintmap": 17, "coqremotebrows": 17, "e1": [17, 42, 46, 57], "e2": [17, 42, 46], "abandon": 17, "irrevers": [17, 24], "pfen": [17, 24, 77], "synthesi": [17, 24, 44], "phi": 17, "web": [17, 27, 52, 53], "field_simplify_eq": 17, "monom": 17, "constructiveepsilon": 17, "countabl": 17, "mathematician": 17, "purifi": 17, "lowercas": [17, 29, 37, 46, 52, 55], "perfum": 17, "novic": [17, 57], "reform": 17, "thirdli": 17, "gtk2": 17, "pictur": 17, "salient": [17, 24], "desmettr": [17, 24], "jacek": [17, 24], "chrz\u0105szcz": [17, 24], "nsi": 17, "orsai": [17, 24], "apr": 17, "2004": 17, "conjectur": [17, 28, 66], "0380": 17, "03ff": 17, "hebrew": [17, 29], "u05d0": 17, "05ef": 17, "2100": 17, "214f": 17, "2080": 17, "2089": 17, "2200": 17, "22ff": 17, "supplement": 17, "2a00": 17, "2aff": 17, "2300": 17, "23ff": 17, "2600": 17, "26ff": 17, "2190": 17, "21ff": 17, "2900": 17, "297f": 17, "factori": [17, 24, 54, 55, 64], "well_founded_induct": [17, 27], "true_sub": 17, "zplu": 17, "fast_integ": 17, "le_minu": [17, 72], "lt_mult_left": 17, "zarith_aux": 17, "iff_tran": 17, "someth": [17, 31, 52, 53, 54, 55, 59, 64], "fast_": 17, "new_var": 17, "omega2": 17, "zle_zmult_right2": 17, "zle_mult_simpl": 17, "zle_0_plu": 17, "zplus_assoc_l": 17, "zplus_assoc": 17, "zmult_on": 17, "zmult_1_n": 17, "zmult_assoc_l": 17, "zmult_assoc": 17, "zmult_minus_distr": 17, "zmult_zminus_distr_l": 17, "add_un_double_moins_un_xo": 17, "is_double_moins_un": 17, "rlt_monotony_rev": 17, "rlt_monotony_contra": 17, "zmult_zminus_distr_r": 17, "zcomplement": [17, 24], "freshid": 17, "decrement": [17, 54], "newdestruct": [17, 24], "newinduct": [17, 24], "contradictori": [17, 67], "rge_l": 17, "shorter": [17, 31, 35, 57, 59], "eleft": [17, 43, 67], "eright": [17, 43, 67], "esplit": [17, 43, 67], "eqt": [17, 46], "gen_constant_modul": 17, "zarith_base_modul": 17, "entier": 17, "pmult": 17, "times_sym": 17, "pmult_comm": 17, "zle_zmult_pos_right": 17, "zmult_le_compat_r": 17, "superieur": 17, "ext": [17, 24, 34], "ext2": [17, 24], "allt": [17, 24], "identityt": 17, "backquot": 17, "iso": [17, 75], "latin": [17, 29], "inz": 17, "inject_nat": 17, "zarith_bas": 17, "v7": [17, 24], "c2": [17, 46, 57, 67, 71], "stepl": [17, 64], "stepr": [17, 64], "ipattern": 17, "successor": [24, 34, 39], "ten": 24, "research": [24, 77], "briefli": [24, 27, 57], "survei": 24, "frege": 24, "centuri": 24, "discoveri": 24, "antinomi": 24, "comprehens": 24, "stratif": 24, "culmin": 24, "principia": 24, "mathematica": 24, "church": [24, 77], "howard": [24, 26, 66, 77], "isomorph": [24, 25, 46, 55, 62, 66, 67, 77], "automath": 24, "jut": 24, "landau": 24, "grundlagen": 24, "1970": 24, "saw": 24, "emerg": 24, "l\u00f6f": [24, 27, 34], "girard": [24, 77], "f_": 24, "coquand": [24, 34, 77], "1985": [24, 77], "coc": 24, "awkward": [24, 54], "1989": [24, 77], "mixtur": 24, "pioneer": 24, "1960": 24, "davi": 24, "putnam": 24, "semidecis": 24, "1965": 24, "robinson": 24, "studi": [24, 31], "convinc": 24, "realiz": [24, 25, 27, 32], "ambiti": 24, "approach": [24, 52, 53, 55, 57, 58, 67, 75], "aid": 24, "lcf": [24, 55], "milner": [24, 55, 77], "colleagu": 24, "edinburgh": 24, "moor": 24, "bishop": 24, "kleen": [24, 60], "methodologi": [24, 57], "revolutionari": 24, "paradigm": 24, "theme": [24, 52], "intellig": [24, 42], "walding": 24, "tablog": 24, "manna": 24, "tableau": 24, "undertaken": 24, "cornel": 24, "nuprl": 24, "constabl": 24, "hayashi": 24, "kyoto": 24, "lisp": 24, "feferman": 24, "grow": [24, 54, 55, 59], "scienc": [24, 77], "forese": 24, "dai": [24, 51], "hope": [24, 52], "1995": [24, 77], "g\u00e9rard": [24, 77], "huet": [24, 77], "1984": 24, "dowek": 24, "hierarch": [24, 35], "dead": [24, 64], "felti": 24, "mous": [24, 52], "widget": 24, "1991": [24, 77], "doligez": 24, "1992": [24, 77], "murthi": 24, "1993": [24, 77], "centaur": 24, "ctcoq": 24, "croap": 24, "v5": 24, "chet": 24, "reloc": 24, "driven": [24, 60], "1994": [24, 77], "mohr": [24, 27, 77], "manouri": 24, "impos": [24, 30, 34, 57], "propr": 24, "mu\u00f1oz": [24, 77], "dyckhoff": [24, 54, 62, 77], "ketonen": 24, "weyhrauch": 24, "reliev": 24, "tediou": [24, 34, 53, 57, 67], "feb": 24, "1st": [24, 27, 34, 46, 57, 59, 64, 71, 72], "phd": [24, 77], "thesi": [24, 77], "metamathemat": [24, 77], "backend": 24, "lockwood": 24, "morri": 24, "gui": [24, 52, 76], "cousineau": 24, "ancestor": [24, 53], "paulson": 24, "cambridg": [24, 77], "1983": 24, "frozen": 24, "22nd": 24, "defend": 24, "31st": 24, "19th": 24, "ch85": [24, 77], "her": 24, "dea": [24, 77], "internship": 24, "memoir": 24, "she": [24, 55], "lambo": 24, "vote": 24, "ch86b": [24, 77], "fuller": 24, "math\u00e9matiqu": 24, "informatiqu": [24, 77], "formalis\u00e9": 24, "calcul": [24, 25, 77], "ch86a": [24, 77], "16th": [24, 77], "articl": 24, "moh86": [24, 77], "quicksort": 24, "13": [24, 25, 51, 54, 57, 77], "25th": 24, "1986": [24, 77], "synthet": 24, "cmu": 24, "invit": [24, 42], "joint": 24, "confer": [24, 77], "tapsoft": 24, "87": [24, 53], "pise": 24, "1987": 24, "publish": [24, 53, 77], "hue88": [24, 77], "categor": 24, "llm3": 24, "j\u00e9r\u00f4me": 24, "chailloux": 24, "mauni": 24, "ascand": 24, "suarez": 24, "wei": 24, "v3": [24, 57], "summer": 24, "held": 24, "doctor": 24, "sml": 24, "v4": 24, "24th": 24, "exempl": 24, "knaster": 24, "tarski": 24, "terminologi": [24, 55], "gill": [24, 72], "sticki": 24, "vax": 24, "central": [24, 25], "lab": 24, "transfer": 24, "sun": 24, "person": [24, 64], "workstat": 24, "decor": [24, 29, 42], "loic": 24, "colson": 24, "6th": 24, "1988": [24, 77], "banner": 24, "avec": 24, "r\u00e9alis": 24, "synth\u00e8s": 24, "accommod": [24, 57], "2nd": [24, 34, 41, 46, 57, 67, 72, 77], "european": [24, 77], "symposium": [24, 77], "nanci": 24, "88": [24, 53, 77], "perspect": [24, 77], "commemor": [24, 77], "volum": [24, 77], "gift": [24, 77], "siromonei": [24, 77], "narasimhan": [24, 77], "scientif": [24, 77], "demonstr": [24, 54, 67], "yop": 24, "institut": [24, 27], "austin": 24, "texa": 24, "rehaul": 24, "randi": 24, "pollack": 24, "lego": 24, "luo": 24, "inter": [24, 53], "legitim": 24, "trust": [24, 33, 36, 73], "releg": 24, "puzzlement": 24, "schroeder": 24, "bernstein": 24, "octob": [24, 77], "8th": 24, "judgement": 24, "pointer": [24, 26], "spectacular": 24, "acycl": [24, 39], "insur": 24, "founded": 24, "memo": 24, "elast": 24, "spring": 24, "coq89": [24, 77], "mohrin": 24, "f\u03c9": 24, "pm89": [24, 77], "hue89": [24, 66, 77], "guid": 24, "syllabu": 24, "matur": 24, "v2": [24, 57], "ppm89": [24, 77], "cp90": [24, 34, 77], "pm93b": [24, 77], "1990": [24, 77], "workshop": [24, 77], "chalmer": [24, 77], "g\u00f6teborg": 24, "cnr": 24, "lip": [24, 77], "laboratori": 24, "\u00e9cole": 24, "sup\u00e9rieur": 24, "lyon": [24, 77], "formel": 24, "cristal": 24, "roquencourt": 24, "en": [24, 57, 64, 77], "chetan": 24, "architect": 24, "cristina": [24, 46, 67, 77], "corn": [24, 46, 67, 77], "aczel": 24, "coscoi": 24, "cr\u00e9gut": 24, "presburg": 24, "organis": 24, "judica\u00ebl": 24, "courant": 24, "nov": 24, "18th": 24, "1996": 24, "eduardo": 24, "gim\u00e9nez": [24, 77], "delahay": [24, 77], "laulh\u00e8r": 24, "4th": [24, 41, 44, 77], "1998": [24, 77], "v6": 24, "tricki": [24, 57], "cnet": 24, "lannion": 24, "1999": 24, "2001": [24, 77], "2002": [24, 77], "2003": 24, "optimis": 24, "micaela": 24, "mayero": 24, "chasl": 24, "pcoq": 24, "sop": 24, "lemm": 24, "hypertextu": 24, "electron": [24, 77], "unibo": 24, "goubault": 24, "d\u00e9mon": 24, "duprat": 24, "miquel": 24, "alvarado": 24, "franc": [24, 77], "telecom": 24, "17": [24, 25, 53, 57], "19": [24, 25, 41, 57, 77], "polylist": 24, "_and_": 24, "sum_ind": [24, 27, 71], "strength": 24, "expir": 24, "eq_nat": [24, 42], "reflexion": 24, "exchang": [24, 52, 66], "discrr": 24, "splitrmult": 24, "splitabsolu": 24, "decompos": [24, 57, 67], "lettac": 24, "schema": 24, "excess": 24, "vari": [24, 54, 58, 67, 71], "econom": [24, 77], "a0": [24, 46, 64, 67], "stuff": [24, 53, 75], "sentence_1": 24, "sentence_n": 24, "angl": 24, "trick": [24, 55, 57, 58, 72], "num1": 24, "num2": 24, "physical_dir": 24, "logical_dir": 24, "myconst": 24, "searchiso": 24, "do_makefil": 24, "coqrc": [24, 25], "exc": [24, 27], "fta": 24, "herman": 24, "geuver": 24, "freek": 24, "wiedijk": 24, "zwanenburg": 24, "henk": 24, "barendregt": [24, 77], "zfc": 24, "functions_in_zfc": 24, "simpson": 24, "sylvi": 24, "boldo": 24, "formalis": [24, 57, 77], "ctl": 24, "tctl": 24, "tempor": 24, "ctltctl": 24, "carlo": [24, 77], "luna": 24, "montevideo": 24, "railroad": 24, "railroadcross": 24, "automaton": [24, 75], "abr": 24, "pautomata": 24, "emmanuel": 24, "freund": 24, "minic": 24, "ledinot": 24, "suresn": 24, "bresenham": 24, "draw": 24, "distanc": 24, "rsa": 24, "cryptograph": 24, "embed": [24, 25, 29, 71], "14": [24, 25, 51, 57, 64], "r_sqr": 24, "rtrigo": 24, "rotat": [24, 54, 57], "rgeom": 24, "rsigma": 24, "natr": 24, "changement": 24, "expung": 24, "zsgn": 24, "wf_z": 24, "peano_dec": 24, "filliatr": [24, 77], "congruenceclosur": 24, "maplemod": 24, "mapl": 24, "zchines": 24, "submit": [24, 27], "necessit": 24, "trap": 24, "1386": 24, "1387": 24, "collid": 24, "1412": 24, "1394": 24, "seg": 24, "1404": 24, "1402": 24, "chap": 24, "sc": 24, "ntn": 24, "checkabl": 24, "nvar": 24, "numarg": 24, "projs1": 24, "projs2": 24, "unrealist": 24, "zmult": 24, "rfunction": 24, "seqseri": 24, "sup": 24, "rcomput": 24, "idem": 24, "thm": 24, "simple_tact": [24, 54], "globalis": 24, "jm": 24, "linearintuit": 24, "readm": [24, 71], "refl_eq": 24, "vanish": 24, "incompatibilit": 24, "localis": 24, "1459": 24, "1427": 24, "1437": 24, "1384": 24, "1435": 24, "1460": 24, "averag": 24, "ratio": 24, "flagship": 25, "compcert": 25, "seri": [25, 29, 35, 54, 57], "constitut": [25, 39, 55], "elementari": [25, 27, 57, 58, 71], "ltac2": [25, 35, 38, 52, 53, 54, 59, 63, 66, 71, 74], "reusabl": 25, "ecosystem": [25, 73, 77], "vocabulari": 25, "\u03b4": [25, 26, 37, 41, 57, 64, 67], "\u03b9": [25, 26, 34, 41, 55, 64], "\u03b6": [25, 26, 57], "corecurs": [25, 33, 71], "summari": [25, 46, 51, 75], "confluenc": [25, 31], "casual": [25, 57], "subpattern": [25, 54, 55], "superclass": 25, "question": [25, 34, 54, 55, 57, 60, 66], "brace": [25, 44, 52, 59, 71], "invoc": [25, 53, 54, 57, 59], "flow": 25, "helper": [25, 59], "acknowledg": 25, "bookkeep": 25, "defect": [25, 55], "repetit": [25, 54, 60], "licit": 25, "unlock": 25, "recurr": 25, "synopsi": [25, 53], "refut": [25, 57], "nonreflex": 25, "nonsymmetr": 25, "soft": [25, 72], "exactly_onc": 25, "horror": 25, "museum": 25, "interdepend": 25, "dep": [25, 51, 59], "phrase": [25, 71], "man": [25, 51], "repl": [25, 26, 35, 52, 53, 54, 59, 66], "rocqchk": [25, 53, 64, 73], "emphasi": 25, "verbatim": 25, "miscellan": 25, "beta1": 25, "beta2": 25, "beta3": 25, "6beta1": 25, "5beta1": 25, "5beta2": 25, "5beta3": 25, "5pl1": 25, "5pl2": 25, "5pl3": 25, "4beta": 25, "4beta2": 25, "1beta": 25, "1gamma": 25, "0beta": 25, "bibliographi": 25, "licens": [25, 50], "forth": [25, 50, 57, 60], "v1": [25, 50, 57], "opencont": [25, 50], "org": [25, 50, 64, 75, 77], "openpub": [25, 50], "elect": [25, 50], "hereaft": [26, 30, 55, 57], "bar81": [26, 66, 77], "\u03bbx": [26, 31, 34], "cfc58": [26, 77], "db72": [26, 77], "how80": [26, 66, 77], "\u03b3_1": [26, 34], "\u03b3_2": 26, "judgment": [26, 35, 59, 77], "hspace": [26, 31, 34, 35, 38], "3em": [26, 31, 34, 35, 38], "def": [26, 35, 67], "ax": [26, 44, 67], "const": [26, 34, 37, 54], "lam": [26, 34], "42": 26, "\u03b3_i": [26, 34, 35, 38], "\u03b3_c": [26, 34, 35, 38], "\u03b3_p": [26, 34, 35], "\u03b3_": [26, 34], "arr": [26, 34], "t_": [26, 34], "c_k": [26, 34], "n_k": 26, "w_1": [26, 31], "w_m": [26, 31], "w_i": 26, "a_i": [26, 34], "a_1": [26, 34, 35, 38], "a_l": 26, "conv": 26, "x_k": [26, 34], "t_k": 26, "t_0": 26, "u_0": 26, "triangleright": [26, 31], "t_2": [26, 31, 34, 35], "u_1": [26, 31, 34, 39], "u_m": 26, "u_i": [26, 34], "prodimp": 26, "exset": [26, 34], "set1": 26, "set2": 26, "95": [27, 60, 77], "85": [27, 53, 71, 77], "80": [27, 71], "appeal": 27, "conj": [27, 57, 58, 66, 71], "proj1": [27, 66], "proj2": 27, "or_introl": [27, 34, 40, 46, 58, 67], "or_intror": [27, 34, 40, 46, 58, 67], "ex_intro": [27, 37, 41, 57, 60, 66], "ex_ind": 27, "ex_sind": 27, "ex_intro2": 27, "ex2_ind": 27, "ex2_sind": 27, "eq_sym": [27, 40, 44], "eq_tran": [27, 43, 59], "not_eq_sym": 27, "eq_rec_r": 27, "f_equal2": 27, "f_equal3": 27, "f_equal4": 27, "f_equal5": 27, "a3": 27, "y2": [27, 42, 59], "x3": [27, 71, 72], "y3": 27, "sumor": [27, 71], "unit_rect": 27, "unit_ind": 27, "unit_rec": 27, "unit_sind": 27, "bool_rect": [27, 40], "bool_ind": [27, 40], "bool_rec": [27, 40], "bool_sind": [27, 40], "nat_ind": [27, 34, 58], "nat_rec": [27, 34, 44, 67], "nat_sind": [27, 34], "option_rect": [27, 34, 58], "option_ind": [27, 34, 58], "option_rec": [27, 34, 58], "option_sind": [27, 34, 58], "disjoint": [27, 67], "inl": [27, 40, 57], "sum_rect": [27, 71], "sum_rec": [27, 71], "sum_sind": [27, 71], "prod_rect": [27, 34], "prod_ind": [27, 34], "prod_rec": [27, 34], "prod_sind": [27, 34], "justif": 27, "sig_rect": 27, "sig_ind": 27, "sig_rec": 27, "sig_sind": 27, "exist2": 27, "sig2_rect": 27, "sig2_ind": 27, "sig2_rec": 27, "sig2_sind": 27, "sigt_rect": 27, "sigt_ind": 27, "sigt_rec": 27, "sigt_sind": 27, "projections2": 27, "projt2": 27, "existt2": 27, "sigt2_rect": 27, "sigt2_ind": 27, "sigt2_rec": 27, "sigt2_sind": 27, "sumbool_rect": 27, "sumbool_ind": 27, "sumbool_rec": 27, "sumbool_sind": 27, "inleft": 27, "inright": 27, "sumor_rect": 27, "sumor_ind": 27, "sumor_rec": 27, "sumor_sind": 27, "choice2": 27, "bool_choic": [27, 59], "false_rec": 27, "absurd_set": 27, "and_rect2": 27, "predecessor": 27, "eq_": 27, "pred_sn": 27, "eq_add_": 27, "not_eq_": 27, "issucc": 27, "o_": [27, 37], "n_sn": 27, "plus_n_o": [27, 59], "plus_n_sm": [27, 59], "mult_n_o": 27, "mult_n_sm": [27, 59], "le_n": [27, 57, 67], "le_": 27, "137": 27, "le_ind": [27, 46, 67], "le_sind": [27, 46, 67], "nat_cas": [27, 67], "nat_double_ind": 27, "acc_intro": 27, "acc_inv": 27, "rwf": 27, "well_founded_ind": 27, "fix_f": 27, "f_ext": 27, "fix_f_eq": 27, "implicit_bind": [28, 44], "generalizing_bind": [28, 44], "pattern0": [28, 40], "twofold": 28, "pi_": 28, "term_appl": [28, 29, 37, 44, 64], "term1": [28, 29, 37, 44, 57], "qualid_annot": [28, 29, 44], "assumption_token": [28, 59], "postul": 28, "r_s_inv": 28, "ital": [29, 53, 66, 75], "term100": [29, 40, 46], "popul": 29, "first_lett": 29, "subsequent_lett": 29, "unicode_lett": 29, "unicode_id_part": 29, "gothic": 29, "arab": 29, "georgian": 29, "hangul": 29, "hiragana": 29, "katakana": 29, "ideograph": 29, "subscript": 29, "0x": 29, "1_000_000": 29, "1000000": 29, "decnat": 29, "hexnat": 29, "hexdigit": 29, "bignat": [29, 71], "0xap12": 29, "term_scop": [29, 71], "100000": 29, "of_num_uint": [29, 59, 71], "1000000000000000000000000000000000": 29, "1000000000000000000000000000000001": 29, "_h": 29, "_ho": 29, "contrastingli": 29, "term_cast": [29, 32], "term_explicit": [29, 44], "term_project": [29, 37], "term0": [29, 37, 55, 58, 71], "number_or_str": [29, 71], "term_evar": [29, 43], "term_match": [29, 40], "term_record": [29, 37], "term_gener": [29, 44], "term_ltac": [29, 54], "one_typ": [29, 58, 64], "undecid": [29, 30], "query_command": [29, 59, 64], "compound": [29, 54], "uppercas": [29, 55], "blue": [29, 52], "grai": [29, 52], "boldfac": 29, "attr_valu": 29, "setting_nam": [29, 51], "exclus": [29, 57], "wide": [29, 38, 52, 53, 58], "infin": [30, 71], "gimenez95": [30, 77], "gimenez98": [30, 77], "gimenezcasteran05": [30, 77], "inductive_definit": [30, 34], "bypass_check": [30, 32, 34, 59], "eqst": 30, "stori": 30, "copattern": 30, "agda": 30, "eqst_hd": 30, "eqst_tl": 30, "stream_eta": 30, "stream_ext": 30, "cofix_bodi": 30, "cofix_definit": [30, 38], "decl_not": [30, 34, 40, 71], "admiss": [30, 38], "unguard": 30, "wherev": [31, 53, 54, 67, 71], "contant": 31, "triangleright_\u03b2": 31, "enjoi": [31, 34, 37, 57], "great": [31, 64], "triangleright_\u03b4": [31, 35], "pm93a": [31, 77], "wer94": [31, 77], "triangleright_\u03b6": 31, "deliber": [31, 55], "triangleright_\u03b7": 31, "m0": [31, 42, 67], "u_2": 31, "v_m": 31, "destructuring_let": [32, 46], "thm_token": [32, 59], "forgot": [32, 71], "primarili": [32, 34, 58, 66], "heart": 33, "fear": 33, "_ind": [34, 35, 40, 71, 72], "_sind": [34, 35, 40, 71], "thereaft": [34, 59], "even_0": 34, "even_ss": 34, "even_ind": [34, 67], "even_sind": [34, 67], "list2": 34, "nil2": 34, "cons2": 34, "list2_rect": 34, "list2_ind": 34, "list2_rec": 34, "list2_sind": 34, "listw": 34, "nilw": 34, "consw": 34, "bigger": 34, "list3": 34, "nil3": 34, "cons3": 34, "list3_rect": 34, "list3_ind": 34, "list3_rec": 34, "list3_sind": 34, "acc_in": 34, "acc_ind": 34, "acc_rec": 34, "acc_sind": 34, "leaf": [34, 67], "tree_rect": [34, 67, 72], "tree_ind": [34, 67, 72], "tree_rec": [34, 67, 72], "tree_sind": [34, 67, 72], "forest_rect": [34, 67, 72], "forest_ind": [34, 67, 72], "forest_rec": [34, 67, 72], "forest_sind": [34, 67, 72], "eight": 34, "fix_decl": [34, 57], "fix_definit": [34, 38, 72], "wrongplu": 34, "asid": [34, 64, 66, 67], "deeper": [34, 46], "mod2": [34, 35], "tree_siz": [34, 72], "forest_s": [34, 72], "a_p": 34, "rcl": 34, "even_o": 34, "even_": 34, "odd_": 34, "odd_ind": [34, 67], "odd_sind": [34, 67], "t_q": 34, "x_j": 34, "t_i": 34, "a_r": 34, "p_r": [34, 35], "c_n": [34, 35], "a_j": [34, 35], "b_1": 34, "b_r": 34, "u_": 34, "b_j": 34, "nattre": 34, "natnod": 34, "nattree_rect": 34, "nattree_ind": 34, "nattree_rec": 34, "nattree_sind": 34, "a_k": [34, 35], "i_j": [34, 35], "s_j": 34, "exprop": 34, "exp_intro": 34, "exprop_ind": 34, "exprop_sind": 34, "exs_intro": 34, "extyp": 34, "ext_intro": 34, "extype_rect": 34, "extype_ind": 34, "extype_rec": 34, "extype_sind": 34, "not_i_i": 34, "not_i": 34, "i_not_i": 34, "satifi": 34, "infinite_loop": 34, "harm": 34, "introa": 34, "\u03bbz": 34, "f_inj": 34, "hf": [34, 51], "powerset": 34, "diagon": 34, "fd": 34, "a_": 34, "p_p": 34, "p_m": 34, "q_r": 34, "q_l": 34, "p_l": 34, "p_u": 34, "q_u": 34, "leq": [34, 42, 57], "s_k": 34, "equiconsist": 34, "prevail": 34, "set_p": 34, "recomput": [34, 53], "lose": [34, 67, 71], "delic": 34, "coq92": [34, 77], "1p_1": 34, "np_n": 34, "f_n": 34, "f_i": 34, "i1": [34, 71], "ip_i": 34, "s_2": [34, 35], "complic": [34, 43, 46, 55], "harmless": [34, 51], "moral": 34, "or_ind": [34, 40], "or_sind": [34, 40], "proof_irrelev": 34, "paradox": [34, 77], "eqnarrai": 34, "rl": 34, "c_": 34, "f_l": 34, "a_m": 34, "triangleright_\u03b9": 34, "\u03b3_n": 34, "a_n": [34, 38], "\u03bbp": 34, "gimenez94": [34, 77], "k_1": 34, "k_n": 34, "k_i": 34, "y_1": [34, 38], "y_": 34, "b_": 34, "f_j": 34, "k_j": 34, "x_m": 34, "t_m": 34, "i_l": 34, "i_p": 34, "c_q": 34, "y_m": 34, "b_m": 34, "g_i": 34, "b_i": 34, "y_j": 34, "lgth": 34, "sizet": 34, "sizef": 34, "f0": [34, 57, 67], "f_k": 34, "massiv": 35, "module_bind": 35, "of_module_typ": 35, "module_expr_inl": 35, "module_type_inl": 35, "module_typ": 35, "functor_app_annot": 35, "module_expr_atom": 35, "definin": 35, "t_rect": [35, 71], "t_rec": [35, 71], "t_sind": [35, 71], "dirpath": [35, 51, 59], "sake": [35, 55, 66, 71], "simplic": [35, 54], "hasn": 35, "shortest": 35, "weval": 35, "s_3": 35, "WITH": 35, "e_i": 35, "e_n": 35, "mod1": [35, 51], "alias1": 35, "alias2": 35, "type1": 35, "type2": 35, "mt": 35, "manifestli": 35, "msub": 35, "\u03c3": [35, 67], "_i": [35, 71], "_1": 35, "_m": 35, "ind1": 35, "ind2": 35, "c_m": 35, "indp1": 35, "i_i": 35, "indp2": 35, "excerpt": 36, "primint63": [36, 59, 71], "int63_typ": [36, 59], "uint63_scop": [36, 71], "sint63_scop": 36, "int63_eq": [36, 59], "eqb_correct": 36, "uint63axiom": 36, "one_minus_one_is_zero": 36, "despit": [36, 57], "of_int64": 36, "float64_typ": 36, "float64_mul": 36, "float_scop": 36, "mul_spec": 36, "prim2sf": 36, "sf64mul": 36, "compli": 36, "extrocamlfloat": 36, "float64": 36, "of_float": 36, "x1p": 36, "array_typ": 36, "array_get": 36, "array_set": 36, "get_set_sam": 36, "get_set_oth": 36, "extrocamlparrai": 36, "operation": 36, "cf07": [36, 77], "cell": 36, "immut": 36, "primstr": [36, 71], "string_typ": 36, "char63": 36, "string_length": 36, "string_get": 36, "extrocamlpstr": 36, "pstring": 36, "record_field": [37, 42], "field_spec": 37, "constrast": 37, "npo": 37, "rat": 37, "mkrat": 37, "rat_bottom_nonzero": 37, "rat_irreduc": 37, "lowest": [37, 54], "myrecord": 37, "myfield": 37, "varnam": 37, "myclass": 37, "myfield2": 37, "fieldnam": 37, "one_two_ir": 37, "gloss": 37, "gett": 37, "inst": 37, "absent": [37, 59], "build_": 37, "reconstruct": [37, 46], "desugar": 37, "p2": [37, 57, 67], "foo_subproof": 38, "y_n": 38, "prune": [38, 57], "universe_expr": 39, "coq86": [39, 77], "\u2115": 39, "u_n": 39, "violat": [39, 66], "degener": [40, 57], "freshnamespac": 40, "reflectt": [40, 57], "reflectf": 40, "forbid": 40, "problemat": [40, 55], "my_nat": 40, "my_o": 40, "my_": 40, "case_item": 40, "pattern10": 40, "pattern1": 40, "scope_kei": [40, 55, 59, 64, 71], "subcas": [40, 75], "bool_cas": 40, "arg_spec": 41, "args_modifi": 41, "argument_spec": 41, "implict": 41, "plus_fct": 41, "_f": [41, 72], "mybool_scop": 41, "_mybool_scop": 41, "mybool": 41, "fcomp": 41, "b2n": [41, 59], "mt13": [42, 77], "breviti": [42, 58, 66], "gznd11": [42, 77], "disregard": 42, "disembodi": 42, "some_const": 42, "other_const": 42, "prf_equiv": 42, "is_law": 42, "eq_nat_equiv": 42, "nat_setoid": 42, "build_setoid": 42, "is_law_": 42, "cmp": 42, "class_of": 42, "the_cmp": 42, "simplist": 42, "amend": 42, "nat_eq": 42, "nat_eqcl": 42, "nat_eqti": 42, "pair_eq": 42, "pair_eqcl": 42, "pair_eqti": 42, "nat_l": 42, "nat_lecl": 42, "nat_leti": 42, "And": [42, 51, 53, 54, 71], "pair_l": 42, "pair_lecl": 42, "pair_leti": 42, "mixin": 42, "eq_class": 42, "le_class": 42, "_pack": 42, "to_eq": 42, "to_l": 42, "lele_eq": 42, "instat": 42, "test_algebra": 42, "test_algebraic2": 42, "l1": [42, 54], "l2": [42, 54], "nat_leq_compat": 42, "nat_leqmx": 42, "pair_leq_compat": 42, "pair_leqmx": 42, "add_instance_attempt": 42, "nat_leqti": 42, "pair_leqti": 42, "phantom": 42, "phantom_rect": 42, "phantom_ind": 42, "phantom_rec": 42, "phantom_sind": 42, "err": [42, 55], "is_not_an_eq_typ": 42, "is_not_an_le_typ": 42, "is_not_the_right_mixin": 42, "e0": [42, 46, 72], "le0": 42, "ce": 42, "s0": [43, 46], "companion": 43, "uninstanti": [43, 44, 54, 58, 67], "eintro": [43, 58], "poorli": [43, 54], "tacexpr": 43, "anywher": [43, 58, 75], "resort": [43, 52, 54, 55, 67], "reinfer": 44, "eq0_le0": 44, "cumbersom": [44, 55], "reproduc": 44, "reserv_list": 44, "simple_reserv": 44, "listdef": [44, 54, 57, 58, 60, 64, 71, 72], "cons_inj_nat": 44, "cons_inj_bool": 44, "typeclass_constraint": 44, "nat_op": 44, "hnat": 44, "ident\u2081": 46, "ident\u2099": 46, "dep_ret_typ": 46, "deconstruct": 46, "deep_tupl": 46, "synth": [46, 59], "synthesiz": 46, "cheapli": 46, "reflt": 46, "eqt_rect": 46, "eqt_ind": 46, "eqt_rec": 46, "eqt_sind": 46, "emphas": 46, "misspel": [46, 59], "is_zero": 46, "71": 46, "72": 46, "_x": [46, 57], "toggl": [46, 52], "basicmatch": 46, "examin": [46, 52, 54, 66, 67, 71], "superposit": 46, "lef": 46, "ith": 46, "superpos": 46, "filter_2_4": 46, "filter_some_square_corn": 46, "listn": 46, "niln": 46, "consn": 46, "listn_rect": 46, "listn_ind": 46, "listn_rec": 46, "listn_sind": 46, "qr": 46, "recal": [46, 55, 64], "b0": 46, "false_rect": 46, "buildlist": 46, "leo": [46, 67], "caught": [46, 54, 55], "l0": [46, 54], "somehow": 46, "sought": 46, "i_rect": [46, 71], "i_ind": [46, 71], "i_rec": [46, 71], "i_sind": [46, 71], "coqtail": [51, 53, 66], "toto": 51, "pathnam": [51, 53], "reload": [51, 52, 59], "prepend": [51, 53, 66], "rocqpath": [51, 53], "rocq_color": [51, 66], "ls_color": 51, "ansi": 51, "240": 51, "underlin": [51, 52, 66], "rgb": 51, "space_overhead": 51, "120": [51, 71], "minor_heap_s": 51, "32mword": 51, "256mb": 51, "128mb": 51, "cmo": [51, 59], "_darc": 51, "ext4": 51, "255": 51, "ntf": 51, "and_darc": 51, "resourc": 51, "intention": 51, "w\u2081": 51, "w\u2099": 51, "slave": 51, "ident0": 51, "ident1": 51, "filteropt": 51, "googl": [51, 53], "1cvaclvffya5r": 51, "phyumn5ooqtymh4h6i0nsskchnaysu": 51, "durat": 51, "rocq_profile_compon": 51, "perfetto": 51, "compress": [51, 53], "subtim": 51, "appart": 51, "total": [51, 53, 54], "required_vo": 51, "2642": 51, "fn": 51, "overal": [51, 54, 64, 75], "forg": 51, "secur": 51, "taint": 51, "norec": 51, "backslash": 51, "thumb": [51, 67], "disk": [51, 52, 53, 66], "attack": 51, "scratch": 52, "screenshot": [52, 66], "fermat": 52, "keystrok": 52, "reopen": 52, "backspac": 52, "uncom": 52, "interv": 52, "abruptli": 52, "crashcoqid": 52, "unnamed_coqscript_": 52, "toolbar": 52, "keyboard": [52, 59], "wsl": 52, "orang": 52, "unproven": [52, 58, 66], "pink": 52, "figur": [52, 57], "undon": 52, "ribbon": 52, "schemat": [52, 57], "unprocess": 52, "await": 52, "perhap": [52, 53, 58], "sent": 52, "granular": [52, 55], "intervent": 52, "quirk": 52, "reprocess": [52, 54], "haven": [52, 54], "defer": [52, 55, 57], "shade": 52, "nice": [52, 57, 67, 75], "pane": 52, "unmodifi": 52, "devot": [52, 57], "charset": [52, 75], "micro": 52, "ini": 52, "css": [52, 75], "nameofthem": 52, "gtk_theme": 52, "internet": 52, "firefox": 52, "checkbox": 52, "usernam": 52, "appdata": 52, "press": [52, 77], "overwrit": [52, 64, 66], "gtk_accel_path": 52, "primari": [52, 54], "f4": 52, "semicolon": [52, 53, 57], "utf8": [52, 53, 75], "antialias": 52, "gdk_use_xft": 52, "builtin": 52, "\u03c0": 52, "suffic": [52, 57], "blob": 52, "default_bindings_src": 52, "file1": [52, 53], "file2": [52, 53], "filen": 52, "feel": 52, "jfehrl": 52, "email": 52, "my_tac": 52, "dark": 52, "slider": 52, "f8": 52, "idl": 52, "my": [52, 53, 57], "value_tact": [52, 54, 64], "f9": 52, "f10": 52, "f11": 52, "asymc": 52, "16069": 52, "mind": 52, "387": 52, "alltact": 52, "clipboard": 52, "genarg": 52, "tacvalu": 52, "secondari": [52, 53], "gotten": 52, "territori": 52, "easiest": 53, "difficulti": 53, "repo": 53, "readili": 53, "interchang": [53, 66], "proofgener": 53, "spread": 53, "seamlessli": 53, "closest": 53, "notepad": 53, "invisibli": 53, "vi": 53, "mypackag": 53, "ala": 53, "coqproject": 53, "jef": 53, "myproj": 53, "basenam": 53, "filesystem": [53, 59], "regener": 53, "shouldn": [53, 54, 75], "therein": 53, "workaround": [53, 54, 55, 60], "metadata": [53, 59], "mycod": 53, "mlg": [53, 59], "bazaux": 53, "qux_plugin": 53, "expert": 53, "knowntarget": 53, "stuff2": 53, "knownfil": 53, "submak": 53, "rebuilt": 53, "default_go": 53, "makecmdgo": 53, "ifeq": 53, "orphan": 53, "orphan_foo_bar": 53, "yojson": 53, "ocamlwarn": 53, "coq_src_subdir": 53, "cm": 53, "unicoq": 53, "coqextraflag": 53, "coqchkextraflag": 53, "coqdocextraflag": 53, "rocqruntimelib": 53, "echo": 53, "cp": 53, "thisextrafil": 53, "met": 53, "archclean": 53, "coq_vers": 53, "coqmakefile_vers": 53, "alldfil": 53, "myfil": 53, "mygeneratedfil": 53, "vofil": 53, "globfil": 53, "cmofil": 53, "cmxfile": 53, "ofil": 53, "cmafil": 53, "cmxafil": 53, "cmifil": 53, "cmxsfile": 53, "camlc": 53, "camloptc": 53, "coqdebug": 53, "ocamllib": 53, "mac": [53, 60], "vfile": 53, "395448": 53, "ko": 53, "45184": 53, "slowest": 53, "fastest": 53, "tgt": 53, "52": 53, "sy": 53, "394648": 53, "56980": 53, "0m00": 53, "biggest": 53, "subsecond": 53, "nois": 53, "394700": 53, "37": [53, 77], "337720": 53, "1850": 53, "00": 53, "592": 53, "69": [53, 71], "04": 53, "56772": 53, "337876": 53, "89": [53, 54, 77], "74": 53, "26": [53, 54, 77], "157": 53, "sec": [53, 54, 64], "128u": 53, "028": 53, "27": [53, 54], "68": 53, "vm_c": 53, "foo0": [53, 55], "153": 53, "136u": 53, "019": 53, "163": [53, 77], "208": 53, "foo1": 53, "239": 53, "236u": 53, "timelog2html": 53, "time1": 53, "time2": 53, "time3": 53, "time_of_pretty_build_fil": 53, "0m04": 53, "0m03": 53, "66": [53, 57, 77], "96": 53, "069": [53, 54], "192": 53, "47": 53, "126": 53, "026": 53, "027": 53, "068": [53, 54], "nati": 53, "231": 53, "836": 53, "60": 53, "97": [53, 77], "gzip": 53, "quoted_str": 53, "unquoted_str": 53, "pkg": [53, 75], "stanza": 53, "module_prefix": 53, "opam_packag": 53, "ordered_set_lang": 53, "ocaml_librari": 53, "coq_flag": 53, "include_subdir": 53, "equations_plugin": 53, "public_nam": 53, "33": 53, "cc": [53, 77], "g_equat": 53, "iddec": 53, "nocycl": 53, "upfront": 53, "impract": 53, "chose": 53, "ni": 53, "my_toplevel": 53, "start_coq": 53, "coqtop_toplevel": 53, "metaprogram": 54, "rosetta": 54, "stone": 54, "anytim": 54, "hindranc": 54, "del00": [54, 77], "reduce_and_try_to_solv": 54, "destruct_bool_and_rewrit": 54, "ingredi": 54, "achil": 54, "heel": 54, "growth": 54, "prone": [54, 57], "intric": [54, 55], "modern": 54, "subexpress": [54, 58, 71], "ltac_expr2": [54, 66], "ltac_expr4": 54, "for_each_go": [54, 55, 71], "l3_tactic": [54, 66], "ltac_expr1": [54, 66], "l2_tactic": 54, "tactic_valu": 54, "tactic_arg": 54, "l1_tactic": 54, "syn_valu": 54, "tactic_atom": 54, "n2": 54, "let_claus": 54, "goal_selector": 54, "8481": 54, "range_selector": 54, "subpart": 54, "retri": 54, "expr1": 54, "goal_tact": 54, "1a": 54, "1b": 54, "myfirst": 54, "tactic_list_sep": 54, "tacl": 54, "unexpectedli": 54, "21": [54, 64], "pertain": 54, "unpredict": 54, "match_kei": 54, "match_pattern": 54, "cpattern": [54, 55], "goal_pattern": 54, "match_hyp": 54, "aesthet": 54, "h0": [54, 55, 58, 62, 64, 66, 67], "pr_numgoal": 54, "nouniv": 54, "scan": 54, "unbox": 54, "elaps": 54, "innermost": [54, 71], "timer": 54, "time_constr1": 54, "eval_earli": 54, "ret": 54, "ran": 54, "tacdef_bodi": 54, "card_nat": 54, "hz": 54, "craft": [54, 57], "perm": 54, "perm_refl": 54, "perm_con": 54, "perm_append": 54, "perm_tran": 54, "perm_ind": 54, "perm_sind": 54, "perm_aux": 54, "newn": 54, "solve_perm": 54, "sequent": [54, 57, 58, 62, 77], "calculi": [54, 62, 77], "ljt": [54, 62], "roi": [54, 62, 77], "dyc92": [54, 62, 77], "my_tauto": 54, "falsiti": 54, "my_tauto_ex1": 54, "my_tauto_ex2": 54, "trickier": 54, "dc95": [54, 77], "iso_axiom": 54, "ass": 54, "cur": 54, "di": [54, 77], "p_unit": 54, "ar_unit": 54, "al_unit": 54, "simplify_typ": 54, "ty": [54, 57], "simplify_type_eq": 54, "len": 54, "trm": 54, "assoc": 54, "solve_type_eq": 54, "compare_structur": 54, "solve_iso": 54, "judg": 54, "solve_iso_ex1": 54, "solve_iso_ex2": 54, "odditi": 54, "consol": 54, "imped": 54, "degrad": 54, "slowli": 54, "cutoff": 54, "percentag": 54, "accumul": 54, "mytauto": 54, "351": 54, "with_uniform_flag": 54, "92": [54, 77], "104": [54, 77], "tauto_gen": 54, "tauto_intuitionist": 54, "t_tauto_intuit": 54, "103": 54, "102": 54, "is_conj": 54, "28756": 54, "009": 54, "28": [54, 77], "003": 54, "infoh": 54, "mtac": 55, "rtac": 55, "hindlei": [55, 77], "dm82": [55, 77], "sweet": 55, "spot": 55, "pl": 55, "lineag": 55, "stick": 55, "somewhat": [55, 64, 71], "think": [55, 66], "ltac2_ltac1": 55, "ltac2_typ": 55, "ltac2_type2": 55, "ltac2_type1": 55, "ltac2_type0": 55, "ltac2_typevar": 55, "exn": 55, "tac2typ_def": 55, "tac2typ_prm": 55, "tac2typ_knd": 55, "tac2alg_constructor": 55, "tac2rec_field": 55, "positiveint": 55, "of_str": 55, "fragment": [55, 57, 71], "ltac2_expr": [55, 71], "ltac2_expr5": 55, "tac2pat0": 55, "ltac2_let_claus": 55, "ltac2_expr3": 55, "ltac2_expr2": 55, "ltac2_expr1": 55, "ltac2_expr0": 55, "tac2rec_fieldexpr": 55, "ltac2_atom": 55, "tac2rec_fieldpat": 55, "tac2pat1": 55, "lident": 55, "tac2def_bodi": 55, "oldf": 55, "clearer": 55, "\u03b2v": 55, "v\u2080": 55, "x\u2080": 55, "x\u1d62": 55, "v\u1d62": 55, "departur": 55, "ambient": 55, "proofview": 55, "recover": 55, "panic": 55, "destroi": 55, "codifi": [55, 77], "incred": 55, "ltac1_expr_in_env": 55, "ltac1val": 55, "varref": 55, "snippet": [55, 75], "glob_constr": 55, "myconstr": 55, "suddenli": 55, "rug": 55, "duti": 55, "concis": [55, 57], "ltac2_match_kei": 55, "ltac2_match_list": 55, "ltac2_match_rul": 55, "ltac2_match_pattern": 55, "msg": 55, "succinct": 55, "tactic_failur": 55, "of_constr": 55, "goal_match_list": 55, "gmatch_rul": 55, "gmatch_pattern": 55, "gmatch_hyp_pattern": 55, "ltac2_branch": 55, "atomic_tac2pat": 55, "ltac2_scop": [55, 74], "wors": 55, "ex1": 55, "metasyntact": 55, "list1": [55, 71], "print_list": 55, "list0": [55, 71], "insofar": 55, "intros_until": 55, "delta_reduct": [55, 64], "lia_ltac1": 55, "simplest": [55, 57], "plainli": 55, "ltac2_intropattern": 55, "ltac2_simple_intropattern": 55, "ident_or_anti": 55, "ltac2_destruction_arg": 55, "induction_arg": [55, 67], "q_with_bind": 55, "ltac2_bind": 55, "ltac2_reduct": 55, "refglob": 55, "ltac2_claus": 55, "q_occurr": 55, "ltac2_induction_claus": 55, "induction_claus": [55, 67], "ltac2_convers": 55, "q_orient": 55, "ltac2_oriented_rewrit": 55, "oriented_rewrit": [55, 64], "dispatch": 55, "ltac2_for_each_go": 55, "hintbas": [55, 60], "move_loc": 55, "alias_definit": [55, 58], "nonsimple_intropattern": 55, "ltac2_simple_intropattern_clos": 55, "ltac2_or_and_intropattern": 55, "ltac2_equality_intropattern": 55, "ltac2_naming_intropattern": 55, "ltac2_constr_with_bind": 55, "ltac2_simple_bind": 55, "qhyp": 55, "ltac2_red_flag": 55, "ltac2_in_claus": 55, "ltac2_occs_num": 55, "ltac2_occ": 55, "ltac2_concl_occ": 55, "ltac2_hypident_occ": 55, "ltac2_hypid": 55, "ltac2_as_or_and_ipat": 55, "ltac2_eqn_ipat": 55, "q_rewrit": 55, "ltac2_rewrit": 55, "ltac2_goal_tact": 55, "ltac2_as_nam": 55, "ltac2_by_tact": 55, "ltac2_as_ipat": 55, "replace_with": 55, "daili": 55, "eagerli": 55, "am": 55, "add1": [55, 64], "to_constr": 55, "ow": 55, "bliss": 55, "walk": [55, 71], "dialogu": 55, "site": 55, "blah": 55, "bar0": 55, "trickeri": 55, "summaris": 57, "accustom": 57, "worth": 57, "blanqui": 57, "quasi": 57, "congr": 57, "adjac": 57, "ssrsyntax": 57, "interfer": [57, 71], "sumxxx": 57, "boolean_if_scop": 57, "ssrrewrit": 57, "ssrident": 57, "_xxx_": 57, "annoi": 57, "p_xy": 57, "hp": [57, 67], "legibl": 57, "\u03c1": 57, "replic": 57, "b1": [57, 59], "b2": [57, 59], "suppress": [57, 75], "all_nul": 57, "prenex": 57, "n_i": 57, "ubiquit": 57, "incant": 57, "tx": 57, "resembl": 57, "occ_switch": 57, "aggress": 57, "pairwis": 57, "t0": 57, "largest": [57, 71], "uj": 57, "unkei": 57, "nm": 57, "sizabl": 57, "menial": 57, "instantli": 57, "undermin": 57, "dj": 57, "ej": 57, "tj": 57, "fk": 57, "xl": 57, "ym": 57, "bm": 57, "constantli": 57, "shuffl": 57, "isol": 57, "unavoid": 57, "subnk": 57, "le_n_m": 57, "le_m_n": 57, "le_n_p": 57, "encapsul": 57, "ihn": [57, 66, 67], "lt_n_m": 57, "pile": 57, "pop": [57, 71], "ihm": 57, "lt_tran": 57, "y_gt1": 57, "y_lt2": 57, "hyp0": 57, "y_lt3": 57, "ssrautoprop": 57, "d_item": 57, "clear_switch": 57, "unintend": 57, "hfg": 57, "trans_equ": 57, "ab": [57, 67, 71], "i_item": 57, "i_pattern": 57, "s_item": 57, "i_view": 57, "i_block": 57, "myop": 57, "ssripat_scop": 57, "ssripat": 57, "_a_": 57, "_b_": 57, "_hyp_": 57, "occ": 57, "eqp": 57, "scene": 57, "pointless": 57, "decomposit": 57, "xa": 57, "xb": 57, "_n_": 57, "pinpoint": 57, "pad": 57, "lastcas": 57, "add_last": 57, "last_spec": 57, "lastseq0": 57, "lastadd": 57, "last_spec_rect": 57, "last_spec_ind": 57, "last_spec_rec": 57, "last_spec_sind": 57, "lastp": 57, "abezoutn": 57, "k1": 57, "k2": 57, "muln0": 57, "gexpn0": 57, "mulg1": 57, "orderg1": 57, "eqn_mul1": 57, "andp": 57, "dvdn_tran": 57, "orderg": 57, "dvdn_mull": 57, "orderg_dvd": 57, "mulgi": 57, "gexpn1": 57, "gexpn_add": 57, "leq_add_sub": 57, "dvdn_subr": 57, "dvdn_mulr": 57, "muln1": 57, "dvdn1": 57, "mul1g": 57, "mylemma": 57, "my_lemma1": 57, "my_lemma2": 57, "dispos": 57, "analogu": 57, "g_1": 57, "g_n": 57, "g_": 57, "bmod": 57, "tactic1": 57, "tacticm": 57, "tacticn": 57, "c3": [57, 71], "c4": 57, "test_ind": 57, "test_sind": 57, "mult_comm": 57, "def_n": 57, "c_pattern": 57, "textbook": 57, "ssr_binder": 57, "h23": 57, "addnc": 57, "mczifi": 57, "ssrnat": 57, "ppx_deriv": 57, "lexer_config": 57, "menhirlib": 57, "shim": 57, "front": [57, 59], "ord_rect": 57, "ord_ind": 57, "ord_rec": 57, "ord_sind": 57, "rew_iff_rev": 57, "mkrel": 57, "erefl": 57, "uninterest": 57, "pm": 57, "orthogon": 57, "demand": 57, "abridg": 57, "wlog_stat": 57, "pain": 57, "quo_rem_un": 57, "q3": 57, "q4": 57, "r3": 57, "r4": 57, "leqp": 57, "gen": 57, "leqn": 57, "this_scop": 57, "ngt0": 57, "ltnv": 57, "nge0": 57, "neq0": 57, "addx": 57, "twoi": 57, "rstep": 57, "r_prefix": 57, "r_item": 57, "r_pattern": 57, "my_def": 57, "term2": 57, "ddoubl": 57, "ssroldrewritegoalsord": 57, "grasp": 57, "candid": [57, 58, 64, 72], "surgic": 57, "pen": 57, "my_eq": 57, "addn0": 57, "addn": 57, "addsnn": 57, "addnca": 57, "hrec": 57, "multirul": 57, "eqab": 57, "eqac": 57, "multi1": 57, "eqd0": 57, "multi2": 57, "anew": 57, "eq_adda_b": 57, "eq_adda_c": 57, "eqb0": 57, "multi3": 57, "multi1_rev": 57, "eqba": 57, "eqca": 57, "mult1_rev": 57, "medium": 57, "double": 57, "doublen": 57, "add_mul": 57, "muln": 57, "mule": 57, "mul_exp": 57, "expn": 57, "exp": 57, "oddn": 57, "naiv": 57, "trece": 57, "anywai": 57, "indetermin": 57, "\u03b7\u03b6": 57, "fubar": 57, "insub": 57, "idp": 57, "insubt": 57, "subnn": 57, "sumlist": 57, "eq_map": 57, "example_map": 57, "honour": 57, "bigop": 57, "idx": 57, "36": 57, "bigbodi": 57, "eq_bigr_": 57, "eq_big_": 57, "index_iota": 57, "eq_bigr": 57, "test_big_nest": 57, "prime_i": 57, "odd_j": 57, "summat": 57, "clamp": 57, "master_kei": 57, "lid": 57, "nosimpl": 57, "shine": 57, "spontan": 57, "my_congr_properti": 57, "hnm": 57, "card": 57, "glanc": 57, "term_i": 57, "addsn": 57, "undetermin": [57, 66], "region": 57, "toi": 57, "last_ind_list": 57, "ei": 57, "plus_ind": [57, 72], "n_gt0": 57, "pr_p": 57, "prod_": 57, "prime_decomp": 57, "big_prop": 57, "ihu": 57, "ihv": 57, "pb": 57, "op1": [57, 58], "p2q": 57, "hpa": 57, "hqa": 57, "q2p": 57, "hpb": 57, "hq": [57, 67], "pqequiv": 57, "hqab": 57, "ifflr": 57, "iffrl": 57, "brute": [57, 64], "elid": 57, "reflect_tru": 57, "reflect_fals": 57, "andE": 57, "orp": 57, "negp": 57, "hb": [57, 58], "termn": 57, "generalis": 57, "termvh": 57, "intron": 57, "introntf": 57, "intronf": 57, "pab": 57, "pa": 57, "gap": 57, "b3": 57, "norp": 57, "corpu": 57, "NO": 57, "parsimoni": 57, "d_tactic": 57, "modnam": 57, "nat_or_id": 57, "gen_item": 57, "int_mult": 57, "mult_mark": 57, "r_step": 57, "backchain": 57, "inher": 57, "obstruct": 57, "metatheori": 57, "nake": 57, "precondit": 58, "tactic_invoc": 58, "simple_intropattern_clos": 58, "naming_intropattern": [58, 67], "or_and_intropattern": 58, "equality_intropattern": 58, "op2": 58, "opn": 58, "h3": [58, 67], "introl": 58, "intror": 58, "erasur": [58, 67], "length_zero_iff_nil": 58, "threeintropatternscombin": 58, "ocurr": 58, "goal_occurr": 58, "simple_occurr": [58, 60, 64], "hyp_occ": 58, "concl_occ": 58, "hypid": 58, "in_hyp_a": 58, "as_ipat": 58, "serial": [58, 67], "unmatch": 58, "clariti": [58, 66], "proceed": [58, 77], "le_tran": 58, "repect": 58, "m170": 58, "m171": 58, "lappli": 58, "rtran": 58, "rnm": 58, "rmp": 58, "elegantli": 58, "unselect": 58, "uneed": 58, "interpet": 58, "hy": 58, "as_nam": 58, "modu": 58, "ponen": 58, "pattern_occ": [58, 64], "hloc": 58, "surpris": 58, "instantiate_ltac_vari": 58, "ev": 58, "f_rect": 58, "f_ind": 58, "f_rec": 58, "f_sind": 58, "lt_irrefl": 58, "exact_no_check": [58, 66], "vm_cast_no_check": 58, "native_cast_no_check": 58, "univ_name_list": 59, "search_queri": 59, "search_item": 59, "logical_kind": 59, "narrow": [59, 67], "land_comm": 59, "lor_comm": 59, "lxor_comm": 59, "lcm_comm": 59, "min_comm": 59, "gcd_comm": 59, "xorb_comm": 59, "max_comm": 59, "orb_comm": 59, "andb_comm": 59, "eqb_sym": 59, "_assoc": 59, "or_assoc": 59, "and_assoc": 59, "eq_trans_assoc": 59, "plus_o_n": 59, "plus_sn_m": 59, "f_equal2_plu": 59, "nat_rect_plu": 59, "bit0_eqb": 59, "div_exact": 59, "land_on": 59, "testbit_spec": 59, "pow_div_l": 59, "testbit_eqb": 59, "testbit_fals": 59, "testbit_tru": 59, "internal_": 59, "of_bit": 59, "to_bits_of_bit": 59, "to_bit": 59, "bool_of_sumbool": 59, "andb_prop": 59, "andb_true_intro": 59, "ldiff": 59, "tail_mul": 59, "of_hex_uint": 59, "of_uint": [59, 71], "iff_symmetr": 59, "iff_reflex": 59, "impl_reflex": 59, "eq_symmetr": 59, "eq_reflex": 59, "per_symmetr": 59, "neq_symmetr": 59, "reflexive_eq_dom_reflex": 59, "tail_add": 59, "tail_addmul": 59, "sqrt_iter": 59, "log2_it": 59, "add_succ_comm": 59, "plus_assoc_reverse_stt": 59, "add_shuffle3": 59, "add_shuffle0": 59, "add_shuffle1": 59, "add_shuffle2": 59, "testbit_nat": 59, "incl_refl": 59, "lel_refl": 59, "lel": 59, "add_carry_div2": 59, "_subterm": 59, "therebi": 59, "subpackag": 59, "printconf": 59, "grep": 59, "comextradep": 59, "query_extra_dep": 59, "section_path": 59, "base_includ": 59, "sustem": 59, "confirm": [59, 71], "pedant": 59, "78": 59, "formatt": 59, "beyond": [59, 63], "exce": [59, 67], "askra": 59, "obfusc": 59, "uncheck": 59, "bypass": 59, "check_guard": 59, "check_posit": 59, "check_univers": 59, "ackermann": 59, "ack": [59, 60], "ackm": 59, "plug": 59, "ind_bool": 59, "implementor": 59, "auto_us": 60, "fake": 60, "feed": 60, "carthi": 60, "ack0": 60, "ack1": 60, "ack2": 60, "base0": 60, "resack0": 60, "29": 60, "g0": [60, 67], "g1": 60, "g2": 60, "base1": 60, "resg0": 60, "110": 60, "resg1": 60, "imedi": 60, "dt": 60, "pressur": 60, "nonempti": 60, "ot": 60, "network": 60, "prefac": 60, "needless": 60, "hints_regexp": 60, "emp": 60, "ep": 60, "mispars": 60, "plus0l": 60, "plus0r": 60, "plussl": 60, "plussr": 60, "carefulli": 60, "nonneg": 60, "section_var_expr": [60, 66], "instrument": 61, "tautolog": 62, "mun94": [62, 77], "1000": [62, 64], "nelson": 62, "oppen": 62, "inj": 62, "provis": 62, "btauto_term": 62, "mtac2": 63, "\u03bbprolog": 63, "wikipedia": 64, "equivalence_class": 64, "mayb": 64, "drive": 64, "4476": 64, "weakli": 64, "reference_occ": 64, "pred_add": 64, "\u03b2\u03b9\u03b6": 64, "undesir": 64, "preceed": 64, "ler90": [64, 77], "4776": 64, "dozen": 64, "gregoirel02": [64, 77], "dramat": 64, "bdenesgregoire11": [64, 77], "wall": 64, "clock": 64, "native_compute_profil": 64, "consult": 64, "irreversibli": 64, "strategy_level": [64, 71], "tie": 64, "strategy_level_or_var": [64, 71], "proport": 64, "transact": [64, 77], "133": 64, "054u": 64, "079": 64, "614": 64, "612u": 64, "002": 64, "001": 64, "001u": 64, "002u": 64, "super": 64, "robustli": 64, "inabl": 64, "12200": 64, "tt_n": 66, "t_h": 66, "tt_h": 66, "glt89": [66, 77], "theorem_nam": 66, "fetch": 66, "unnamed_thm": 66, "misus": 66, "recheck": 66, "gulp": 66, "498": 66, "starred_ident_ref": 66, "section_var_expr50": 66, "section_var_expr0": 66, "hn": 66, "radixnotzero": 66, "noedit": 66, "name_go": 66, "inact": 66, "attent": 66, "9146": 66, "caution": 66, "computation": 66, "aim": 66, "y13": 66, "pale": 66, "bg": 66, "foreground": 66, "bold": 66, "strikeout": 66, "lexer": 66, "myer": [66, 77], "mye86": [66, 77], "undif": 66, "solve_constraint": 66, "stat": 66, "live_word": 66, "heap_word": 66, "top_heap_word": 66, "experienc": 66, "induction_principl": 67, "ih": 67, "mental": 67, "induction_test": 67, "induction_test2": 67, "ihn0": [67, 72], "conor": [67, 77], "mcbride": [67, 77], "mcb00": [67, 77], "ct95": [67, 77], "lt_1_r": 67, "ihl": 67, "simple_bind": 67, "disjointed": 67, "outermost": 67, "versu": 67, "esimplifi": 67, "contructor": 67, "subequ": 67, "contains0": 67, "in_hd": 67, "in_tl": 67, "contains0_ind": 67, "contains0_sind": 67, "hl": 67, "heqp": 67, "heql": 67, "rect": 67, "le_rect": 67, "le_rec": 67, "inversion_clear": 67, "vec": 67, "vec_rect": 67, "vec_ind": 67, "vec_rec": 67, "vec_sind": 67, "invert_con": 67, "h2_": 67, "h2_0": 67, "uip_refl_nat": 67, "nq": 67, "scheme_kind": 67, "sort_famili": [67, 72], "tree_forest_rec": 67, "forest_tree_rec": 67, "nat_rec_nodep": 67, "nat_case_nodep": 67, "tree_forest_ind": 67, "forest_tree_ind": 67, "tree_forest_mutind": 67, "tree_forest_rect": 67, "forest_tree_rect": 67, "tree_forest_mutrect": 67, "leminv": 67, "generalize_eq": 67, "revisit": 67, "gen_x": 67, "amen": 67, "generalize_eqs_var": 67, "simplify_dep_elim": 67, "ihp": 67, "do_depind": 67, "vnil": 67, "vector_rect": 67, "vector_ind": 67, "vector_rec": 67, "vector_sind": 67, "dismiss": 67, "type_rect": 67, "type_ind": 67, "type_rec": 67, "type_sind": 67, "ctx": 67, "snoc": 67, "ctx_rect": 67, "ctx_ind": 67, "ctx_rec": 67, "ctx_sind": 67, "tau": 67, "conc": 67, "term_rect": 67, "term_ind": 67, "term_rec": 67, "term_sind": 67, "allevi": 67, "plumb": 67, "simpl_depind": 67, "ihterm": 67, "d0": [67, 71], "notation_declar": 71, "scope_nam": 71, "untermin": 71, "unend": 71, "tight": 71, "articul": 71, "highest": 71, "nonassoci": 71, "ll1": 71, "samel": 71, "rudimentari": 71, "hv": 71, "preferenti": 71, "incompar": 71, "reimport": 71, "parm": 71, "enable_notation_flag": 71, "123": 71, "reachabl": 71, "vernac_control": 71, "za": 71, "9_": 71, "punctuat": [71, 75], "sep": 71, "elements1": 71, "elements2": 71, "righta": 71, "lefta": 71, "tactic_then_loc": 71, "docgram": 71, "fullgrammar": 71, "orderedgrammar": 71, "dom": 71, "subset_bi": 71, "myforal": 71, "exists_differ": 71, "_p": 71, "force2": 71, "_e": 71, "mylet": 71, "funapp": 71, "exists_non_nul": 71, "apply_id": 71, "expr_rect": 71, "expr_ind": 71, "expr_rec": 71, "expr_sind": 71, "border": 71, "binder_interp": 71, "explicit_subentri": 71, "diagnost": 71, "_scope": 71, "byte_scop": 71, "hex_int_scop": 71, "hex_nat_scop": 71, "hex_uint_scop": 71, "f_scope": 71, "n_scope": 71, "positive_scop": 71, "qc_scope": 71, "qc": 71, "printabl": 71, "beep": 71, "char_scop": 71, "nlist": 71, "plus1": 71, "explicit_id": 71, "unnatur": 71, "number_modifi": 71, "number_string_via": 71, "refresh": 71, "hexa": 71, "remap": 71, "seemingli": 71, "radix3": 71, "x3p1": 71, "x3p2": 71, "radix3_rect": 71, "radix3_ind": 71, "radix3_rec": 71, "radix3_sind": 71, "of_uint_dec": 71, "d1": 71, "d2": 71, "rev": 71, "uintdecim": 71, "uinthexadecim": 71, "to_uint_dec": 71, "to_uint": 71, "radix3_scop": 71, "pos_neg_int63": 71, "int_wrapp": 71, "int_wrap": 71, "iempti": 71, "iunit": 71, "isum": 71, "i2": 71, "to_num_uint": 71, "nset": 71, "fin_scop": 71, "id_str": 71, "abc": 71, "ltac_production_item": 71, "_list_sep": 71, "destruct_with_eqn": 71, "smart_glob": 71, "tacn": 71, "_list": 71, "ne_": 71, "_complet": 72, "_correct": 72, "_equat": 72, "recdef": 72, "sf": 72, "_tcc": 72, "_termin": 72, "antonia": 72, "balaa": 72, "barth": 72, "pichardi": [72, 77], "vlad": 72, "rusu": 72, "plus_equ": 72, "plus_rect": 72, "plus_rec": 72, "r_plus_correct": 72, "r_plus_complet": 72, "minus_ind": 72, "sub_equ": 72, "func_scheme_def": 72, "div2_ind": 72, "div2_equ": 72, "div2_l": 72, "tree_size_equ": 72, "tree_size_rect": 72, "tree_size_ind": 72, "tree_size_rec": 72, "forest_size_equ": 72, "forest_size_rect": 72, "forest_size_ind": 72, "forest_size_rec": 72, "r_tree_size_correct": 72, "r_forest_size_correct": 72, "r_tree_size_complet": 72, "r_forest_size_complet": 72, "tree_size_ind2": 72, "forest_size_ind2": 72, "onlin": 73, "nearli": 73, "hyphen": 74, "estim": 74, "zim19": [74, 77], "trim": 74, "mylib": 74, "javadoc": 75, "ocamldoc": 75, "todd": 75, "coram": 75, "aft": 75, "preformat": 75, "overwritten": 75, "lex": 75, "ensuremath": 75, "asterisk": 75, "dash": 75, "mistaken": 75, "_emphas": 75, "text_": 75, "lastli": 75, "sheet": 75, "dvi": 75, "postscript": 75, "texmac": 75, "meaningless": 75, "trailer": 75, "preambl": 75, "quiet": 75, "domin": 75, "tableofcont": 75, "subtitl": 75, "modulenam": 75, "latin1": 75, "8859": 75, "inputenc": 75, "utf8x": 75, "ctan": 75, "textgreek": 75, "stmaryrd": 75, "declareunicodecharact": 75, "usepackag": 75, "xcolor": 75, "coqdockw": 75, "coqdocid": 75, "san": 75, "serif": 75, "slant": 75, "renewcommand": 75, "textsl": 75, "coqdocmodul": 75, "abel": 77, "gothenburg": 77, "north": 77, "holland": 77, "1981": 77, "mathieu": 77, "boespflug": 77, "\u00e9": 77, "\u00e8": 77, "gr": 77, "goir": 77, "throttl": 77, "jouannaud": 77, "zhong": 77, "shao": 77, "cpp": 77, "kent": 77, "taiwan": 77, "7086": 77, "lectur": 77, "362": 77, "377": 77, "springer": 77, "dx": 77, "doi": 77, "1007": 77, "978": 77, "642": 77, "25379": 77, "9_26": 77, "abadi": 77, "takahashi": 77, "ito": 77, "1281": 77, "verlag": 77, "1997": 77, "cockx": 77, "tame": 77, "proc": 77, "acm": 77, "lang": 77, "1145": 77, "3434341": 77, "conchon": 77, "sigplan": 77, "freiburg": 77, "germani": 77, "2007": 77, "ftp": 77, "publi": 77, "puf": 77, "wml07": 77, "rr": 77, "1088": 77, "hal": 77, "00075471": 77, "rard": 77, "mathematiqu": 77, "0515": 77, "00076039": 77, "0530": 77, "00076024": 77, "un": 77, "th\u00e9ori": 77, "universit\u00e9": 77, "ma": 77, "societi": 77, "151": 77, "184": 77, "berlin": 77, "heidelberg": 77, "540": 77, "15983": 77, "5_13": 77, "colog": 77, "52335": 77, "9_47": 77, "delphin": 77, "terrass": 77, "fei": 77, "william": 77, "craig": 77, "combinatori": 77, "1958": 77, "9e": 77, "lui": 77, "dama": 77, "9th": 77, "sigact": 77, "popl": 77, "82": 77, "207": 77, "212": 77, "york": 77, "ny": 77, "usa": 77, "1982": 77, "582153": 77, "582176": 77, "rosser": 77, "indag": 77, "1972": 77, "actic": 77, "anguag": 77, "ystem": 77, "lpar": 77, "reunion": 77, "island": 77, "1955": 77, "lirmm": 77, "7edelahay": 77, "2700": 77, "cosmo": 77, "birkhaus": 77, "isbn": 77, "8176": 77, "3763": 77, "journal": 77, "ga": 77, "\u00eb": 77, "tan": 77, "3290316": 77, "94": 77, "996": 77, "1158": 77, "135": 77, "152": 77, "2005": 77, "alessandro": 77, "giovini": 77, "teo": 77, "mora": 77, "gianfranco": 77, "niesi": 77, "lorenzo": 77, "robbiano": 77, "traverso": 77, "cube": 77, "issac": 77, "taylor": 77, "tract": 77, "aleksandar": 77, "nanevski": 77, "derek": 77, "dreyer": 77, "175": 77, "2034574": 77, "2034798": 77, "mitchel": 77, "wand": 77, "peyton": 77, "jone": 77, "seventh": 77, "icfp": 77, "pittsburgh": 77, "235": 77, "246": 77, "581478": 77, "581501": 77, "seldin": 77, "essai": 77, "academ": 77, "1980": 77, "elsevi": 77, "17660": 77, "8_62": 77, "gyesik": 77, "117": 77, "irif": 77, "extraction2002": 77, "sebastiaan": 77, "luttik": 77, "eelco": 77, "asf": 77, "sdf": 77, "sandrin": 77, "blazi": 77, "2013": 77, "7998": 77, "lnc": 77, "renn": 77, "00816703": 77, "39634": 77, "2_5": 77, "197": 77, "216": 77, "lic": 77, "84": 77, "d\u00e9monstrat": 77, "automatiqu": 77, "logiqu": 77, "propositionnel": 77, "intuitionnist": 77, "fondamental": 77, "eugen": 77, "nd": 77, "algorithmica": 77, "xmailserv": 77, "diff2": 77, "947": 77, "bezem": 77, "groot": 77, "664": 77, "49": 77, "\u03c9": 77, "75277": 77, "75285": 77, "328": 77, "345": 77, "bfb0037116": 77, "209": 77, "228": 77, "bfb0040259": 77, "rushbi": 77, "owr": 77, "shankar": 77, "709": 77, "720": 77, "oq": 77, "4502": 77, "237": 77, "252": 77, "ouri": 77, "irst": 77, "ype": 77, "tphol": 77, "rta": 77, "2051": 77, "357": 77, "zine": 77, "el": 77, "abidin": 77, "benaissa": 77, "tolmach": 77, "th\u00e8se": 77, "doctorat": 77, "collabor": 77, "tel": 77, "ouvert": 77, "02451322": 77}, "objects": {""All" is a predefined collection containing all variables": [[66, 0, 1, "coq:exn.\"All\"-is-a-predefined-collection-containing-all-variables.-It-can't-be-redefined", " It can't be redefined"]], "": [[71, 0, 1, "coq:exn.'via'-and-'abstract'-cannot-be-used-together", "'via' and 'abstract' cannot be used together"], [54, 1, 1, "coq:tacn.+-(backtracking-branching)", "+ (backtracking branching)"], [57, 1, 1, "coq:tacn.=>", "=>"], [66, 3, 1, "coq:cmd.Abort", "Abort"], [59, 3, 1, "coq:cmd.About", "About"], [71, 2, 1, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-grammar-entry", "Activation of abbreviations does not expect mentioning a grammar entry"], [71, 2, 1, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-scope", "Activation of abbreviations does not expect mentioning a scope"], [29, 3, 1, "coq:cmd.Add", "Add"], [11, 3, 1, "coq:cmd.Add-Field", "Add Field"], [3, 3, 1, "coq:cmd.Add-Morphism", "Add Morphism"], [3, 3, 1, "coq:cmd.Add-Parametric-Morphism", "Add Parametric Morphism"], [3, 3, 1, "coq:cmd.Add-Parametric-Relation", "Add Parametric Relation"], [3, 3, 1, "coq:cmd.Add-Parametric-Setoid", "Add Parametric Setoid"], [3, 3, 1, "coq:cmd.Add-Relation", "Add Relation"], [11, 3, 1, "coq:cmd.Add-Ring", "Add Ring"], [3, 3, 1, "coq:cmd.Add-Setoid", "Add Setoid"], [5, 3, 1, "coq:cmd.Add-Zify", "Add Zify"], [9, 3, 1, "coq:cmd.Admit-Obligations", "Admit Obligations"], [66, 3, 1, "coq:cmd.Admitted", "Admitted"], [12, 4, 1, "coq:flag.Allow-StrictProp", "Allow StrictProp"], [44, 0, 1, "coq:exn.Argument-at-position-\u2018natural\u2019-is-mentioned-more-than-once", "Argument at position \u2018natural\u2019 is mentioned more than once"], [54, 0, 1, "coq:exn.Argument-of-match-does-not-evaluate-to-a-term", "Argument of match does not evaluate to a term"], [41, 3, 1, "coq:cmd.Arguments", "Arguments"], [44, 0, 1, "coq:exn.Arguments-given-by-name-or-position-not-supported-in-explicit-mode", "Arguments given by name or position not supported in explicit mode"], [11, 0, 1, "coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type", "Arguments of ring_simplify do not have all the same type"], [41, 0, 1, "coq:exn.Arguments-of-section-variables-such-as-\u2018name\u2019-may-not-be-renamed", "Arguments of section variables such as \u2018name\u2019 may not be renamed"], [46, 4, 1, "coq:flag.Asymmetric-Patterns", "Asymmetric Patterns"], [66, 0, 1, "coq:exn.Attempt-to-save-an-incomplete-proof", "Attempt to save an incomplete proof"], [29, 3, 1, "coq:cmd.Attributes", "Attributes"], [34, 4, 1, "coq:flag.Auto-Template-Polymorphism", "Auto Template Polymorphism"], [34, 2, 1, "coq:warn.Automatically-declaring-\u2018ident\u2019-as-template-polymorphic", "Automatically declaring \u2018ident\u2019 as template polymorphic"], [28, 3, 1, "coq:cmd.Axiom", "Axiom"], [28, 3, 1, "coq:cmd.Axioms", "Axioms"], [59, 3, 1, "coq:cmd.Back", "Back"], [59, 3, 1, "coq:cmd.BackTo", "BackTo"], [11, 0, 1, "coq:exn.Bad-lemma-for-decidability-of-equality", "Bad lemma for decidability of equality"], [59, 0, 1, "coq:exn.Bad-magic-number", "Bad magic number"], [64, 0, 1, "coq:exn.Bad-occurrence-number-of-\u2018qualid\u2019", "Bad occurrence number of \u2018qualid\u2019"], [12, 2, 1, "coq:warn.Bad-relevance", "Bad relevance"], [11, 0, 1, "coq:exn.Bad-ring-structure", "Bad ring structure"], [71, 3, 1, "coq:cmd.Bind-Scope", "Bind Scope"], [67, 4, 1, "coq:flag.Boolean-Equality-Schemes", "Boolean Equality Schemes"], [5, 5, 1, "coq:thm.Bound-on-the-ceiling-function", "Bound on the ceiling function"], [66, 0, 1, "coq:exn.Brackets-do-not-support-multi-goal-selectors", "Brackets do not support multi-goal selectors"], [66, 6, 1, "coq:opt.Bullet-Behavior", "Bullet Behavior"], [72, 2, 1, "coq:warn.Cannot-build-functional-inversion-principle", "Cannot build functional inversion principle"], [58, 0, 1, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-conclusion", "Cannot change \u2018ident\u2019, it is used in conclusion"], [58, 0, 1, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-hypothesis-\u2018ident\u2019", "Cannot change \u2018ident\u2019, it is used in hypothesis \u2018ident\u2019"], [60, 0, 1, "coq:exn.Cannot-coerce-\u2018qualid\u2019-to-an-evaluable-reference", "Cannot coerce \u2018qualid\u2019 to an evaluable reference"], [72, 2, 1, "coq:warn.Cannot-define-graph-for-\u2018ident\u2019", "Cannot define graph for \u2018ident\u2019"], [72, 2, 1, "coq:warn.Cannot-define-principle(s)-for-\u2018ident\u2019", "Cannot define principle(s) for \u2018ident\u2019"], [11, 0, 1, "coq:exn.Cannot-find-a-declared-ring-structure-for-equality-\u2018term\u2019", "Cannot find a declared ring structure for equality \u2018term\u2019"], [11, 0, 1, "coq:exn.Cannot-find-a-declared-ring-structure-over-\u2018term\u2019", "Cannot find a declared ring structure over \u2018term\u2019"], [64, 0, 1, "coq:exn.Cannot-find-a-relation-to-rewrite", "Cannot find a relation to rewrite"], [64, 0, 1, "coq:exn.Cannot-find-any-non-recursive-equality-over-\u2018ident\u2019", "Cannot find any non-recursive equality over \u2018ident\u2019"], [72, 0, 1, "coq:exn.Cannot-find-induction-information-on-\u2018qualid\u2019", "Cannot find induction information on \u2018qualid\u2019"], [72, 0, 1, "coq:exn.Cannot-find-inversion-information-for-hypothesis-\u2018ident\u2019", "Cannot find inversion information for hypothesis \u2018ident\u2019"], [59, 0, 1, "coq:exn.Cannot-find-library-foo-in-loadpath", "Cannot find library foo in loadpath"], [4, 0, 1, "coq:exn.Cannot-find-the-source-class-of-\u2018qualid\u2019", "Cannot find the source class of \u2018qualid\u2019"], [4, 0, 1, "coq:exn.Cannot-find-the-target-class", "Cannot find the target class"], [35, 2, 1, "coq:warn.Cannot-import-local-constant,-it-will-be-ignored", "Cannot import local constant, it will be ignored"], [71, 0, 1, "coq:exn.Cannot-interpret-in-\u2018scope_name\u2019-because-\u2018qualid\u2019-could-not-be-found-in-the-current-environment", "Cannot interpret in \u2018scope_name\u2019 because \u2018qualid\u2019 could not be found in the current environment"], [71, 0, 1, "coq:exn.Cannot-interpret-this-number-as-a-value-of-type-\u2018type\u2019", "Cannot interpret this number as a value of type \u2018type\u2019"], [71, 0, 1, "coq:exn.Cannot-interpret-this-string-as-a-value-of-type-\u2018type\u2019", "Cannot interpret this string as a value of type \u2018type\u2019"], [59, 0, 1, "coq:exn.Cannot-load-\u2018qualid\u2019:-no-physical-path-bound-to-\u2018dirpath\u2019", "Cannot load \u2018qualid\u2019: no physical path bound to \u2018dirpath\u2019"], [58, 0, 1, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-depends-on-\u2018ident\u2019", "Cannot move \u2018ident\u2019 after \u2018ident\u2019: it depends on \u2018ident\u2019"], [58, 0, 1, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-occurs-in-the-type-of-\u2018ident\u2019", "Cannot move \u2018ident\u2019 after \u2018ident\u2019: it occurs in the type of \u2018ident\u2019"], [62, 0, 1, "coq:exn.Cannot-recognize-a-boolean-equality", "Cannot recognize a boolean equality"], [67, 0, 1, "coq:exn.Cannot-recognize-a-statement-based-on-\u2018reference\u2019", "Cannot recognize a statement based on \u2018reference\u2019"], [4, 0, 1, "coq:exn.Cannot-recognize-\u2018coercion_class\u2019-as-a-source-class-of-\u2018qualid\u2019", "Cannot recognize \u2018coercion_class\u2019 as a source class of \u2018qualid\u2019"], [64, 0, 1, "coq:exn.Cannot-turn-[inductive|constructor]-into-an-evaluable-reference", "Cannot turn [inductive|constructor] into an evaluable reference"], [72, 0, 1, "coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure", "Cannot use mutual definition with well-founded recursion or measure"], [42, 3, 1, "coq:cmd.Canonical-Structure", "Canonical Structure"], [59, 0, 1, "coq:exn.Can\u2019t-find-file-\u2018ident\u2019-on-loadpath", "Can\u2019t find file \u2018ident\u2019 on loadpath"], [67, 4, 1, "coq:flag.Case-Analysis-Schemes", "Case Analysis Schemes"], [5, 5, 1, "coq:thm.Case-split", "Case split"], [40, 0, 1, "coq:exn.Casts-are-not-supported-in-this-pattern", "Casts are not supported in this pattern"], [2, 3, 1, "coq:cmd.Cd", "Cd"], [59, 3, 1, "coq:cmd.Check", "Check"], [13, 3, 1, "coq:cmd.Class", "Class"], [71, 3, 1, "coq:cmd.Close-Scope", "Close Scope"], [30, 3, 1, "coq:cmd.CoFixpoint", "CoFixpoint"], [30, 3, 1, "coq:cmd.CoInductive", "CoInductive"], [4, 3, 1, "coq:cmd.Coercion", "Coercion"], [66, 3, 1, "coq:cmd.Collection", "Collection"], [67, 3, 1, "coq:cmd.Combined-Scheme", "Combined Scheme"], [29, 3, 1, "coq:cmd.Comments", "Comments"], [64, 3, 1, "coq:cmd.Compute", "Compute"], [54, 0, 1, "coq:exn.Condition-not-satisfied", "Condition not satisfied"], [28, 3, 1, "coq:cmd.Conjecture", "Conjecture"], [28, 3, 1, "coq:cmd.Conjectures", "Conjectures"], [14, 3, 1, "coq:cmd.Constraint", "Constraint"], [38, 3, 1, "coq:cmd.Context", "Context"], [44, 4, 1, "coq:flag.Contextual-Implicit", "Contextual Implicit"], [51, 4, 1, "coq:flag.Coqtop-Exit-On-Error", "Coqtop Exit On Error"], [32, 3, 1, "coq:cmd.Corollary", "Corollary"], [60, 3, 1, "coq:cmd.Create-HintDb", "Create HintDb"], [14, 7, 1, "coq:attr.Cumulative", "Cumulative"], [14, 4, 1, "coq:flag.Cumulativity-Weak-Constraints", "Cumulativity Weak Constraints"], [54, 3, 1, "coq:cmd.Debug", "Debug"], [59, 6, 1, "coq:opt.Debug", "Debug"], [60, 4, 1, "coq:flag.Debug-Auto", "Debug Auto"], [60, 4, 1, "coq:flag.Debug-Eauto", "Debug Eauto"], [57, 4, 1, "coq:flag.Debug-SsrMatching", "Debug SsrMatching"], [57, 4, 1, "coq:flag.Debug-Ssreflect", "Debug Ssreflect"], [60, 4, 1, "coq:flag.Debug-Trivial", "Debug Trivial"], [54, 0, 1, "coq:exn.Debug-mode-not-available-in-the-IDE", "Debug mode not available in the IDE"], [67, 4, 1, "coq:flag.Decidable-Equality-Schemes", "Decidable Equality Schemes"], [71, 3, 1, "coq:cmd.Declare-Custom-Entry", "Declare Custom Entry"], [64, 3, 1, "coq:cmd.Declare-Equivalent-Keys", "Declare Equivalent Keys"], [13, 3, 1, "coq:cmd.Declare-Instance", "Declare Instance"], [64, 3, 1, "coq:cmd.Declare-Left-Step", "Declare Left Step"], [59, 3, 1, "coq:cmd.Declare-ML-Module", "Declare ML Module"], [35, 3, 1, "coq:cmd.Declare-Module", "Declare Module"], [3, 3, 1, "coq:cmd.Declare-Morphism", "Declare Morphism"], [64, 3, 1, "coq:cmd.Declare-Reduction", "Declare Reduction"], [64, 3, 1, "coq:cmd.Declare-Right-Step", "Declare Right Step"], [71, 3, 1, "coq:cmd.Declare-Scope", "Declare Scope"], [60, 2, 1, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead", "Declaring arbitrary terms as hints is fragile and deprecated; it is recommended to declare a toplevel constant instead"], [58, 6, 1, "coq:opt.Default-Goal-Selector", "Default Goal Selector"], [66, 6, 1, "coq:opt.Default-Proof-Mode", "Default Proof Mode"], [66, 6, 1, "coq:opt.Default-Proof-Using", "Default Proof Using"], [59, 6, 1, "coq:opt.Default-Timeout", "Default Timeout"], [66, 3, 1, "coq:cmd.Defined", "Defined"], [32, 3, 1, "coq:cmd.Definition", "Definition"], [12, 4, 1, "coq:flag.Definitional-UIP", "Definitional UIP"], [71, 3, 1, "coq:cmd.Delimit-Scope", "Delimit Scope"], [34, 4, 1, "coq:flag.Dependent-Proposition-Eliminators", "Dependent Proposition Eliminators"], [6, 3, 1, "coq:cmd.Derive", "Derive"], [67, 3, 1, "coq:cmd.Derive-Dependent-Inversion", "Derive Dependent Inversion"], [67, 3, 1, "coq:cmd.Derive-Dependent-Inversion_clear", "Derive Dependent Inversion_clear"], [67, 3, 1, "coq:cmd.Derive-Inversion", "Derive Inversion"], [67, 3, 1, "coq:cmd.Derive-Inversion_clear", "Derive Inversion_clear"], [66, 6, 1, "coq:opt.Diffs", "Diffs"], [71, 3, 1, "coq:cmd.Disable-Notation", "Disable Notation"], [59, 3, 1, "coq:cmd.Drop", "Drop"], [5, 6, 1, "coq:opt.Dump-Arith", "Dump Arith"], [59, 0, 1, "coq:exn.Dynlink-error:-execution-of-module-initializers-in-the", "Dynlink error: execution of module initializers in the"], [46, 0, 1, "coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies", "Either there is a type incompatibility or the problem involves dependencies"], [67, 4, 1, "coq:flag.Elimination-Schemes", "Elimination Schemes"], [71, 3, 1, "coq:cmd.Enable-Notation", "Enable Notation"], [38, 3, 1, "coq:cmd.End", "End"], [71, 0, 1, "coq:exn.End-of-quoted-string-not-followed-by-a-space-in-notation", "End of quoted string not followed by a space in notation"], [64, 3, 1, "coq:cmd.Eval", "Eval"], [32, 3, 1, "coq:cmd.Example", "Example"], [13, 3, 1, "coq:cmd.Existing-Class", "Existing Class"], [13, 3, 1, "coq:cmd.Existing-Instance", "Existing Instance"], [13, 3, 1, "coq:cmd.Existing-Instances", "Existing Instances"], [35, 3, 1, "coq:cmd.Export", "Export"], [54, 0, 1, "coq:exn.Expression-does-not-evaluate-to-a-tactic", "Expression does not evaluate to a tactic"], [2, 3, 1, "coq:cmd.Extract-Callback", "Extract Callback"], [2, 0, 1, "coq:exn.Extract-Callback-is-supported-only-for-OCaml-extraction", "Extract Callback is supported only for OCaml extraction"], [2, 3, 1, "coq:cmd.Extract-Constant", "Extract Constant"], [2, 3, 1, "coq:cmd.Extract-Foreign-Constant", "Extract Foreign Constant"], [2, 0, 1, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-OCaml-extraction", "Extract Foreign Constant is supported only for OCaml extraction"], [2, 0, 1, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-functions", "Extract Foreign Constant is supported only for functions"], [2, 3, 1, "coq:cmd.Extract-Inductive", "Extract Inductive"], [2, 3, 1, "coq:cmd.Extract-Inlined-Constant", "Extract Inlined Constant"], [2, 3, 1, "coq:cmd.Extraction", "Extraction"], [2, 4, 1, "coq:flag.Extraction-AutoInline", "Extraction AutoInline"], [2, 3, 1, "coq:cmd.Extraction-Blacklist", "Extraction Blacklist"], [2, 4, 1, "coq:flag.Extraction-Conservative-Types", "Extraction Conservative Types"], [2, 6, 1, "coq:opt.Extraction-File-Comment", "Extraction File Comment"], [2, 6, 1, "coq:opt.Extraction-Flag", "Extraction Flag"], [2, 3, 1, "coq:cmd.Extraction-Implicit", "Extraction Implicit"], [2, 3, 1, "coq:cmd.Extraction-Inline", "Extraction Inline"], [2, 4, 1, "coq:flag.Extraction-KeepSingleton", "Extraction KeepSingleton"], [2, 3, 1, "coq:cmd.Extraction-Language", "Extraction Language"], [2, 3, 1, "coq:cmd.Extraction-Library", "Extraction Library"], [2, 3, 1, "coq:cmd.Extraction-NoInline", "Extraction NoInline"], [2, 4, 1, "coq:flag.Extraction-Optimize", "Extraction Optimize"], [2, 6, 1, "coq:opt.Extraction-Output-Directory", "Extraction Output Directory"], [2, 4, 1, "coq:flag.Extraction-SafeImplicits", "Extraction SafeImplicits"], [2, 3, 1, "coq:cmd.Extraction-TestCompile", "Extraction TestCompile"], [2, 4, 1, "coq:flag.Extraction-TypeExpand", "Extraction TypeExpand"], [32, 3, 1, "coq:cmd.Fact", "Fact"], [59, 3, 1, "coq:cmd.Fail", "Fail"], [54, 0, 1, "coq:exn.Failed-to-progress", "Failed to progress"], [59, 4, 1, "coq:flag.Fast-Name-Printing", "Fast Name Printing"], [59, 0, 1, "coq:exn.File-not-found-on-loadpath:-\u2018string\u2019", "File not found on loadpath: \u2018string\u2019"], [59, 0, 1, "coq:exn.Files-processed-by-Load-cannot-leave-open-proofs", "Files processed by Load cannot leave open proofs"], [9, 3, 1, "coq:cmd.Final-Obligation", "Final Obligation"], [62, 6, 1, "coq:opt.Firstorder-Depth", "Firstorder Depth"], [62, 6, 1, "coq:opt.Firstorder-Solver", "Firstorder Solver"], [34, 3, 1, "coq:cmd.Fixpoint", "Fixpoint"], [41, 0, 1, "coq:exn.Flag-'rename'-expected-to-rename-\u2018name\u2019-into-\u2018name\u2019", "Flag 'rename' expected to rename \u2018name\u2019 into \u2018name\u2019"], [66, 3, 1, "coq:cmd.Focus", "Focus"], [46, 0, 1, "coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected", "Found a constructor of inductive type term while a constructor of term is expected"], [64, 0, 1, "coq:exn.Found-an-\"at\"-clause-without-\"with\"-clause", "Found an "at" clause without "with" clause"], [71, 2, 1, "coq:warn.Found-no-matching-notation-to-enable-or-disable", "Found no matching notation to enable or disable"], [64, 0, 1, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-the-current-goal", "Found no subterm matching \u2018term\u2019 in the current goal"], [64, 0, 1, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-\u2018ident\u2019", "Found no subterm matching \u2018term\u2019 in \u2018ident\u2019"], [4, 0, 1, "coq:exn.Found-target-class-\u2018coercion_class\u2019-instead-of-\u2018coercion_class\u2019", "Found target class \u2018coercion_class\u2019 instead of \u2018coercion_class\u2019"], [59, 3, 1, "coq:cmd.From-\u2026-Dependency", "From \u2026 Dependency"], [59, 3, 1, "coq:cmd.From-\u2026-Require", "From \u2026 Require"], [4, 0, 1, "coq:exn.Funclass-cannot-be-a-source-class", "Funclass cannot be a source class"], [72, 3, 1, "coq:cmd.Function", "Function"], [72, 3, 1, "coq:cmd.Functional-Case", "Functional Case"], [72, 3, 1, "coq:cmd.Functional-Scheme", "Functional Scheme"], [44, 3, 1, "coq:cmd.Generalizable", "Generalizable"], [72, 3, 1, "coq:cmd.Generate-graph-for", "Generate graph for"], [66, 3, 1, "coq:cmd.Goal", "Goal"], [59, 4, 1, "coq:flag.Guard-Checking", "Guard Checking"], [66, 3, 1, "coq:cmd.Guarded", "Guarded"], [60, 3, 1, "coq:cmd.Hint-Constants", "Hint Constants"], [60, 3, 1, "coq:cmd.Hint-Constructors", "Hint Constructors"], [60, 3, 1, "coq:cmd.Hint-Cut", "Hint Cut"], [60, 3, 1, "coq:cmd.Hint-Extern", "Hint Extern"], [60, 3, 1, "coq:cmd.Hint-Immediate", "Hint Immediate"], [60, 3, 1, "coq:cmd.Hint-Mode", "Hint Mode"], [60, 3, 1, "coq:cmd.Hint-Opaque", "Hint Opaque"], [60, 3, 1, "coq:cmd.Hint-Projections", "Hint Projections"], [60, 3, 1, "coq:cmd.Hint-Resolve", "Hint Resolve"], [60, 3, 1, "coq:cmd.Hint-Rewrite", "Hint Rewrite"], [60, 3, 1, "coq:cmd.Hint-Transparent", "Hint Transparent"], [60, 3, 1, "coq:cmd.Hint-Unfold", "Hint Unfold"], [60, 3, 1, "coq:cmd.Hint-Variables", "Hint Variables"], [57, 3, 1, "coq:cmd.Hint-View-for", "Hint View for"], [57, 3, 1, "coq:cmd.Hint-View-for-apply", "Hint View for apply"], [57, 3, 1, "coq:cmd.Hint-View-for-move", "Hint View for move"], [28, 3, 1, "coq:cmd.Hypotheses", "Hypotheses"], [28, 3, 1, "coq:cmd.Hypothesis", "Hypothesis"], [72, 0, 1, "coq:exn.Hypothesis-\u2018ident\u2019-must-contain-at-least-one-Function", "Hypothesis \u2018ident\u2019 must contain at least one Function"], [66, 6, 1, "coq:opt.Hyps-Limit", "Hyps Limit"], [62, 0, 1, "coq:exn.I-don\u2019t-know-how-to-handle-dependent-equality", "I don\u2019t know how to handle dependent equality"], [4, 3, 1, "coq:cmd.Identity-Coercion", "Identity Coercion"], [13, 2, 1, "coq:warn.Ignored-instance-declaration-for-\u201c\u2018ident\u2019\u201d:-\u201c\u2018term\u2019\u201d-is-not-a-class", "Ignored instance declaration for \u201c\u2018ident\u2019\u201d: \u201c\u2018term\u2019\u201d is not a class"], [44, 2, 1, "coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position", "Ignoring implicit binder declaration in unexpected position"], [9, 0, 1, "coq:exn.Ill-formed-recursive-definition", "Ill-formed recursive definition"], [34, 0, 1, "coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe", "Ill-formed template inductive declaration: not polymorphic on any universe"], [44, 4, 1, "coq:flag.Implicit-Arguments", "Implicit Arguments"], [44, 3, 1, "coq:cmd.Implicit-Type", "Implicit Type"], [44, 3, 1, "coq:cmd.Implicit-Types", "Implicit Types"], [35, 3, 1, "coq:cmd.Import", "Import"], [35, 3, 1, "coq:cmd.Include", "Include"], [35, 3, 1, "coq:cmd.Include-Type", "Include Type"], [57, 0, 1, "coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)", "Incorrect number of tactics (expected N tactics, was given M)"], [34, 3, 1, "coq:cmd.Inductive", "Inductive"], [71, 3, 1, "coq:cmd.Infix", "Infix"], [54, 3, 1, "coq:cmd.Info", "Info"], [60, 4, 1, "coq:flag.Info-Auto", "Info Auto"], [60, 4, 1, "coq:flag.Info-Eauto", "Info Eauto"], [54, 6, 1, "coq:opt.Info-Level", "Info Level"], [5, 4, 1, "coq:flag.Info-Micromega", "Info Micromega"], [60, 4, 1, "coq:flag.Info-Trivial", "Info Trivial"], [59, 3, 1, "coq:cmd.Inspect", "Inspect"], [13, 3, 1, "coq:cmd.Instance", "Instance"], [59, 3, 1, "coq:cmd.Instructions", "Instructions"], [62, 4, 1, "coq:flag.Intuition-Negation-Unfolding", "Intuition Negation Unfolding"], [59, 0, 1, "coq:exn.Invalid-backtrack", "Invalid backtrack"], [67, 8, 1, "coq:table.Keep-Equalities", "Keep Equalities"], [67, 4, 1, "coq:flag.Keep-Proof-Equalities", "Keep Proof Equalities"], [64, 4, 1, "coq:flag.Kernel-Term-Sharing", "Kernel Term Sharing"], [64, 4, 1, "coq:flag.Keyed-Unification", "Keyed Unification"], [38, 0, 1, "coq:exn.Last-block-to-end-has-name-\u2018ident\u2019", "Last block to end has name \u2018ident\u2019"], [32, 3, 1, "coq:cmd.Lemma", "Lemma"], [38, 3, 1, "coq:cmd.Let", "Let"], [38, 3, 1, "coq:cmd.Let-CoFixpoint", "Let CoFixpoint"], [38, 3, 1, "coq:cmd.Let-Fixpoint", "Let Fixpoint"], [5, 4, 1, "coq:flag.Lia-Cache", "Lia Cache"], [59, 3, 1, "coq:cmd.Load", "Load"], [59, 0, 1, "coq:exn.Load-is-not-supported-inside-proofs", "Load is not supported inside proofs"], [59, 3, 1, "coq:cmd.Locate", "Locate"], [59, 3, 1, "coq:cmd.Locate-File", "Locate File"], [59, 3, 1, "coq:cmd.Locate-Library", "Locate Library"], [59, 3, 1, "coq:cmd.Locate-Ltac", "Locate Ltac"], [59, 3, 1, "coq:cmd.Locate-Ltac2", "Locate Ltac2"], [59, 3, 1, "coq:cmd.Locate-Module", "Locate Module"], [59, 3, 1, "coq:cmd.Locate-Term", "Locate Term"], [60, 6, 1, "coq:opt.Loose-Hint-Behavior", "Loose Hint Behavior"], [54, 3, 1, "coq:cmd.Ltac", "Ltac"], [54, 4, 1, "coq:flag.Ltac-Backtrace", "Ltac Backtrace"], [54, 4, 1, "coq:flag.Ltac-Batch-Debug", "Ltac Batch Debug"], [54, 4, 1, "coq:flag.Ltac-Debug", "Ltac Debug"], [54, 4, 1, "coq:flag.Ltac-Profiling", "Ltac Profiling"], [55, 3, 1, "coq:cmd.Ltac2", "Ltac2"], [55, 4, 1, "coq:flag.Ltac2-Backtrace", "Ltac2 Backtrace"], [55, 3, 1, "coq:cmd.Ltac2-Check", "Ltac2 Check"], [55, 3, 1, "coq:cmd.Ltac2-Eval", "Ltac2 Eval"], [55, 3, 1, "coq:cmd.Ltac2-Globalize", "Ltac2 Globalize"], [55, 4, 1, "coq:flag.Ltac2-In-Ltac1-Profiling", "Ltac2 In Ltac1 Profiling"], [55, 3, 1, "coq:cmd.Ltac2-Notation", "Ltac2 Notation"], [55, 3, 1, "coq:cmd.Ltac2-Notation-(abbreviation)", "Ltac2 Notation (abbreviation)"], [55, 3, 1, "coq:cmd.Ltac2-Set", "Ltac2 Set"], [55, 3, 1, "coq:cmd.Ltac2-Type", "Ltac2 Type"], [55, 4, 1, "coq:flag.Ltac2-Typed-Notations", "Ltac2 Typed Notations"], [55, 3, 1, "coq:cmd.Ltac2-external", "Ltac2 external"], [44, 2, 1, "coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position", "Making shadowed name of implicit argument accessible by position"], [66, 4, 1, "coq:flag.Mangle-Names", "Mangle Names"], [66, 4, 1, "coq:flag.Mangle-Names-Light", "Mangle Names Light"], [66, 6, 1, "coq:opt.Mangle-Names-Prefix", "Mangle Names Prefix"], [44, 4, 1, "coq:flag.Maximal-Implicit-Insertion", "Maximal Implicit Insertion"], [71, 0, 1, "coq:exn.Missing-mapping-for-constructor-\u2018qualid\u2019", "Missing mapping for constructor \u2018qualid\u2019"], [35, 3, 1, "coq:cmd.Module", "Module"], [35, 3, 1, "coq:cmd.Module-Type", "Module Type"], [59, 0, 1, "coq:exn.Module/section-\u2018qualid\u2019-not-found", "Module/section \u2018qualid\u2019 not found"], [14, 7, 1, "coq:attr.Monomorphic", "Monomorphic"], [71, 0, 1, "coq:exn.More-than-one-interpretation-bound-to-this-notation,-confirm-with-the-\"all\"-modifier", "More than one interpretation bound to this notation, confirm with the "all" modifier"], [71, 0, 1, "coq:exn.Multiple-'via'-options", "Multiple 'via' options"], [71, 0, 1, "coq:exn.Multiple-'warning-after'-or-'abstract-after'-options", "Multiple 'warning after' or 'abstract after' options"], [64, 6, 1, "coq:opt.NativeCompute-Profile-Filename", "NativeCompute Profile Filename"], [64, 4, 1, "coq:flag.NativeCompute-Profiling", "NativeCompute Profiling"], [64, 4, 1, "coq:flag.NativeCompute-Timing", "NativeCompute Timing"], [66, 4, 1, "coq:flag.Nested-Proofs-Allowed", "Nested Proofs Allowed"], [66, 2, 1, "coq:warn.New-Collection-definition-of-\u2018ident\u2019-shadows-the-previous-one", "New Collection definition of \u2018ident\u2019 shadows the previous one"], [9, 3, 1, "coq:cmd.Next-Obligation", "Next Obligation"], [5, 4, 1, "coq:flag.Nia-Cache", "Nia Cache"], [54, 0, 1, "coq:exn.No-applicable-tactic", "No applicable tactic"], [72, 0, 1, "coq:exn.No-argument-name-\u2018ident\u2019", "No argument name \u2018ident\u2019"], [54, 0, 1, "coq:exn.No-evars", "No evars"], [35, 0, 1, "coq:exn.No-field-named-\u2018ident\u2019-in-\u2018qualid\u2019", "No field named \u2018ident\u2019 in \u2018qualid\u2019"], [66, 0, 1, "coq:exn.No-focused-proof", "No focused proof"], [66, 0, 1, "coq:exn.No-focused-proof-(No-proof-editing-in-progress)", "No focused proof (No proof-editing in progress)"], [66, 0, 1, "coq:exn.No-focused-proof-to-restart", "No focused proof to restart"], [64, 0, 1, "coq:exn.No-head-constant-to-reduce", "No head constant to reduce"], [54, 0, 1, "coq:exn.No-matching-clauses-for-match", "No matching clauses for match"], [54, 0, 1, "coq:exn.No-matching-clauses-for-match-goal", "No matching clauses for match goal"], [71, 0, 1, "coq:exn.No-notation-provided", "No notation provided"], [67, 0, 1, "coq:exn.No-primitive-equality-found", "No primitive equality found"], [58, 0, 1, "coq:exn.No-product-even-after-head-reduction", "No product even after head-reduction"], [3, 0, 1, "coq:exn.No-progress-made", "No progress made"], [58, 0, 1, "coq:exn.No-quantified-hypothesis-named-\u2018ident\u2019-in-current-goal-even-after-head-reduction", "No quantified hypothesis named \u2018ident\u2019 in current goal even after head-reduction"], [58, 0, 1, "coq:exn.No-such-assumption", "No such assumption"], [58, 0, 1, "coq:exn.No-such-binder", "No such binder"], [58, 0, 1, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(no-bound-variables-at-all-in-the-expression)", "No such bound variable \u2018ident\u2019 (no bound variables at all in the expression)"], [66, 0, 1, "coq:exn.No-such-goal", "No such goal"], [66, 0, 1, "coq:exn.No-such-goal-(\u2018ident\u2019)", "No such goal (\u2018ident\u2019)"], [66, 0, 1, "coq:exn.No-such-goal-(\u2018natural\u2019)", "No such goal (\u2018natural\u2019)"], [58, 0, 1, "coq:exn.No-such-hypothesis:-\u2018ident\u2019", "No such hypothesis: \u2018ident\u2019"], [58, 0, 1, "coq:exn.No-\u2018natural\u2019-th-non-dependent-hypothesis-in-current-goal-even-after-head-reduction", "No \u2018natural\u2019-th non dependent hypothesis in current goal even after head-reduction"], [46, 0, 1, "coq:exn.Non-exhaustive-pattern-matching", "Non exhaustive pattern matching"], [9, 0, 1, "coq:exn.Non-extensible-universe-declaration-not-supported-with-monomorphic-Program-Definition", "Non extensible universe declaration not supported with monomorphic Program Definition"], [34, 0, 1, "coq:exn.Non-strictly-positive-occurrence-of-\u2018ident\u2019-in-\u2018type\u2019", "Non strictly positive occurrence of \u2018ident\u2019 in \u2018type\u2019"], [14, 7, 1, "coq:attr.NonCumulative", "NonCumulative"], [67, 4, 1, "coq:flag.Nonrecursive-Elimination-Schemes", "Nonrecursive Elimination Schemes"], [54, 0, 1, "coq:exn.Not-a-context-variable", "Not a context variable"], [67, 0, 1, "coq:exn.Not-a-discriminable-equality", "Not a discriminable equality"], [67, 0, 1, "coq:exn.Not-a-negated-primitive-equality", "Not a negated primitive equality"], [11, 0, 1, "coq:exn.Not-a-valid-ring-equation", "Not a valid ring equation"], [54, 0, 1, "coq:exn.Not-a-variable-or-hypothesis", "Not a variable or hypothesis"], [54, 0, 1, "coq:exn.Not-an-evar", "Not an evar"], [58, 0, 1, "coq:exn.Not-an-exact-proof", "Not an exact proof"], [67, 0, 1, "coq:exn.Not-an-inductive-goal-with-1-constructor", "Not an inductive goal with 1 constructor"], [67, 0, 1, "coq:exn.Not-an-inductive-goal-with-2-constructors", "Not an inductive goal with 2 constructors"], [67, 0, 1, "coq:exn.Not-an-inductive-product", "Not an inductive product"], [64, 0, 1, "coq:exn.Not-convertible", "Not convertible"], [67, 0, 1, "coq:exn.Not-enough-constructors", "Not enough constructors"], [44, 0, 1, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018ident\u2019", "Not enough non implicit arguments to accept the argument bound to \u2018ident\u2019"], [44, 0, 1, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018natural\u2019", "Not enough non implicit arguments to accept the argument bound to \u2018natural\u2019"], [54, 0, 1, "coq:exn.Not-equal", "Not equal"], [54, 0, 1, "coq:exn.Not-equal-(due-to-universes)", "Not equal (due to universes)"], [54, 0, 1, "coq:exn.Not-ground", "Not ground"], [72, 0, 1, "coq:exn.Not-the-right-number-of-induction-arguments", "Not the right number of induction arguments"], [58, 0, 1, "coq:exn.Not-the-right-number-of-missing-arguments-(expected-\u2018natural\u2019)", "Not the right number of missing arguments (expected \u2018natural\u2019)"], [71, 3, 1, "coq:cmd.Notation", "Notation"], [71, 3, 1, "coq:cmd.Notation-(abbreviation)", "Notation (abbreviation)"], [55, 0, 1, "coq:exn.Notation-levels-must-range-between-0-and-6", "Notation levels must range between 0 and 6"], [67, 0, 1, "coq:exn.Nothing-to-inject", "Nothing to inject"], [3, 0, 1, "coq:exn.Nothing-to-rewrite", "Nothing to rewrite"], [5, 4, 1, "coq:flag.Nra-Cache", "Nra Cache"], [71, 3, 1, "coq:cmd.Number-Notation", "Number Notation"], [9, 3, 1, "coq:cmd.Obligation", "Obligation"], [9, 3, 1, "coq:cmd.Obligation-Tactic", "Obligation Tactic"], [9, 3, 1, "coq:cmd.Obligations", "Obligations"], [64, 3, 1, "coq:cmd.Opaque", "Opaque"], [71, 3, 1, "coq:cmd.Open-Scope", "Open Scope"], [66, 3, 1, "coq:cmd.Optimize-Heap", "Optimize Heap"], [66, 3, 1, "coq:cmd.Optimize-Proof", "Optimize Proof"], [28, 3, 1, "coq:cmd.Parameter", "Parameter"], [28, 3, 1, "coq:cmd.Parameters", "Parameters"], [44, 4, 1, "coq:flag.Parsing-Explicit", "Parsing Explicit"], [14, 7, 1, "coq:attr.Polymorphic", "Polymorphic"], [14, 4, 1, "coq:flag.Polymorphic-Inductive-Cumulativity", "Polymorphic Inductive Cumulativity"], [14, 0, 1, "coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead", "Polymorphic universe constraints can only be declared inside sections, use Monomorphic Constraint instead"], [14, 0, 1, "coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead", "Polymorphic universes can only be declared inside sections, use Monomorphic Universe instead"], [59, 4, 1, "coq:flag.Positivity-Checking", "Positivity Checking"], [57, 3, 1, "coq:cmd.Prenex-Implicits", "Prenex Implicits"], [9, 3, 1, "coq:cmd.Preterm", "Preterm"], [59, 3, 1, "coq:cmd.Primitive", "Primitive"], [37, 4, 1, "coq:flag.Primitive-Projections", "Primitive Projections"], [59, 3, 1, "coq:cmd.Print", "Print"], [59, 3, 1, "coq:cmd.Print-All", "Print All"], [59, 3, 1, "coq:cmd.Print-All-Dependencies", "Print All Dependencies"], [59, 3, 1, "coq:cmd.Print-Assumptions", "Print Assumptions"], [42, 3, 1, "coq:cmd.Print-Canonical-Projections", "Print Canonical Projections"], [4, 3, 1, "coq:cmd.Print-Classes", "Print Classes"], [4, 3, 1, "coq:cmd.Print-Coercion-Paths", "Print Coercion Paths"], [4, 3, 1, "coq:cmd.Print-Coercions", "Print Coercions"], [71, 3, 1, "coq:cmd.Print-Custom-Grammar", "Print Custom Grammar"], [66, 3, 1, "coq:cmd.Print-Debug-GC", "Print Debug GC"], [64, 3, 1, "coq:cmd.Print-Equivalent-Keys", "Print Equivalent Keys"], [2, 3, 1, "coq:cmd.Print-Extraction-Blacklist", "Print Extraction Blacklist"], [2, 3, 1, "coq:cmd.Print-Extraction-Callback", "Print Extraction Callback"], [2, 3, 1, "coq:cmd.Print-Extraction-Foreign", "Print Extraction Foreign"], [2, 3, 1, "coq:cmd.Print-Extraction-Inline", "Print Extraction Inline"], [11, 3, 1, "coq:cmd.Print-Fields", "Print Fields"], [62, 3, 1, "coq:cmd.Print-Firstorder-Solver", "Print Firstorder Solver"], [71, 3, 1, "coq:cmd.Print-Grammar", "Print Grammar"], [4, 3, 1, "coq:cmd.Print-Graph", "Print Graph"], [60, 3, 1, "coq:cmd.Print-Hint", "Print Hint"], [60, 3, 1, "coq:cmd.Print-HintDb", "Print HintDb"], [44, 3, 1, "coq:cmd.Print-Implicit", "Print Implicit"], [13, 3, 1, "coq:cmd.Print-Instances", "Print Instances"], [71, 3, 1, "coq:cmd.Print-Keywords", "Print Keywords"], [59, 3, 1, "coq:cmd.Print-Libraries", "Print Libraries"], [59, 3, 1, "coq:cmd.Print-LoadPath", "Print LoadPath"], [54, 3, 1, "coq:cmd.Print-Ltac", "Print Ltac"], [54, 3, 1, "coq:cmd.Print-Ltac-Signatures", "Print Ltac Signatures"], [55, 3, 1, "coq:cmd.Print-Ltac2", "Print Ltac2"], [55, 3, 1, "coq:cmd.Print-Ltac2-Signatures", "Print Ltac2 Signatures"], [55, 3, 1, "coq:cmd.Print-Ltac2-Type", "Print Ltac2 Type"], [59, 3, 1, "coq:cmd.Print-ML-Modules", "Print ML Modules"], [59, 3, 1, "coq:cmd.Print-ML-Path", "Print ML Path"], [35, 3, 1, "coq:cmd.Print-Module", "Print Module"], [35, 3, 1, "coq:cmd.Print-Module-Type", "Print Module Type"], [35, 3, 1, "coq:cmd.Print-Namespace", "Print Namespace"], [71, 3, 1, "coq:cmd.Print-Notation", "Print Notation"], [59, 3, 1, "coq:cmd.Print-Opaque-Dependencies", "Print Opaque Dependencies"], [29, 3, 1, "coq:cmd.Print-Options", "Print Options"], [59, 3, 1, "coq:cmd.Print-Registered", "Print Registered"], [59, 3, 1, "coq:cmd.Print-Registered-Schemes", "Print Registered Schemes"], [60, 3, 1, "coq:cmd.Print-Rewrite-HintDb", "Print Rewrite HintDb"], [11, 3, 1, "coq:cmd.Print-Rings", "Print Rings"], [71, 3, 1, "coq:cmd.Print-Scope", "Print Scope"], [71, 3, 1, "coq:cmd.Print-Scopes", "Print Scopes"], [59, 3, 1, "coq:cmd.Print-Section", "Print Section"], [64, 3, 1, "coq:cmd.Print-Strategies", "Print Strategies"], [64, 3, 1, "coq:cmd.Print-Strategy", "Print Strategy"], [29, 3, 1, "coq:cmd.Print-Table", "Print Table"], [29, 3, 1, "coq:cmd.Print-Tables", "Print Tables"], [59, 3, 1, "coq:cmd.Print-Transparent-Dependencies", "Print Transparent Dependencies"], [13, 3, 1, "coq:cmd.Print-Typeclasses", "Print Typeclasses"], [59, 3, 1, "coq:cmd.Print-Typing-Flags", "Print Typing Flags"], [14, 3, 1, "coq:cmd.Print-Universes", "Print Universes"], [71, 3, 1, "coq:cmd.Print-Visibility", "Print Visibility"], [59, 4, 1, "coq:flag.Printing-All", "Printing All"], [46, 4, 1, "coq:flag.Printing-Allow-Match-Default-Clause", "Printing Allow Match Default Clause"], [4, 8, 1, "coq:table.Printing-Coercion", "Printing Coercion"], [4, 4, 1, "coq:flag.Printing-Coercions", "Printing Coercions"], [59, 4, 1, "coq:flag.Printing-Compact-Contexts", "Printing Compact Contexts"], [37, 8, 1, "coq:table.Printing-Constructor", "Printing Constructor"], [59, 4, 1, "coq:flag.Printing-Dependent-Evars-Line", "Printing Dependent Evars Line"], [59, 6, 1, "coq:opt.Printing-Depth", "Printing Depth"], [43, 4, 1, "coq:flag.Printing-Existential-Instances", "Printing Existential Instances"], [46, 4, 1, "coq:flag.Printing-Factorizable-Match-Patterns", "Printing Factorizable Match Patterns"], [66, 4, 1, "coq:flag.Printing-Goal-Names", "Printing Goal Names"], [66, 4, 1, "coq:flag.Printing-Goal-Tags", "Printing Goal Tags"], [46, 8, 1, "coq:table.Printing-If", "Printing If"], [44, 4, 1, "coq:flag.Printing-Implicit", "Printing Implicit"], [44, 4, 1, "coq:flag.Printing-Implicit-Defensive", "Printing Implicit Defensive"], [46, 8, 1, "coq:table.Printing-Let", "Printing Let"], [46, 4, 1, "coq:flag.Printing-Match-All-Subterms", "Printing Match All Subterms"], [46, 4, 1, "coq:flag.Printing-Matching", "Printing Matching"], [71, 4, 1, "coq:flag.Printing-Notations", "Printing Notations"], [71, 4, 1, "coq:flag.Printing-Parentheses", "Printing Parentheses"], [37, 4, 1, "coq:flag.Printing-Primitive-Projection-Parameters", "Printing Primitive Projection Parameters"], [37, 4, 1, "coq:flag.Printing-Projections", "Printing Projections"], [71, 4, 1, "coq:flag.Printing-Raw-Literals", "Printing Raw Literals"], [37, 8, 1, "coq:table.Printing-Record", "Printing Record"], [37, 4, 1, "coq:flag.Printing-Records", "Printing Records"], [12, 4, 1, "coq:flag.Printing-Relevance-Marks", "Printing Relevance Marks"], [46, 4, 1, "coq:flag.Printing-Synth", "Printing Synth"], [59, 4, 1, "coq:flag.Printing-Unfocused", "Printing Unfocused"], [37, 4, 1, "coq:flag.Printing-Unfolded-Projection-As-Match", "Printing Unfolded Projection As Match"], [14, 4, 1, "coq:flag.Printing-Universes", "Printing Universes"], [44, 4, 1, "coq:flag.Printing-Use-Implicit-Types", "Printing Use Implicit Types"], [59, 6, 1, "coq:opt.Printing-Width", "Printing Width"], [46, 4, 1, "coq:flag.Printing-Wildcard", "Printing Wildcard"], [40, 7, 1, "coq:attr.Private", "Private"], [14, 4, 1, "coq:flag.Private-Polymorphic-Universes", "Private Polymorphic Universes"], [59, 3, 1, "coq:cmd.Profile", "Profile"], [9, 7, 1, "coq:attr.Program", "Program"], [9, 4, 1, "coq:flag.Program-Cases", "Program Cases"], [9, 4, 1, "coq:flag.Program-Generalized-Coercion", "Program Generalized Coercion"], [9, 4, 1, "coq:flag.Program-Mode", "Program Mode"], [66, 3, 1, "coq:cmd.Proof", "Proof"], [66, 3, 1, "coq:cmd.Proof-Mode", "Proof Mode"], [66, 3, 1, "coq:cmd.Proof-`term`", "Proof `term`"], [66, 3, 1, "coq:cmd.Proof-using", "Proof using"], [60, 3, 1, "coq:cmd.Proof-with", "Proof with"], [32, 3, 1, "coq:cmd.Property", "Property"], [32, 3, 1, "coq:cmd.Proposition", "Proposition"], [5, 5, 1, "coq:thm.Psatz", "Psatz"], [2, 3, 1, "coq:cmd.Pwd", "Pwd"], [66, 3, 1, "coq:cmd.Qed", "Qed"], [59, 3, 1, "coq:cmd.Quit", "Quit"], [37, 3, 1, "coq:cmd.Record", "Record"], [37, 0, 1, "coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive", "Records declared with the keyword Record or Structure cannot be recursive"], [2, 3, 1, "coq:cmd.Recursive-Extraction", "Recursive Extraction"], [2, 3, 1, "coq:cmd.Recursive-Extraction-Library", "Recursive Extraction Library"], [59, 3, 1, "coq:cmd.Redirect", "Redirect"], [59, 3, 1, "coq:cmd.Register", "Register"], [59, 3, 1, "coq:cmd.Register-Inline", "Register Inline"], [59, 3, 1, "coq:cmd.Register-Scheme", "Register Scheme"], [64, 4, 1, "coq:flag.Regular-Subst-Tactic", "Regular Subst Tactic"], [32, 3, 1, "coq:cmd.Remark", "Remark"], [29, 3, 1, "coq:cmd.Remove", "Remove"], [60, 3, 1, "coq:cmd.Remove-Hints", "Remove Hints"], [59, 3, 1, "coq:cmd.Require", "Require"], [59, 3, 1, "coq:cmd.Require-Export", "Require Export"], [59, 3, 1, "coq:cmd.Require-Import", "Require Import"], [71, 3, 1, "coq:cmd.Reserved-Infix", "Reserved Infix"], [71, 3, 1, "coq:cmd.Reserved-Notation", "Reserved Notation"], [59, 3, 1, "coq:cmd.Reset", "Reset"], [2, 3, 1, "coq:cmd.Reset-Extraction-Blacklist", "Reset Extraction Blacklist"], [2, 3, 1, "coq:cmd.Reset-Extraction-Callback", "Reset Extraction Callback"], [2, 3, 1, "coq:cmd.Reset-Extraction-Inline", "Reset Extraction Inline"], [59, 3, 1, "coq:cmd.Reset-Initial", "Reset Initial"], [54, 3, 1, "coq:cmd.Reset-Ltac-Profile", "Reset Ltac Profile"], [66, 3, 1, "coq:cmd.Restart", "Restart"], [44, 4, 1, "coq:flag.Reversible-Pattern-Implicit", "Reversible Pattern Implicit"], [10, 3, 1, "coq:cmd.Rewrite-Rule", "Rewrite Rule"], [10, 3, 1, "coq:cmd.Rewrite-Rules", "Rewrite Rules"], [10, 0, 1, "coq:exn.Rewrite-rule-declaration-requires-passing-the-flag-\"-allow-rewrite-rules\"", "Rewrite rule declaration requires passing the flag "-allow-rewrite-rules""], [67, 4, 1, "coq:flag.Rewriting-Schemes", "Rewriting Schemes"], [11, 0, 1, "coq:exn.Ring-operation-should-be-declared-as-a-morphism", "Ring operation should be declared as a morphism"], [12, 0, 1, "coq:exn.SProp-is-disallowed-because-the-\"Allow-StrictProp\"-flag-is-off", "SProp is disallowed because the "Allow StrictProp" flag is off"], [66, 3, 1, "coq:cmd.Save", "Save"], [67, 3, 1, "coq:cmd.Scheme", "Scheme"], [67, 3, 1, "coq:cmd.Scheme-Boolean-Equality", "Scheme Boolean Equality"], [67, 3, 1, "coq:cmd.Scheme-Equality", "Scheme Equality"], [71, 0, 1, "coq:exn.Scope-delimiters-should-not-start-with-an-underscore", "Scope delimiters should not start with an underscore"], [71, 0, 1, "coq:exn.Scope-names-should-not-start-with-an-underscore", "Scope names should not start with an underscore"], [59, 3, 1, "coq:cmd.Search", "Search"], [59, 8, 1, "coq:table.Search-Blacklist", "Search Blacklist"], [59, 4, 1, "coq:flag.Search-Output-Name-Only", "Search Output Name Only"], [59, 3, 1, "coq:cmd.SearchPattern", "SearchPattern"], [59, 3, 1, "coq:cmd.SearchRewrite", "SearchRewrite"], [38, 3, 1, "coq:cmd.Section", "Section"], [64, 0, 1, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-hypothesis-\u2018ident\u2019", "Section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in hypothesis \u2018ident\u2019"], [64, 0, 1, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-the-conclusion", "Section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in the conclusion"], [2, 3, 1, "coq:cmd.Separate-Extraction", "Separate Extraction"], [29, 3, 1, "coq:cmd.Set", "Set"], [35, 4, 1, "coq:flag.Short-Module-Printing", "Short Module Printing"], [66, 3, 1, "coq:cmd.Show", "Show"], [66, 3, 1, "coq:cmd.Show-Conjectures", "Show Conjectures"], [66, 3, 1, "coq:cmd.Show-Existentials", "Show Existentials"], [2, 3, 1, "coq:cmd.Show-Extraction", "Show Extraction"], [66, 3, 1, "coq:cmd.Show-Goal", "Show Goal"], [66, 3, 1, "coq:cmd.Show-Intro", "Show Intro"], [66, 3, 1, "coq:cmd.Show-Intros", "Show Intros"], [5, 3, 1, "coq:cmd.Show-Lia-Profile", "Show Lia Profile"], [54, 3, 1, "coq:cmd.Show-Ltac-Profile", "Show Ltac Profile"], [66, 3, 1, "coq:cmd.Show-Match", "Show Match"], [9, 3, 1, "coq:cmd.Show-Obligation-Tactic", "Show Obligation Tactic"], [66, 3, 1, "coq:cmd.Show-Proof", "Show Proof"], [66, 3, 1, "coq:cmd.Show-Universes", "Show Universes"], [5, 3, 1, "coq:cmd.Show-Zify", "Show Zify"], [35, 0, 1, "coq:exn.Signature-components-for-field-\u2018ident\u2019-do-not-match", "Signature components for field \u2018ident\u2019 do not match"], [59, 4, 1, "coq:flag.Silent", "Silent"], [9, 3, 1, "coq:cmd.Solve-All-Obligations", "Solve All Obligations"], [9, 3, 1, "coq:cmd.Solve-Obligations", "Solve Obligations"], [66, 4, 1, "coq:flag.Solve-Unification-Constraints", "Solve Unification Constraints"], [57, 4, 1, "coq:flag.SsrHave-NoTCResolution", "SsrHave NoTCResolution"], [57, 4, 1, "coq:flag.SsrIdents", "SsrIdents"], [57, 4, 1, "coq:flag.SsrOldRewriteGoalsOrder", "SsrOldRewriteGoalsOrder"], [57, 4, 1, "coq:flag.SsrRewrite", "SsrRewrite"], [71, 2, 1, "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)", "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)"], [64, 3, 1, "coq:cmd.Strategy", "Strategy"], [44, 4, 1, "coq:flag.Strict-Implicit", "Strict Implicit"], [14, 4, 1, "coq:flag.Strict-Universe-Declaration", "Strict Universe Declaration"], [71, 3, 1, "coq:cmd.String-Notation", "String Notation"], [44, 4, 1, "coq:flag.Strongly-Strict-Implicit", "Strongly Strict Implicit"], [67, 4, 1, "coq:flag.Structural-Injection", "Structural Injection"], [37, 3, 1, "coq:cmd.Structure", "Structure"], [4, 3, 1, "coq:cmd.SubClass", "SubClass"], [59, 3, 1, "coq:cmd.Succeed", "Succeed"], [66, 4, 1, "coq:flag.Suggest-Proof-Using", "Suggest Proof Using"], [10, 3, 1, "coq:cmd.Symbol", "Symbol"], [10, 3, 1, "coq:cmd.Symbols", "Symbols"], [71, 0, 1, "coq:exn.Syntax-error:-[prim:reference]-expected-after-'Notation'-(in-[vernac:command])", "Syntax error: [prim:reference] expected after 'Notation' (in [vernac:command])"], [71, 0, 1, "coq:exn.Syntax-error:-[prim:reference]-expected-after-[prim:reference]-(in-[vernac:command])", "Syntax error: [prim:reference] expected after [prim:reference] (in [vernac:command])"], [71, 3, 1, "coq:cmd.Tactic-Notation", "Tactic Notation"], [54, 0, 1, "coq:exn.Tactic-failure", "Tactic failure"], [54, 0, 1, "coq:exn.Tactic-failure-(level-\u2018natural\u2019)", "Tactic failure (level \u2018natural\u2019)"], [54, 0, 1, "coq:exn.Tactic-failure:--succeeds", "Tactic failure: <tactic closure> succeeds"], [64, 0, 1, "coq:exn.Tactic-failure:-Setoid-library-not-loaded", "Tactic failure: Setoid library not loaded"], [64, 0, 1, "coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal", "Tactic generated a subgoal identical to the original goal"], [64, 0, 1, "coq:exn.Terms-do-not-have-convertible-types", "Terms do not have convertible types"], [29, 3, 1, "coq:cmd.Test", "Test"], [60, 0, 1, "coq:exn.The-\"at\"-syntax-isn't-available-yet-for-the-autorewrite-tactic", "The "at" syntax isn't available yet for the autorewrite tactic"], [41, 0, 1, "coq:exn.The-&-modifier-may-only-occur-once", "The & modifier may only occur once"], [71, 2, 1, "coq:warn.The-'abstract-after'-directive-has-no-effect-when-the-parsing-function-(\u2018qualid\u2019)-targets-an-option-type", "The 'abstract after' directive has no effect when the parsing function (\u2018qualid\u2019) targets an option type"], [41, 0, 1, "coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given", "The 'clear implicits' flag must be omitted if implicit annotations are given"], [41, 0, 1, "coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations", "The 'default implicits' flag is incompatible with implicit annotations"], [41, 0, 1, "coq:exn.The-/-modifier-may-only-occur-once", "The / modifier may only occur once"], [59, 0, 1, "coq:exn.The-command-has-not-failed!", "The command has not failed!"], [34, 0, 1, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019", "The conclusion of \u2018type\u2019 is not valid; it must be built from \u2018ident\u2019"], [46, 0, 1, "coq:exn.The-constructor-\u2018ident\u2019-expects-\u2018natural\u2019-arguments", "The constructor \u2018ident\u2019 expects \u2018natural\u2019 arguments"], [14, 0, 1, "coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context", "The cumulative attribute can only be used in a polymorphic context"], [46, 0, 1, "coq:exn.The-elimination-predicate-term-should-be-of-arity-\u2018natural\u2019-(for-non-dependent-case)-or-\u2018natural\u2019-(for-dependent-case)", "The elimination predicate term should be of arity \u2018natural\u2019 (for non dependent case) or \u2018natural\u2019 (for dependent case)"], [35, 0, 1, "coq:exn.The-field-\u2018ident\u2019-is-missing-in-\u2018qualid\u2019", "The field \u2018ident\u2019 is missing in \u2018qualid\u2019"], [72, 0, 1, "coq:exn.The-recursive-argument-must-be-specified", "The recursive argument must be specified"], [55, 0, 1, "coq:exn.The-reference-X-was-not-found-in-the-current-environment", "The reference X was not found in the current environment"], [64, 0, 1, "coq:exn.The-reference-is-not-unfoldable", "The reference is not unfoldable"], [64, 0, 1, "coq:exn.The-reference-\u2018qualid\u2019-was-not-found-in-the-current-environment", "The reference \u2018qualid\u2019 was not found in the current environment"], [58, 0, 1, "coq:exn.The-term-\"\u2018type\u2019\"-has-type-\"\u2018type\u2019\"-which-should-be-Set,-Prop-or-Type", "The term "\u2018type\u2019" has type "\u2018type\u2019" which should be Set, Prop or Type"], [2, 0, 1, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-foreign-custom-constant", "The term \u2018qualid\u2019 is already defined as foreign custom constant"], [2, 0, 1, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-inline-custom-constant", "The term \u2018qualid\u2019 is already defined as inline custom constant"], [32, 0, 1, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-which-should-be-Set,-Prop-or-Type", "The term \u2018term\u2019 has type \u2018type\u2019 which should be Set, Prop or Type"], [32, 0, 1, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-while-it-is-expected-to-have-type-\u2018type\u2019'", "The term \u2018term\u2019 has type \u2018type\u2019 while it is expected to have type \u2018type\u2019'"], [67, 0, 1, "coq:exn.The-type-has-no-constructors", "The type has no constructors"], [59, 0, 1, "coq:exn.The-type-\u2018ident\u2019-must-be-registered-before-this-construction-can-be-typechecked", "The type \u2018ident\u2019 must be registered before this construction can be typechecked"], [46, 0, 1, "coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term", "The variable ident is bound several times in pattern term"], [58, 0, 1, "coq:exn.The-variable-\u2018ident\u2019-is-already-declared", "The variable \u2018ident\u2019 is already declared"], [40, 0, 1, "coq:exn.The-\u2018natural\u2019-th-argument-of-\u2018ident\u2019-must-be-\u2018ident\u2019-in-\u2018type\u2019", "The \u2018natural\u2019 th argument of \u2018ident\u2019 must be \u2018ident\u2019 in \u2018type\u2019"], [32, 3, 1, "coq:cmd.Theorem", "Theorem"], [54, 0, 1, "coq:exn.There-is-already-an-Ltac-named-\u2018qualid\u2019", "There is already an Ltac named \u2018qualid\u2019"], [54, 0, 1, "coq:exn.There-is-no-Ltac-named-\u2018qualid\u2019", "There is no Ltac named \u2018qualid\u2019"], [29, 2, 1, "coq:warn.There-is-no-flag-or-option-with-this-name:-\"\u2018setting_name\u2019\"", "There is no flag or option with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-flag,-option-or-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no flag, option or table with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-qualid-valued-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no qualid-valued table with this name: "\u2018setting_name\u2019""], [29, 0, 1, "coq:exn.There-is-no-string-valued-table-with-this-name:-\"\u2018setting_name\u2019\"", "There is no string-valued table with this name: "\u2018setting_name\u2019""], [38, 0, 1, "coq:exn.There-is-nothing-to-end", "There is nothing to end"], [29, 2, 1, "coq:warn.This-command-does-not-support-this-attribute", "This command does not support this attribute"], [59, 0, 1, "coq:exn.This-object-does-not-support-universe-names", "This object does not support universe names"], [66, 0, 1, "coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way", "This proof is focused, but cannot be unfocused this way"], [54, 0, 1, "coq:exn.This-tactic-has-more-than-one-success", "This tactic has more than one success"], [59, 3, 1, "coq:cmd.Time", "Time"], [59, 3, 1, "coq:cmd.Timeout", "Timeout"], [71, 2, 1, "coq:warn.To-avoid-stack-overflow,-large-numbers-in-\u2018type\u2019-are-interpreted-as-applications-of-\u2018qualid\u2019", "To avoid stack overflow, large numbers in \u2018type\u2019 are interpreted as applications of \u2018qualid\u2019"], [41, 0, 1, "coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified", "To rename arguments the 'rename' flag must be specified"], [64, 3, 1, "coq:cmd.Transparent", "Transparent"], [9, 4, 1, "coq:flag.Transparent-Obligations", "Transparent Obligations"], [35, 2, 1, "coq:warn.Trying-to-mask-the-absolute-name-\u2018qualid\u2019!", "Trying to mask the absolute name \u2018qualid\u2019!"], [59, 3, 1, "coq:cmd.Type", "Type"], [67, 0, 1, "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", "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"], [13, 4, 1, "coq:flag.Typeclass-Resolution-For-Conversion", "Typeclass Resolution For Conversion"], [13, 4, 1, "coq:flag.Typeclasses-Debug", "Typeclasses Debug"], [13, 6, 1, "coq:opt.Typeclasses-Debug-Verbosity", "Typeclasses Debug Verbosity"], [13, 6, 1, "coq:opt.Typeclasses-Default-Mode", "Typeclasses Default Mode"], [13, 4, 1, "coq:flag.Typeclasses-Dependency-Order", "Typeclasses Dependency Order"], [13, 6, 1, "coq:opt.Typeclasses-Depth", "Typeclasses Depth"], [13, 4, 1, "coq:flag.Typeclasses-Iterative-Deepening", "Typeclasses Iterative Deepening"], [13, 4, 1, "coq:flag.Typeclasses-Limit-Intros", "Typeclasses Limit Intros"], [13, 3, 1, "coq:cmd.Typeclasses-Opaque", "Typeclasses Opaque"], [13, 4, 1, "coq:flag.Typeclasses-Strict-Resolution", "Typeclasses Strict Resolution"], [13, 3, 1, "coq:cmd.Typeclasses-Transparent", "Typeclasses Transparent"], [13, 4, 1, "coq:flag.Typeclasses-Unique-Instances", "Typeclasses Unique Instances"], [13, 4, 1, "coq:flag.Typeclasses-Unique-Solutions", "Typeclasses Unique Solutions"], [13, 3, 1, "coq:cmd.Typeclasses-eauto", "Typeclasses eauto"], [67, 0, 1, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019-\u2026-\u2018ident\u2019", "Unable to find an instance for the variables \u2018ident\u2019 \u2026 \u2018ident\u2019"], [58, 0, 1, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019\u2026\u2018ident\u2019", "Unable to find an instance for the variables \u2018ident\u2019\u2026\u2018ident\u2019"], [46, 0, 1, "coq:exn.Unable-to-infer-a-match-predicate", "Unable to infer a match predicate"], [3, 0, 1, "coq:exn.Unable-to-satisfy-the-rewriting-constraints", "Unable to satisfy the rewriting constraints"], [58, 0, 1, "coq:exn.Unable-to-unify-\u2018one_term\u2019-with-\u2018one_term\u2019", "Unable to unify \u2018one_term\u2019 with \u2018one_term\u2019"], [55, 0, 1, "coq:exn.Unbound-[value|constructor]-X", "Unbound [value|constructor] X"], [54, 0, 1, "coq:exn.Unbound-context-identifier-\u2018ident\u2019", "Unbound context identifier \u2018ident\u2019"], [14, 0, 1, "coq:exn.Undeclared-universe-\u2018ident\u2019", "Undeclared universe \u2018ident\u2019"], [71, 3, 1, "coq:cmd.Undelimit-Scope", "Undelimit Scope"], [66, 3, 1, "coq:cmd.Undo", "Undo"], [71, 0, 1, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-number-notation", "Unexpected non-option term \u2018term\u2019 while parsing a number notation"], [71, 0, 1, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-string-notation", "Unexpected non-option term \u2018term\u2019 while parsing a string notation"], [71, 0, 1, "coq:exn.Unexpected-only-parsing-for-an-only-printing-notation", "Unexpected only parsing for an only printing notation"], [71, 0, 1, "coq:exn.Unexpected-only-printing-for-an-only-parsing-notation", "Unexpected only printing for an only parsing notation"], [71, 0, 1, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-number-notation", "Unexpected term \u2018term\u2019 while parsing a number notation"], [71, 0, 1, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-string-notation", "Unexpected term \u2018term\u2019 while parsing a string notation"], [66, 3, 1, "coq:cmd.Unfocus", "Unfocus"], [66, 3, 1, "coq:cmd.Unfocused", "Unfocused"], [34, 4, 1, "coq:flag.Uniform-Inductive-Parameters", "Uniform Inductive Parameters"], [14, 3, 1, "coq:cmd.Universe", "Universe"], [59, 4, 1, "coq:flag.Universe-Checking", "Universe Checking"], [14, 4, 1, "coq:flag.Universe-Minimization-ToSet", "Universe Minimization ToSet"], [14, 4, 1, "coq:flag.Universe-Polymorphism", "Universe Polymorphism"], [14, 0, 1, "coq:exn.Universe-inconsistency", "Universe inconsistency"], [59, 0, 1, "coq:exn.Universe-instance-length-is-\u2018natural\u2019-but-should-be-\u2018natural\u2019", "Universe instance length is \u2018natural\u2019 but should be \u2018natural\u2019"], [14, 3, 1, "coq:cmd.Universes", "Universes"], [71, 0, 1, "coq:exn.Unknown-custom-entry", "Unknown custom entry"], [71, 0, 1, "coq:exn.Unknown-custom-entry:-\u2018ident\u2019", "Unknown custom entry: \u2018ident\u2019"], [66, 0, 1, "coq:exn.Unknown-inductive-type", "Unknown inductive type"], [29, 3, 1, "coq:cmd.Unset", "Unset"], [66, 3, 1, "coq:cmd.Unshelve", "Unshelve"], [71, 0, 1, "coq:exn.Unterminated-string-in-notation", "Unterminated string in notation"], [28, 2, 1, "coq:warn.Use-of-\"Variable\"-or-\"Hypothesis\"-outside-sections-behaves-as-\"#[local]-Parameter\"-or-\"#[local]-Axiom\"", "Use of "Variable" or "Hypothesis" outside sections behaves as "#[local] Parameter" or "#[local] Axiom""], [71, 2, 1, "coq:warn.Use-of-\u2018string\u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax", "Use of \u2018string\u2019 Notation is deprecated as it is inconsistent with pattern syntax"], [13, 2, 1, "coq:warn.Using-inferred-default-mode:-\u201cmode\u201d-for-\u201c\u2018ident\u2019\u201d", "Using inferred default mode: \u201cmode\u201d for \u201c\u2018ident\u2019\u201d"], [66, 3, 1, "coq:cmd.Validate-Proof", "Validate Proof"], [28, 3, 1, "coq:cmd.Variable", "Variable"], [66, 2, 1, "coq:warn.Variable-All-is-shadowed-by-Collection-named-All-containing-all-variables", "Variable All is shadowed by Collection named All containing all variables"], [28, 3, 1, "coq:cmd.Variables", "Variables"], [40, 3, 1, "coq:cmd.Variant", "Variant"], [59, 6, 1, "coq:opt.Warnings", "Warnings"], [44, 0, 1, "coq:exn.Wrong-argument-name", "Wrong argument name"], [44, 0, 1, "coq:exn.Wrong-argument-position", "Wrong argument position"], [66, 0, 1, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Bullet-\u2018bullet\u2019-is-mandatory-here", "Wrong bullet \u2018bullet\u2019: Bullet \u2018bullet\u2019 is mandatory here"], [66, 0, 1, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Current-bullet-\u2018bullet\u2019-is-not-finished", "Wrong bullet \u2018bullet\u2019: Current bullet \u2018bullet\u2019 is not finished"], [54, 1, 1, "coq:tacn.[-\u2026-|-\u2026-|-\u2026-]-(dispatch)", "[ \u2026 | \u2026 | \u2026 ] (dispatch)"], [54, 1, 1, "coq:tacn.[>-\u2026-|-\u2026-|-\u2026-]-(dispatch)", "[> \u2026 | \u2026 | \u2026 ] (dispatch)"], [55, 7, 1, "coq:attr.abstract", "abstract"], [66, 1, 1, "coq:tacn.abstract", "abstract"], [57, 1, 1, "coq:tacn.abstract-(ssreflect)", "abstract (ssreflect)"], [58, 1, 1, "coq:tacn.absurd", "absurd"], [71, 7, 1, "coq:attr.add_bottom", "add_bottom"], [71, 7, 1, "coq:attr.add_top", "add_top"], [66, 1, 1, "coq:tacn.admit", "admit"], [58, 1, 1, "coq:tacn.apply", "apply"], [57, 1, 1, "coq:tacn.apply-(ssreflect)", "apply (ssreflect)"], [58, 1, 1, "coq:tacn.assert", "assert"], [54, 1, 1, "coq:tacn.assert_fails", "assert_fails"], [54, 1, 1, "coq:tacn.assert_succeeds", "assert_succeeds"], [58, 1, 1, "coq:tacn.assumption", "assumption"], [60, 1, 1, "coq:tacn.auto", "auto"], [13, 1, 1, "coq:tacn.autoapply", "autoapply"], [60, 1, 1, "coq:tacn.autorewrite", "autorewrite"], [60, 1, 1, "coq:tacn.autounfold", "autounfold"], [60, 1, 1, "coq:tacn.autounfold_one", "autounfold_one"], [62, 1, 1, "coq:tacn.btauto", "btauto"], [66, 1, 1, "coq:tacn.bullet-(--+-*)", "bullet (- + *)"], [57, 1, 1, "coq:tacn.by", "by"], [59, 7, 1, "coq:attr.bypass_check(guard)", "bypass_check(guard)"], [59, 7, 1, "coq:attr.bypass_check(positivity)", "bypass_check(positivity)"], [59, 7, 1, "coq:attr.bypass_check(universes)", "bypass_check(universes)"], [42, 7, 1, "coq:attr.canonical", "canonical"], [67, 1, 1, "coq:tacn.case", "case"], [57, 1, 1, "coq:tacn.case-(ssreflect)", "case (ssreflect)"], [67, 1, 1, "coq:tacn.case_eq", "case_eq"], [64, 1, 1, "coq:tacn.cbn", "cbn"], [64, 1, 1, "coq:tacn.cbv", "cbv"], [64, 1, 1, "coq:tacn.change", "change"], [64, 1, 1, "coq:tacn.change_no_check", "change_no_check"], [58, 1, 1, "coq:tacn.classical_left", "classical_left"], [58, 1, 1, "coq:tacn.classical_right", "classical_right"], [58, 1, 1, "coq:tacn.clear", "clear"], [58, 1, 1, "coq:tacn.clear-dependent", "clear dependent"], [38, 7, 1, "coq:attr.clearbody", "clearbody"], [58, 1, 1, "coq:tacn.clearbody", "clearbody"], [71, 2, 1, "coq:warn.closed-notation-not-level-0", "closed-notation-not-level-0"], [67, 1, 1, "coq:tacn.cofix", "cofix"], [67, 1, 1, "coq:tacn.compare", "compare"], [64, 1, 1, "coq:tacn.compute", "compute"], [57, 1, 1, "coq:tacn.congr", "congr"], [62, 1, 1, "coq:tacn.congruence", "congruence"], [54, 1, 1, "coq:tacn.constr_eq", "constr_eq"], [54, 1, 1, "coq:tacn.constr_eq_nounivs", "constr_eq_nounivs"], [54, 1, 1, "coq:tacn.constr_eq_strict", "constr_eq_strict"], [67, 1, 1, "coq:tacn.constructor", "constructor"], [54, 1, 1, "coq:tacn.context", "context"], [58, 1, 1, "coq:tacn.contradict", "contradict"], [58, 1, 1, "coq:tacn.contradiction", "contradiction"], [54, 1, 1, "coq:tacn.convert", "convert"], [58, 1, 1, "coq:tacn.cut", "cut"], [66, 1, 1, "coq:tacn.cycle", "cycle"], [60, 1, 1, "coq:tacn.debug-auto", "debug auto"], [60, 1, 1, "coq:tacn.debug-eauto", "debug eauto"], [60, 1, 1, "coq:tacn.debug-trivial", "debug trivial"], [67, 1, 1, "coq:tacn.decide", "decide"], [67, 1, 1, "coq:tacn.decide-equality", "decide equality"], [67, 1, 1, "coq:tacn.decompose", "decompose"], [67, 1, 1, "coq:tacn.decompose-record", "decompose record"], [67, 1, 1, "coq:tacn.decompose-sum", "decompose sum"], [67, 1, 1, "coq:tacn.dependent-destruction", "dependent destruction"], [58, 1, 1, "coq:tacn.dependent-generalize_eqs", "dependent generalize_eqs"], [58, 1, 1, "coq:tacn.dependent-generalize_eqs_vars", "dependent generalize_eqs_vars"], [67, 1, 1, "coq:tacn.dependent-induction", "dependent induction"], [67, 1, 1, "coq:tacn.dependent-inversion", "dependent inversion"], [67, 1, 1, "coq:tacn.dependent-inversion_clear", "dependent inversion_clear"], [67, 1, 1, "coq:tacn.dependent-rewrite", "dependent rewrite"], [67, 1, 1, "coq:tacn.dependent-simple-inversion", "dependent simple inversion"], [74, 7, 1, "coq:attr.deprecated", "deprecated"], [67, 1, 1, "coq:tacn.destauto", "destauto"], [67, 1, 1, "coq:tacn.destruct", "destruct"], [62, 1, 1, "coq:tacn.dintuition", "dintuition"], [67, 1, 1, "coq:tacn.discriminate", "discriminate"], [54, 1, 1, "coq:tacn.do", "do"], [57, 1, 1, "coq:tacn.do-(ssreflect)", "do (ssreflect)"], [57, 1, 1, "coq:tacn.done", "done"], [62, 1, 1, "coq:tacn.dtauto", "dtauto"], [58, 1, 1, "coq:tacn.eapply", "eapply"], [58, 1, 1, "coq:tacn.eassert", "eassert"], [58, 1, 1, "coq:tacn.eassumption", "eassumption"], [60, 1, 1, "coq:tacn.easy", "easy"], [60, 1, 1, "coq:tacn.eauto", "eauto"], [67, 1, 1, "coq:tacn.ecase", "ecase"], [67, 1, 1, "coq:tacn.econstructor", "econstructor"], [67, 1, 1, "coq:tacn.edestruct", "edestruct"], [67, 1, 1, "coq:tacn.ediscriminate", "ediscriminate"], [67, 1, 1, "coq:tacn.eelim", "eelim"], [58, 1, 1, "coq:tacn.eenough", "eenough"], [58, 1, 1, "coq:tacn.eexact", "eexact"], [67, 1, 1, "coq:tacn.eexists", "eexists"], [67, 1, 1, "coq:tacn.einduction", "einduction"], [67, 1, 1, "coq:tacn.einjection", "einjection"], [58, 1, 1, "coq:tacn.eintros", "eintros"], [67, 1, 1, "coq:tacn.eleft", "eleft"], [67, 1, 1, "coq:tacn.elim", "elim"], [57, 1, 1, "coq:tacn.elim-(ssreflect)", "elim (ssreflect)"], [58, 1, 1, "coq:tacn.enough", "enough"], [58, 1, 1, "coq:tacn.epose", "epose"], [58, 1, 1, "coq:tacn.epose-proof", "epose proof"], [58, 1, 1, "coq:tacn.eremember", "eremember"], [64, 1, 1, "coq:tacn.erewrite", "erewrite"], [67, 1, 1, "coq:tacn.eright", "eright"], [58, 1, 1, "coq:tacn.eset", "eset"], [67, 1, 1, "coq:tacn.esimplify_eq", "esimplify_eq"], [67, 1, 1, "coq:tacn.esplit", "esplit"], [64, 1, 1, "coq:tacn.etransitivity", "etransitivity"], [64, 1, 1, "coq:tacn.eval", "eval"], [58, 1, 1, "coq:tacn.evar", "evar"], [58, 1, 1, "coq:tacn.exact", "exact"], [57, 1, 1, "coq:tacn.exact-(ssreflect)", "exact (ssreflect)"], [58, 1, 1, "coq:tacn.exact_no_check", "exact_no_check"], [54, 1, 1, "coq:tacn.exactly_once", "exactly_once"], [58, 1, 1, "coq:tacn.exfalso", "exfalso"], [67, 1, 1, "coq:tacn.exists", "exists"], [35, 7, 1, "coq:attr.export", "export"], [64, 1, 1, "coq:tacn.f_equal", "f_equal"], [54, 1, 1, "coq:tacn.fail", "fail"], [11, 1, 1, "coq:tacn.field", "field"], [11, 1, 1, "coq:tacn.field_lookup", "field_lookup"], [11, 1, 1, "coq:tacn.field_simplify", "field_simplify"], [11, 1, 1, "coq:tacn.field_simplify_eq", "field_simplify_eq"], [54, 1, 1, "coq:tacn.finish_timing", "finish_timing"], [54, 1, 1, "coq:tacn.first", "first"], [57, 1, 1, "coq:tacn.first-(ssreflect)", "first (ssreflect)"], [57, 9, 1, "coq:tacv.first-last", "first last"], [62, 1, 1, "coq:tacn.firstorder", "firstorder"], [67, 1, 1, "coq:tacn.fix", "fix"], [64, 1, 1, "coq:tacn.fold", "fold"], [54, 1, 1, "coq:tacn.fresh", "fresh"], [54, 1, 1, "coq:tacn.fun", "fun"], [72, 1, 1, "coq:tacn.functional-induction", "functional induction"], [72, 1, 1, "coq:tacn.functional-inversion", "functional inversion"], [58, 1, 1, "coq:tacn.generalize", "generalize"], [58, 1, 1, "coq:tacn.generalize-dependent", "generalize dependent"], [58, 1, 1, "coq:tacn.generalize_eqs", "generalize_eqs"], [58, 1, 1, "coq:tacn.generalize_eqs_vars", "generalize_eqs_vars"], [57, 1, 1, "coq:tacn.generally-have", "generally have"], [54, 1, 1, "coq:tacn.gfail", "gfail"], [66, 1, 1, "coq:tacn.give_up", "give_up"], [35, 7, 1, "coq:attr.global", "global"], [54, 1, 1, "coq:tacn.guard", "guard"], [54, 1, 1, "coq:tacn.has_evar", "has_evar"], [57, 1, 1, "coq:tacn.have", "have"], [3, 1, 1, "coq:tacn.head_of_constr", "head_of_constr"], [64, 1, 1, "coq:tacn.hnf", "hnf"], [54, 1, 1, "coq:tacn.idtac", "idtac"], [55, 1, 1, "coq:tacn.if-then-else-(Ltac2)", "if-then-else (Ltac2)"], [57, 1, 1, "coq:tacn.in", "in"], [67, 1, 1, "coq:tacn.induction", "induction"], [54, 3, 1, "coq:cmd.infoH", "infoH"], [60, 1, 1, "coq:tacn.info_auto", "info_auto"], [60, 1, 1, "coq:tacn.info_eauto", "info_eauto"], [60, 1, 1, "coq:tacn.info_trivial", "info_trivial"], [67, 1, 1, "coq:tacn.injection", "injection"], [58, 1, 1, "coq:tacn.instantiate", "instantiate"], [58, 1, 1, "coq:tacn.intro", "intro"], [58, 1, 1, "coq:tacn.intros", "intros"], [58, 1, 1, "coq:tacn.intros-until", "intros until"], [62, 1, 1, "coq:tacn.intuition", "intuition"], [67, 1, 1, "coq:tacn.inversion", "inversion"], [67, 1, 1, "coq:tacn.inversion_clear", "inversion_clear"], [67, 1, 1, "coq:tacn.inversion_sigma", "inversion_sigma"], [54, 1, 1, "coq:tacn.is_cofix", "is_cofix"], [54, 1, 1, "coq:tacn.is_const", "is_const"], [54, 1, 1, "coq:tacn.is_constructor", "is_constructor"], [54, 1, 1, "coq:tacn.is_evar", "is_evar"], [54, 1, 1, "coq:tacn.is_fix", "is_fix"], [54, 1, 1, "coq:tacn.is_ground", "is_ground"], [54, 1, 1, "coq:tacn.is_ind", "is_ind"], [54, 1, 1, "coq:tacn.is_proj", "is_proj"], [54, 1, 1, "coq:tacn.is_var", "is_var"], [58, 1, 1, "coq:tacn.lapply", "lapply"], [58, 0, 1, "coq:exn.lapply-needs-a-non-dependent-product", "lapply needs a non-dependent product"], [57, 1, 1, "coq:tacn.last", "last"], [57, 9, 1, "coq:tacv.last-first", "last first"], [64, 1, 1, "coq:tacn.lazy", "lazy"], [55, 1, 1, "coq:tacn.lazy_match!", "lazy_match!"], [55, 1, 1, "coq:tacn.lazy_match!-goal", "lazy_match! goal"], [54, 1, 1, "coq:tacn.lazymatch", "lazymatch"], [54, 1, 1, "coq:tacn.lazymatch-goal", "lazymatch goal"], [67, 1, 1, "coq:tacn.left", "left"], [54, 1, 1, "coq:tacn.let", "let"], [5, 1, 1, "coq:tacn.lia", "lia"], [35, 7, 1, "coq:attr.local", "local"], [5, 1, 1, "coq:tacn.lra", "lra"], [54, 1, 1, "coq:tacn.ltac-seq", "ltac-seq"], [54, 1, 1, "coq:tacn.match", "match"], [55, 1, 1, "coq:tacn.match-(Ltac2)", "match (Ltac2)"], [54, 1, 1, "coq:tacn.match-goal", "match goal"], [55, 1, 1, "coq:tacn.match!", "match!"], [55, 1, 1, "coq:tacn.match!-goal", "match! goal"], [60, 2, 1, "coq:warn.mismatched-hint-db", "mismatched-hint-db"], [13, 7, 1, "coq:attr.mode", "mode"], [58, 1, 1, "coq:tacn.move", "move"], [57, 1, 1, "coq:tacn.move-(ssreflect)", "move (ssreflect)"], [55, 1, 1, "coq:tacn.multi_match!", "multi_match!"], [55, 1, 1, "coq:tacn.multi_match!-goal", "multi_match! goal"], [54, 1, 1, "coq:tacn.multimatch", "multimatch"], [54, 1, 1, "coq:tacn.multimatch-goal", "multimatch goal"], [58, 1, 1, "coq:tacn.native_cast_no_check", "native_cast_no_check"], [64, 1, 1, "coq:tacn.native_compute", "native_compute"], [5, 1, 1, "coq:tacn.nia", "nia"], [4, 7, 1, "coq:attr.nonuniform", "nonuniform"], [54, 0, 1, "coq:exn.not-a-cofix-definition", "not a cofix definition"], [54, 0, 1, "coq:exn.not-a-constant", "not a constant"], [54, 0, 1, "coq:exn.not-a-constructor", "not a constructor"], [54, 0, 1, "coq:exn.not-a-fix-definition", "not a fix definition"], [54, 0, 1, "coq:exn.not-a-primitive-projection", "not a primitive projection"], [54, 0, 1, "coq:exn.not-an-(co)inductive-datatype", "not an (co)inductive datatype"], [54, 1, 1, "coq:tacn.not_evar", "not_evar"], [71, 2, 1, "coq:warn.notation-incompatible-prefix", "notation-incompatible-prefix"], [60, 1, 1, "coq:tacn.now", "now"], [64, 1, 1, "coq:tacn.now_show", "now_show"], [5, 1, 1, "coq:tacn.nra", "nra"], [7, 1, 1, "coq:tacn.nsatz", "nsatz"], [7, 1, 1, "coq:tacn.nsatz_compute", "nsatz_compute"], [54, 1, 1, "coq:tacn.numgoals", "numgoals"], [54, 1, 1, "coq:tacn.once", "once"], [54, 1, 1, "coq:tacn.only", "only"], [54, 1, 1, "coq:tacn.optimize_heap", "optimize_heap"], [57, 1, 1, "coq:tacn.over", "over"], [71, 0, 1, "coq:exn.overflow-in-int63-literal-\u2018bigint\u2019", "overflow in int63 literal \u2018bigint\u2019"], [64, 1, 1, "coq:tacn.pattern", "pattern"], [58, 1, 1, "coq:tacn.pose", "pose"], [57, 1, 1, "coq:tacn.pose-(ssreflect)", "pose (ssreflect)"], [58, 1, 1, "coq:tacn.pose-proof", "pose proof"], [71, 2, 1, "coq:warn.postfix-notation-not-level-1", "postfix-notation-not-level-1"], [40, 7, 1, "coq:attr.private(matching)", "private(matching)"], [9, 7, 1, "coq:attr.program", "program"], [54, 1, 1, "coq:tacn.progress", "progress"], [37, 7, 1, "coq:attr.projections(primitive)", "projections(primitive)"], [11, 1, 1, "coq:tacn.protect_fv", "protect_fv"], [5, 1, 1, "coq:tacn.psatz", "psatz"], [59, 0, 1, "coq:exn.public-name-according-to-findlib,-for-example", "public name according to findlib, for example"], [58, 1, 1, "coq:tacn.rapply", "rapply"], [64, 1, 1, "coq:tacn.red", "red"], [13, 7, 1, "coq:attr.refine", "refine"], [58, 1, 1, "coq:tacn.refine", "refine"], [64, 1, 1, "coq:tacn.reflexivity", "reflexivity"], [58, 1, 1, "coq:tacn.remember", "remember"], [58, 1, 1, "coq:tacn.rename", "rename"], [54, 1, 1, "coq:tacn.repeat", "repeat"], [64, 1, 1, "coq:tacn.replace", "replace"], [54, 1, 1, "coq:tacn.reset-ltac-profile", "reset ltac profile"], [54, 1, 1, "coq:tacn.restart_timer", "restart_timer"], [4, 7, 1, "coq:attr.reversible", "reversible"], [58, 1, 1, "coq:tacn.revert", "revert"], [58, 1, 1, "coq:tacn.revert-dependent", "revert dependent"], [66, 1, 1, "coq:tacn.revgoals", "revgoals"], [64, 1, 1, "coq:tacn.rewrite", "rewrite"], [57, 1, 1, "coq:tacn.rewrite-(ssreflect)", "rewrite (ssreflect)"], [64, 1, 1, "coq:tacn.rewrite-*", "rewrite *"], [3, 1, 1, "coq:tacn.rewrite_db", "rewrite_db"], [3, 1, 1, "coq:tacn.rewrite_strat", "rewrite_strat"], [67, 1, 1, "coq:tacn.right", "right"], [11, 1, 1, "coq:tacn.ring", "ring"], [11, 1, 1, "coq:tacn.ring_lookup", "ring_lookup"], [11, 1, 1, "coq:tacn.ring_simplify", "ring_simplify"], [62, 1, 1, "coq:tacn.rtauto", "rtauto"], [58, 1, 1, "coq:tacn.set", "set"], [57, 1, 1, "coq:tacn.set-(ssreflect)", "set (ssreflect)"], [3, 1, 1, "coq:tacn.setoid_etransitivity", "setoid_etransitivity"], [3, 1, 1, "coq:tacn.setoid_reflexivity", "setoid_reflexivity"], [3, 1, 1, "coq:tacn.setoid_replace", "setoid_replace"], [3, 1, 1, "coq:tacn.setoid_rewrite", "setoid_rewrite"], [3, 1, 1, "coq:tacn.setoid_symmetry", "setoid_symmetry"], [3, 1, 1, "coq:tacn.setoid_transitivity", "setoid_transitivity"], [59, 0, 1, "coq:exn.shared-library-failed:-Coq-Error:-\u2018string\u2019-is-not-a-valid", "shared library failed: Coq Error: \u2018string\u2019 is not a valid"], [66, 1, 1, "coq:tacn.shelve", "shelve"], [66, 1, 1, "coq:tacn.shelve_unifiable", "shelve_unifiable"], [54, 1, 1, "coq:tacn.show-ltac-profile", "show ltac profile"], [64, 1, 1, "coq:tacn.simpl", "simpl"], [58, 1, 1, "coq:tacn.simple-apply", "simple apply"], [62, 1, 1, "coq:tacn.simple-congruence", "simple congruence"], [67, 1, 1, "coq:tacn.simple-destruct", "simple destruct"], [58, 1, 1, "coq:tacn.simple-eapply", "simple eapply"], [67, 1, 1, "coq:tacn.simple-induction", "simple induction"], [67, 1, 1, "coq:tacn.simple-injection", "simple injection"], [67, 1, 1, "coq:tacn.simple-inversion", "simple inversion"], [64, 1, 1, "coq:tacn.simple-subst", "simple subst"], [67, 1, 1, "coq:tacn.simplify_eq", "simplify_eq"], [72, 1, 1, "coq:tacn.soft-functional-induction", "soft functional induction"], [54, 1, 1, "coq:tacn.solve", "solve"], [66, 1, 1, "coq:tacn.solve_constraints", "solve_constraints"], [58, 1, 1, "coq:tacn.specialize", "specialize"], [58, 1, 1, "coq:tacn.specialize_eqs", "specialize_eqs"], [67, 1, 1, "coq:tacn.split", "split"], [54, 1, 1, "coq:tacn.start-ltac-profiling", "start ltac profiling"], [64, 1, 1, "coq:tacn.stepl", "stepl"], [64, 1, 1, "coq:tacn.stepr", "stepr"], [54, 1, 1, "coq:tacn.stop-ltac-profiling", "stop ltac profiling"], [64, 1, 1, "coq:tacn.subst", "subst"], [64, 1, 1, "coq:tacn.substitute", "substitute"], [57, 1, 1, "coq:tacn.suff", "suff"], [57, 1, 1, "coq:tacn.suffices", "suffices"], [66, 1, 1, "coq:tacn.swap", "swap"], [64, 1, 1, "coq:tacn.symmetry", "symmetry"], [62, 1, 1, "coq:tacn.tauto", "tauto"], [34, 0, 1, "coq:exn.template-and-polymorphism-not-compatible", "template and polymorphism not compatible"], [54, 1, 1, "coq:tacn.time", "time"], [54, 1, 1, "coq:tacn.time_constr", "time_constr"], [54, 1, 1, "coq:tacn.timeout", "timeout"], [64, 1, 1, "coq:tacn.transitivity", "transitivity"], [66, 1, 1, "coq:tacn.transparent_abstract", "transparent_abstract"], [60, 1, 1, "coq:tacn.trivial", "trivial"], [54, 1, 1, "coq:tacn.try", "try"], [54, 1, 1, "coq:tacn.tryif", "tryif"], [54, 1, 1, "coq:tacn.type-of", "type of"], [54, 1, 1, "coq:tacn.type_term", "type_term"], [13, 1, 1, "coq:tacn.typeclasses-eauto", "typeclasses eauto"], [57, 1, 1, "coq:tacn.under", "under"], [64, 1, 1, "coq:tacn.unfold", "unfold"], [54, 1, 1, "coq:tacn.unify", "unify"], [14, 7, 1, "coq:attr.universes(cumulative)", "universes(cumulative)"], [14, 7, 1, "coq:attr.universes(polymorphic)", "universes(polymorphic)"], [34, 7, 1, "coq:attr.universes(template)", "universes(template)"], [57, 1, 1, "coq:tacn.unlock", "unlock"], [66, 1, 1, "coq:tacn.unshelve", "unshelve"], [66, 7, 1, "coq:attr.using", "using"], [58, 1, 1, "coq:tacn.vm_cast_no_check", "vm_cast_no_check"], [64, 1, 1, "coq:tacn.vm_compute", "vm_compute"], [74, 7, 1, "coq:attr.warn", "warn"], [29, 7, 1, "coq:attr.warning", "warning"], [29, 7, 1, "coq:attr.warnings", "warnings"], [64, 1, 1, "coq:tacn.with_strategy", "with_strategy"], [57, 1, 1, "coq:tacn.without-loss", "without loss"], [5, 1, 1, "coq:tacn.wlia", "wlia"], [57, 1, 1, "coq:tacn.wlog", "wlog"], [5, 1, 1, "coq:tacn.wlra_Q", "wlra_Q"], [5, 1, 1, "coq:tacn.wnia", "wnia"], [5, 1, 1, "coq:tacn.wnra_Q", "wnra_Q"], [5, 1, 1, "coq:tacn.wpsatz_Q", "wpsatz_Q"], [5, 1, 1, "coq:tacn.wpsatz_Z", "wpsatz_Z"], [5, 1, 1, "coq:tacn.wsos_Q", "wsos_Q"], [5, 1, 1, "coq:tacn.wsos_Z", "wsos_Z"], [5, 1, 1, "coq:tacn.xlia", "xlia"], [5, 1, 1, "coq:tacn.xlra_Q", "xlra_Q"], [5, 1, 1, "coq:tacn.xlra_R", "xlra_R"], [5, 1, 1, "coq:tacn.xnia", "xnia"], [5, 1, 1, "coq:tacn.xnra_Q", "xnra_Q"], [5, 1, 1, "coq:tacn.xnra_R", "xnra_R"], [5, 1, 1, "coq:tacn.xpsatz_Q", "xpsatz_Q"], [5, 1, 1, "coq:tacn.xpsatz_R", "xpsatz_R"], [5, 1, 1, "coq:tacn.xpsatz_Z", "xpsatz_Z"], [5, 1, 1, "coq:tacn.xsos_Q", "xsos_Q"], [5, 1, 1, "coq:tacn.xsos_R", "xsos_R"], [5, 1, 1, "coq:tacn.xsos_Z", "xsos_Z"], [5, 1, 1, "coq:tacn.zify", "zify"], [5, 1, 1, "coq:tacn.zify_elim_let", "zify_elim_let"], [5, 1, 1, "coq:tacn.zify_iter_let", "zify_iter_let"], [5, 1, 1, "coq:tacn.zify_iter_specs", "zify_iter_specs"], [5, 1, 1, "coq:tacn.zify_op", "zify_op"], [5, 1, 1, "coq:tacn.zify_saturate", "zify_saturate"], [66, 1, 1, "coq:tacn.{", "{"], [54, 1, 1, "coq:tacn.||-(first-tactic-making-progress)", "|| (first tactic making progress)"], [66, 1, 1, "coq:tacn.}", "}"], [4, 0, 1, "coq:exn.\u2018coercion_class\u2019-must-be-a-transparent-constant", "\u2018coercion_class\u2019 must be a transparent constant"], [37, 0, 1, "coq:exn.\u2018ident\u2019-already-exists", "\u2018ident\u2019 already exists"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined", "\u2018ident\u2019 cannot be defined"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-it-is-informative-and-\u2018ident\u2019-is-not", "\u2018ident\u2019 cannot be defined because it is informative and \u2018ident\u2019 is not"], [37, 2, 1, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-the-projection-\u2018ident\u2019-was-not-defined", "\u2018ident\u2019 cannot be defined because the projection \u2018ident\u2019 was not defined"], [13, 2, 1, "coq:warn.\u2018ident\u2019-is-already-declared-as-a-typeclass", "\u2018ident\u2019 is already declared as a typeclass"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-already-used", "\u2018ident\u2019 is already used"], [66, 2, 1, "coq:warn.\u2018ident\u2019-is-both-name-of-a-Collection-and-Variable,-Collection-\u2018ident\u2019-takes-precedence-over-Variable", "\u2018ident\u2019 is both name of a Collection and Variable, Collection \u2018ident\u2019 takes precedence over Variable"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-not-a-local-definition", "\u2018ident\u2019 is not a local definition"], [67, 0, 1, "coq:exn.\u2018ident\u2019-is-not-an-equality-of-\u03a3-types", "\u2018ident\u2019 is not an equality of \u03a3 types"], [64, 0, 1, "coq:exn.\u2018ident\u2019-is-opaque", "\u2018ident\u2019 is opaque"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-used-in-the-conclusion", "\u2018ident\u2019 is used in the conclusion"], [58, 0, 1, "coq:exn.\u2018ident\u2019-is-used-in-the-hypothesis-\u2018ident\u2019", "\u2018ident\u2019 is used in the hypothesis \u2018ident\u2019"], [66, 2, 1, "coq:warn.\u2018ident\u2019-was-already-a-defined-Variable,-the-name-\u2018ident\u2019-will-refer-to-Collection-when-executing-\"Proof-using\"-command", "\u2018ident\u2019 was already a defined Variable, the name \u2018ident\u2019 will refer to Collection when executing "Proof using" command"], [60, 0, 1, "coq:exn.\u2018qualid\u2019-cannot-be-used-as-a-hint", "\u2018qualid\u2019 cannot be used as a hint"], [64, 0, 1, "coq:exn.\u2018qualid\u2019-does-not-occur", "\u2018qualid\u2019 does not occur"], [4, 2, 1, "coq:warn.\u2018qualid\u2019-does-not-respect-the-uniform-inheritance-condition", "\u2018qualid\u2019 does not respect the uniform inheritance condition"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-is-already-a-coercion", "\u2018qualid\u2019 is already a coercion"], [71, 0, 1, "coq:exn.\u2018qualid\u2019-is-bound-to-a-notation-that-does-not-denote-a-reference", "\u2018qualid\u2019 is bound to a notation that does not denote a reference"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-a-function", "\u2018qualid\u2019 is not a function"], [35, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-a-module", "\u2018qualid\u2019 is not a module"], [60, 0, 1, "coq:exn.\u2018qualid\u2019-is-not-an-inductive-type", "\u2018qualid\u2019 is not an inductive type"], [59, 0, 1, "coq:exn.\u2018qualid\u2019-not-a-defined-object", "\u2018qualid\u2019 not a defined object"], [4, 0, 1, "coq:exn.\u2018qualid\u2019-not-declared", "\u2018qualid\u2019 not declared"], [71, 0, 1, "coq:exn.\u2018qualid\u2019-was-already-mapped-to-\u2018qualid\u2019-and-cannot-be-remapped-to-\u2018qualid\u2019", "\u2018qualid\u2019 was already mapped to \u2018qualid\u2019 and cannot be remapped to \u2018qualid\u2019"], [74, 2, 1, "coq:warn.\u2018string\u2019", "\u2018string\u2019"], [71, 0, 1, "coq:exn.\u2018type\u2019-is-not-an-inductive-type", "\u2018type\u2019 is not an inductive type"], [71, 2, 1, "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", "\u2018type\u2019 was already mapped to \u2018type\u2019, mapping it also to \u2018type\u2019 might yield ill typed terms when using the notation"], [54, 1, 1, "coq:tacn.\u2026-:-\u2026-(goal-selector)", "\u2026 : \u2026 (goal selector)"], [57, 1, 1, "coq:tacn.\u2026-:-\u2026-(ssreflect)", "\u2026 : \u2026 (ssreflect)"]], "..": [[4, 2, 1, "coq:warn....-is-not-definitionally-an-identity-function", " is not definitionally an identity function"]], "Argument \u2018name\u2019 is a trailing implicit, so it can't be declared non maximal": [[44, 0, 1, "coq:exn.Argument-\u2018name\u2019-is-a-trailing-implicit,-so-it-can't-be-declared-non-maximal.-Please-use-{-}-instead-of-[-]", " Please use { } instead of [ ]"]], "Cannot infer a term for this placeholder": [[44, 0, 1, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)", " (Casual use of implicit arguments)"], [58, 0, 1, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)", " (refine)"]], "Compiled library \u2018ident\u2019": [[59, 0, 1, "coq:exn.Compiled-library-\u2018ident\u2019.vo-makes-inconsistent-assumptions-over-library-\u2018qualid\u2019", "vo makes inconsistent assumptions over library \u2018qualid\u2019"]], "Duplicate clear of H": [[57, 2, 1, "coq:warn.Duplicate-clear-of-H.-Use-{-}H-instead-of-{-H-}H", " Use { }H instead of { H }H"]], "File ... found twice in ..": [[59, 2, 1, "coq:warn.File-...-found-twice-in-...", ""]], "Goal is solvable by congruence but some arguments are missing": [[62, 0, 1, "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", " Try congruence with \u2018term\u2019\u2026\u2018term\u2019, replacing metavariables by arbitrary terms"]], "Library File (transitively required) \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Library-File-(transitively-required)-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Library File \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Library-File-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Ltac Profiler encountered an invalid stack (no self node)": [[54, 2, 1, "coq:warn.Ltac-Profiler-encountered-an-invalid-stack-(no-self-node).-This-can-happen-if-you-reset-the-profile-during-tactic-execution", " This can happen if you reset the profile during tactic execution"]], "Ltac2 alias \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-alias-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 constructor \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-constructor-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 definition \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-definition-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Ltac2 notation \u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Ltac2-notation-\u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "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."": [[32, 0, 1, "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", " If you really intended to use nested proofs, you can do so by turning the "Nested Proofs Allowed" flag on"]], "New coercion path ... is ambiguous with existing ..": [[4, 2, 1, "coq:warn.New-coercion-path-...-is-ambiguous-with-existing-...", ""]], "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": [[67, 0, 1, "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", " You can try to use option Set Keep Proof Equalities"]], "No such bound variable \u2018ident\u2019 (possible names are: \u2018ident\u2019 ..": [[58, 0, 1, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(possible-names-are:-\u2018ident\u2019-...)", ")"]], "No such goal": [[54, 0, 1, "coq:exn.No-such-goal.-(Goal-selector)", " (Goal selector)"], [54, 0, 1, "coq:exn.No-such-goal.-(fail)", " (fail)"], [66, 0, 1, "coq:exn.No-such-goal.-Focus-next-goal-with-bullet-\u2018bullet\u2019", " Focus next goal with bullet \u2018bullet\u2019"], [66, 0, 1, "coq:exn.No-such-goal.-Try-unfocusing-with-}", " Try unfocusing with }"]], "Notation \u2018string\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019": [[74, 2, 1, "coq:warn.Notation-\u2018string\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead", " Use \u2018qualid\u2019 instead"]], "Proof is not complete": [[66, 0, 1, "coq:exn.Proof-is-not-complete.-(abstract)", " (abstract)"], [58, 0, 1, "coq:exn.Proof-is-not-complete.-(assert)", " (assert)"]], "Require inside a module is deprecated and strongly discouraged": [[59, 2, 1, "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", " You can Require a module at toplevel and optionally Import it inside another one"]], "Required library \u2018qualid\u2019 matches several files in path (found file.vo, file.vo, ..": [[59, 0, 1, "coq:exn.Required-library-\u2018qualid\u2019-matches-several-files-in-path-(found-file.vo,-file.vo,-...)", ")"]], "SSReflect: cannot obtain new equations out of ..": [[57, 2, 1, "coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-...", ""]], "Tactic Notation \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Tactic-Notation-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "Tactic \u2018qualid\u2019 is deprecated since \u2018string\u2019": [[74, 2, 1, "coq:warn.Tactic-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019", " \u2018string\u2019"]], "The file \u2018ident\u2019": [[59, 0, 1, "coq:exn.The-file-\u2018ident\u2019.vo-contains-library-\u2018qualid\u2019-and-not-library-\u2018qualid\u2019", "vo contains library \u2018qualid\u2019 and not library \u2018qualid\u2019"]], "The relation \u2018ident\u2019 is not a declared reflexive relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-reflexive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "The relation \u2018ident\u2019 is not a declared symmetric relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-symmetric-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "The relation \u2018ident\u2019 is not a declared transitive relation. Maybe you need to require the Stdlib.Classes": [[64, 0, 1, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-transitive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library", "RelationClasses library"]], "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'": [[41, 2, 1, "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'", " If you want to clear notation scopes, add ': clear scopes'"]], "This hint is not local but depends on a section variable": [[60, 2, 1, "coq:warn.This-hint-is-not-local-but-depends-on-a-section-variable.-It-will-disappear-when-the-section-is-closed", " It will disappear when the section is closed"]], "Type of \u2018qualid\u2019 seems incompatible with the type of \u2018qualid\u2019. Expected type is: \u2018type\u2019 instead of \u2018type\u2019": [[71, 2, 1, "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", " This might yield ill typed terms when using the notation"]], "Unable to apply lemma of type "..." on hypothesis of type "..": [[58, 0, 1, "coq:exn.Unable-to-apply-lemma-of-type-\"...\"-on-hypothesis-of-type-\"...\"", """]], "Unused variable \u2018ident\u2019 might be a misspelled constructor. Use _ or _\u2018ident\u2019 to silence this warning": [[46, 2, 1, "coq:warn.Unused-variable-\u2018ident\u2019-might-be-a-misspelled-constructor.-Use-_-or-_\u2018ident\u2019-to-silence-this-warning.", ""]], "package-name": [[59, 0, 1, "coq:exn.package-name.foo-and-not-foo_plugin", "foo and not foo_plugin"]], "plugin name anymore": [[59, 0, 1, "coq:exn.plugin-name-anymore.-Plugins-should-be-loaded-using-their", " Plugins should be loaded using their"]], "\u2018ident\u2019 already exists": [[28, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Axiom)", " (Axiom)"], [32, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Definition)", " (Definition)"], [32, 0, 1, "coq:exn.\u2018ident\u2019-already-exists.-(Theorem)", " (Theorem)"]], "\u2018qualid\u2019 should go from Byte.byte, (list Byte.byte), or PrimString": [[71, 0, 1, "coq:exn.\u2018qualid\u2019-should-go-from-Byte.byte,-(list-Byte.byte),-or-PrimString.string-to-\u2018type\u2019-or-(option-\u2018type\u2019)", "string to \u2018type\u2019 or (option \u2018type\u2019)"]], "\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": [[71, 0, 1, "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)", "number could be used (you may need to require BinNums or Number or PrimInt63 or PrimFloat first)"]], "\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": [[71, 0, 1, "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)", "number could be used (you may need to require BinNums or Number or PrimInt63 first)"]], "\u2018qualid\u2019 should go from \u2018type\u2019 to T or (option T), where T is either Byte.byte, (list Byte.byte), or PrimString": [[71, 0, 1, "coq:exn.\u2018qualid\u2019-should-go-from-\u2018type\u2019-to-T-or-(option-T),-where-T-is-either-Byte.byte,-(list-Byte.byte),-or-PrimString.string", "string"]], "\u2018string\u2019 cannot be interpreted as a known notation in \u2018ident\u2019 entry": [[71, 0, 1, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation-in-\u2018ident\u2019-entry.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\"", " Make sure that symbols are surrounded by spaces and that holes are explicitly denoted by "_""]], "\u2018string\u2019 cannot be interpreted as a known notation": [[71, 0, 1, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\"", " Make sure that symbols are surrounded by spaces and that holes are explicitly denoted by "_""]]}, "objtypes": {"0": "coq:exn", "1": "coq:tacn", "2": "coq:warn", "3": "coq:cmd", "4": "coq:flag", "5": "coq:thm", "6": "coq:opt", "7": "coq:attr", "8": "coq:table", "9": "coq:tacv"}, "objnames": {"0": ["coq", "exn", "Coq exn"], "1": ["coq", "tacn", "Coq tacn"], "2": ["coq", "warn", "Coq warn"], "3": ["coq", "cmd", "Coq cmd"], "4": ["coq", "flag", "Coq flag"], "5": ["coq", "thm", "Coq thm"], "6": ["coq", "opt", "Coq opt"], "7": ["coq", "attr", "Coq attr"], "8": ["coq", "table", "Coq table"], "9": ["coq", "tacv", "Coq tacv"]}, "titleterms": {"program": [2, 6, 9, 27, 55, 60], "extract": [2, 17, 24], "gener": [2, 3, 4, 11, 14, 23, 29, 44, 54, 55, 57, 67, 71, 72], "ml": [2, 55], "code": 2, "option": [2, 17, 21, 29, 51, 66, 75], "set": [2, 13, 26, 29, 37, 41, 57, 58, 60, 66], "target": [2, 53], "languag": [2, 17, 24, 25, 33, 45, 55, 57], "inlin": [2, 59], "optim": [2, 54], "extra": [2, 59], "elimin": [2, 46, 57], "useless": 2, "argument": [2, 37, 41, 44, 46, 53, 57, 67, 71], "realiz": 2, "axiom": 2, "induct": [2, 26, 34, 40, 46, 67, 71, 72], "type": [2, 3, 4, 10, 17, 26, 28, 30, 32, 34, 35, 37, 38, 40, 44, 46, 54, 55, 57, 59, 67, 71], "ffi": 2, "avoid": 2, "conflict": 2, "exist": [2, 24, 35], "filenam": [2, 53], "addit": [2, 57, 60], "differ": [2, 44, 66], "between": [2, 55, 59, 66], "rocq": [2, 25, 51, 53, 57, 60, 71, 74, 75], "system": [2, 35], "some": [2, 35], "exampl": [2, 3, 4, 5, 6, 11, 14, 17, 26, 27, 28, 29, 30, 31, 34, 35, 37, 38, 40, 41, 42, 43, 44, 46, 51, 52, 53, 54, 55, 57, 58, 59, 60, 62, 64, 66, 67, 71, 72, 74, 75], "A": [2, 14, 35, 58, 67], "detail": [2, 17, 24, 53], "euclidean": 2, "divis": 2, "": [2, 41, 67], "horror": 2, "museum": 2, "user": [2, 3, 10, 24, 27], "contribut": [2, 24, 27], "rewrit": [3, 10, 57, 64, 67], "introduct": [3, 25, 57], "relat": 3, "morphism": 3, "parametr": [3, 46, 57], "continu": [3, 41, 44], "contravari": 3, "ad": [3, 11, 52], "new": [3, 11, 17, 24, 35, 53, 57, 63], "nonreflex": 3, "nonsymmetr": 3, "covari": 3, "ambigu": 3, "setoid": [3, 64], "context": [3, 13, 54, 55, 57, 58], "valu": [3, 46, 54, 55], "declar": [3, 13, 38, 41, 42, 44, 55, 57, 66, 67], "command": [3, 13, 17, 19, 24, 35, 51, 52, 57, 59, 66, 67, 71, 75, 76], "tactic": [3, 5, 11, 17, 22, 24, 27, 43, 54, 55, 57, 58, 60, 61, 63, 64, 67, 71, 72, 74], "first": [3, 34, 46, 54, 57], "class": [3, 4, 37, 55, 71], "enabl": [3, 66, 71], "provid": [3, 46], "print": [3, 4, 14, 37, 43, 44, 46, 54, 55, 59, 71, 75], "deprec": [3, 74], "syntax": [3, 10, 17, 24, 29, 44, 46, 54, 55, 57, 71], "backward": [3, 58], "incompat": [3, 17], "extens": [3, 24, 45, 46, 57, 71], "under": [3, 57], "binder": [3, 28, 44, 57, 71], "subrel": 3, "constant": [3, 37, 59, 71], "unfold": [3, 41, 64], "dure": 3, "proper": 3, "instanc": [3, 13, 43], "search": [3, 59, 60], "strategi": [3, 46, 64], "usag": [3, 11, 57, 66, 75], "definit": [3, 9, 12, 14, 30, 32, 34, 37, 40, 46, 54, 55, 57, 64, 71], "innermost": 3, "outermost": 3, "implicit": [4, 41, 44, 46, 60, 71], "coercion": [4, 46, 71], "present": [4, 14], "revers": [4, 44, 54, 55, 64], "ident": [4, 54], "inherit": [4, 71], "graph": 4, "displai": [4, 43, 44, 52, 59, 71], "avail": 4, "activ": 4, "record": [4, 37], "section": [4, 13, 14, 38, 66, 75], "modul": [4, 35, 53], "function": [4, 28, 30, 34, 41, 44, 54, 60, 72], "applic": [4, 28, 44, 54, 58], "us": [4, 14, 25, 35, 37, 38, 43, 44, 46, 51, 52, 53, 54, 58, 64, 66, 67, 71], "attribut": [4, 17, 18, 29, 35, 38], "micromega": 5, "solver": [5, 7, 11, 61, 62], "arithmet": [5, 27], "goal": [5, 11, 54, 55, 57, 58, 66, 67], "over": [5, 9, 55, 57], "order": [5, 10, 58], "ring": [5, 11], "short": 5, "descript": 5, "positivstellensatz": 5, "refut": 5, "lra": 5, "decis": 5, "procedur": 5, "linear": 5, "real": [5, 17], "ration": [5, 11], "lia": 5, "integ": [5, 36, 71], "high": 5, "level": [5, 10, 29, 30, 32, 34, 55], "view": [5, 57], "cut": [5, 54], "plane": 5, "proof": [5, 8, 12, 14, 25, 31, 32, 46, 54, 57, 58, 60, 65, 66], "case": [5, 24, 40, 52, 57, 58, 67], "split": [5, 53], "nra": 5, "non": [5, 12, 34, 44, 54, 55, 58, 67, 71], "nia": 5, "psatz": 5, "zifi": 5, "pre": 5, "process": [5, 8, 54], "deriv": [6, 42, 67], "nsatz": 7, "equal": [7, 9, 27, 62, 64, 67], "integr": 7, "domain": 7, "more": 7, "about": [7, 46, 71], "asynchron": [8, 52], "parallel": 8, "annot": 8, "automat": [8, 11, 34, 41, 43, 44, 61, 67], "suggest": 8, "block": [8, 57], "error": [8, 20, 54, 55], "resili": 8, "caveat": [8, 30], "interact": [8, 35, 44, 51, 54, 55, 57], "mode": [8, 44, 52, 55, 57, 66], "limit": [8, 67], "number": [8, 54, 60, 71], "worker": 8, "elabor": 9, "syntact": [9, 54, 55], "control": [9, 35, 44, 46, 54, 57, 58, 59, 64, 66], "fixpoint": [9, 34], "lemma": [9, 27, 66], "solv": [9, 43, 54, 66], "oblig": 9, "frequent": 9, "ask": 9, "question": 9, "defin": [10, 34, 35, 37, 54, 55, 60], "rule": [10, 26, 31, 34, 38, 57, 64, 71, 75], "symbol": [10, 52, 54], "pattern": [10, 44, 46, 54, 55, 57, 58, 59, 71], "higher": 10, "hole": [10, 54], "univers": [10, 14], "polymorph": [10, 14, 34, 57], "preserv": 10, "confluenc": 10, "termin": [10, 12, 57], "compat": [10, 17, 37, 55, 57, 74], "eta": 10, "law": 10, "support": [10, 29, 52], "field": [11, 35, 37], "polynomi": 11, "equat": [11, 57], "what": 11, "doe": [11, 46], "thi": 11, "do": [11, 54], "The": [11, 26, 27, 34, 35, 44, 51, 53, 57, 71, 75], "variabl": [11, 43, 44, 46, 51, 52, 55, 66], "map": 11, "i": [11, 54, 58], "concret": [11, 24], "structur": [11, 42, 57], "how": [11, 66], "work": [11, 53, 66], "deal": 11, "side": [11, 46], "histori": [11, 15, 24], "discuss": 11, "sprop": 12, "irrelev": [12, 31], "proposit": [12, 27, 54], "basic": [12, 27, 29, 52, 53, 54, 57, 65, 71], "construct": [12, 24, 26, 34, 37, 40, 54, 59], "encod": [12, 52], "strict": [12, 34, 44, 55], "uip": 12, "debug": [12, 54, 55, 59], "issu": [12, 17, 57], "typeclass": [13, 57], "bind": [13, 41, 52, 55, 58, 71], "parameter": [13, 34, 71], "build": [13, 53], "hierarchi": [13, 42], "superclass": 13, "substructur": 13, "summari": [13, 17, 24, 35, 38], "transpar": 13, "opaqu": 13, "eauto": 13, "monomorph": 14, "cumul": 14, "noncumul": 14, "specifi": 14, "demonstr": 14, "varianc": 14, "weak": 14, "constraint": [14, 66], "global": [14, 54, 71], "local": [14, 29, 35, 38, 46, 53, 54, 57, 58, 60, 71], "convers": [14, 31, 64], "unif": [14, 58, 66], "minim": 14, "explicit": [14, 43, 44, 57], "sort": [14, 34, 39], "recent": [15, 17], "chang": [15, 17, 24, 55], "index": [16, 18, 19, 20, 21, 22, 23, 34, 57, 69], "unreleas": 17, "kernel": 17, "specif": [17, 25, 27], "infer": [17, 43, 44], "notat": [17, 27, 42, 54, 55, 59, 71], "ltac": [17, 54, 55], "ltac2": [17, 55], "ssreflect": [17, 57], "line": [17, 51, 75, 76], "tool": [17, 24, 76], "coqid": [17, 52], "standard": [17, 24, 55, 57, 60, 71], "librari": [17, 24, 27, 51, 53, 59, 60, 71, 73, 74], "infrastructur": 17, "depend": [17, 46, 53, 58, 59, 67], "miscellan": [17, 24], "version": [17, 24, 53], "8": 17, "20": 17, "0": [17, 24], "19": 17, "1": [17, 24, 37, 67], "2": [17, 24, 37, 67], "18": 17, "17": 17, "16": 17, "15": 17, "14": 17, "nativ": [17, 53], "compil": [17, 51, 52, 53, 59], "13": 17, "beta1": 17, "12": 17, "flag": [17, 21, 29, 59], "refer": [17, 54, 59], "manual": [17, 41, 44], "11": 17, "10": 17, "other": [17, 44, 66], "beta2": 17, "beta3": 17, "9": 17, "7": [17, 24], "potenti": 17, "6": [17, 24], "sourc": [17, 75], "6beta1": 17, "5": [17, 24], "5beta1": 17, "5beta2": 17, "5beta3": 17, "5pl1": 17, "5pl2": 17, "5pl3": 17, "4": [17, 24], "4beta": 17, "4beta2": 17, "3": [17, 24, 71], "1beta": 17, "1gamma": 17, "0beta": 17, "old": 17, "warn": [20, 53, 74], "tabl": [21, 29], "earli": 24, "coq": [24, 27, 52], "histor": 24, "root": [24, 53], "main": 24, "novelti": 24, "let": [24, 32, 46, 54, 57], "long": 24, "name": [24, 35, 37, 54, 66], "reduct": [24, 31, 34, 37, 55, 59, 64], "effici": 24, "pars": [24, 44, 55, 71], "grammar": [24, 53], "content": 25, "prover": [25, 51, 53], "appendix": 25, "term": [26, 54, 55, 64, 71], "subtyp": [26, 44], "calculu": 26, "impred": 26, "prelud": 27, "logic": [27, 53, 54, 60, 62], "connect": 27, "quantifi": 27, "datatyp": 27, "well": [27, 34], "found": 27, "recurs": [27, 30, 34, 55, 71, 72], "assumpt": [28, 57], "fun": 28, "foral": 28, "simpl": [28, 31, 34, 35, 55, 64, 71], "notion": 29, "convent": [29, 46], "lexic": 29, "stack": [29, 52], "overflow": 29, "nat": 29, "essenti": 29, "vocabulari": 29, "document": [29, 53, 75], "unset": 29, "coinduct": 30, "corecurs": 30, "co": 30, "cofix": 30, "top": [30, 32, 34], "\u03b1": 31, "\u03b2": 31, "\u03b4": 31, "\u03b9": 31, "\u03b6": 31, "\u03b7": 31, "expans": [31, 46], "delta": 31, "fix": [31, 34], "beta": 31, "match": [31, 34, 37, 40, 46, 54, 55, 57], "convert": 31, "cast": 32, "assert": 32, "core": 33, "prop": 34, "lower": 34, "mutual": 34, "theori": 34, "object": [34, 36, 46, 74], "form": 34, "ariti": 34, "given": 34, "constructor": [34, 67], "posit": 34, "condit": [34, 54, 57], "nest": [34, 46], "correct": 34, "neg": 34, "occurr": [34, 57, 58, 67], "second": [34, 46, 54, 58], "strictli": 34, "templat": [34, 52], "destructor": 34, "end": [34, 38], "creat": [35, 37, 43, 60, 63], "omit": 35, "item": [35, 57], "from": [35, 44, 55], "an": [35, 57, 59, 67], "functor": 35, "paramet": [35, 46, 51, 57], "two": [35, 54], "sub": 35, "share": 35, "qualifi": 35, "scope": [35, 41, 71], "primit": [36, 37, 59, 71], "float": 36, "arrai": 36, "byte": 36, "base": 36, "string": [36, 71], "reus": 37, "multipl": [37, 41, 46, 53, 54, 55, 57], "claus": [37, 46, 58], "access": 37, "project": [37, 53], "anonym": [37, 57], "variant": [40, 46, 57, 58], "privat": 40, "properti": [41, 54, 71], "altern": [41, 54], "implicits_alt": 41, "default": [41, 46], "renam": 41, "effect": [41, 55], "bidirection": 41, "hint": [41, 57, 59, 60], "canon": 42, "overload": 42, "compact": 42, "existenti": [43, 57], "subterm": [43, 46], "e": 43, "can": 43, "appli": [43, 57, 58, 64, 67], "v": [43, 55, 57], "eappli": 43, "resolut": [43, 44, 57], "pretti": [43, 44, 46, 75], "kind": 44, "knowledg": 44, "maxim": 44, "insert": 44, "trail": 44, "casual": 44, "contextu": [44, 57], "follow": 44, "combin": [44, 58, 67], "explicitli": 44, "give": 44, "when": [44, 46, 57], "deactiv": 44, "extend": [46, 57], "boolean": [46, 54, 57], "express": [46, 54, 55, 71], "irrefut": 46, "destructur": [46, 57], "factor": [46, 71], "same": [46, 53], "right": [46, 67], "hand": 46, "wildcard": [46, 57], "predic": [46, 57, 67], "hidden": 46, "unus": 46, "alias": 46, "subpattern": 46, "disjunct": 46, "understand": 46, "must": 46, "write": [46, 65, 74], "involv": [46, 71], "fail": [46, 54, 57], "repl": 51, "batch": 51, "load": [51, 53, 59], "singl": [51, 54], "file": [51, 52, 53, 59, 74, 75], "custom": [51, 52, 71], "launch": 51, "time": [51, 53, 54], "coqrc": 51, "start": [51, 57], "up": 51, "script": [51, 52], "environ": [51, 59], "profil": [51, 54, 55], "interfac": 51, "produc": 51, "vo": 51, "checker": 51, "rocqchk": 51, "manag": [52, 58, 66], "buffer": 52, "edit": 52, "run": [52, 54], "queri": [52, 59], "prefer": 52, "kei": 52, "unicod": 52, "input": 52, "charact": 52, "save": 52, "debugg": [52, 54], "breakpoint": 52, "call": [52, 55], "configur": 53, "instal": 53, "packag": 53, "opam": 53, "setup": 53, "your": 53, "own": 53, "_coqproject": 53, "overview": [53, 55], "path": [53, 59], "modifi": 53, "interdepend": 53, "uninstal": 53, "upgrad": 53, "makefil": 53, "comment": 53, "quot": 53, "c": 53, "forbidden": 53, "No": 53, "common": [53, 58], "coqmakefil": 53, "late": 53, "perform": [53, 58], "test": [53, 54], "subset": 53, "j": 53, "precompil": 53, "native_comput": [53, 64], "dune": 53, "dep": 53, "comput": [53, 54, 64], "embed": 53, "phrase": 53, "insid": [53, 54, 75], "latex": [53, 75], "man": 53, "page": 53, "macro": 54, "defect": [54, 57], "substitut": 54, "selector": [54, 57], "reorder": [54, 66], "focus": [54, 66], "branch": [54, 57], "backtrack": [54, 55, 59], "flow": [54, 57, 58], "sequenc": 54, "loop": 54, "repeat": 54, "catch": [54, 55], "try": 54, "tryif": 54, "succe": 54, "list": [54, 55, 75], "make": 54, "progress": 54, "detect": 54, "success": 54, "failur": 54, "check": 54, "assert_succe": 54, "assert_fail": 54, "soft": 54, "onc": 54, "exactly_onc": 54, "manipul": 54, "comparison": [54, 55], "lazymatch": 54, "multimatch": 54, "hypothes": [54, 55, 58, 59, 66], "wai": [54, 55], "fill": 54, "fresh": 54, "hypothesi": [54, 58], "eval": [54, 64], "get": [54, 57], "untyp": 54, "type_term": 54, "count": 54, "numgoal": 54, "guard": 54, "is_fix": 54, "is_cofix": 54, "is_proj": 54, "timeout": 54, "evalu": [54, 55], "time_constr": 54, "idtac": 54, "toplevel": 54, "natur": [54, 55, 60, 67], "have": [54, 57], "least": 54, "element": [54, 58], "prove": [54, 66, 67], "permut": 54, "decid": [54, 67], "intuitionist": 54, "isomorph": 54, "backtrac": 54, "trace": 54, "execut": 54, "design": 55, "compon": 55, "api": 55, "dynam": 55, "mutabl": 55, "cell": 55, "io": 55, "fatal": 55, "meta": 55, "quotat": 55, "built": 55, "antiquot": 55, "semant": 55, "static": 55, "lazy_match": 55, "multi_match": 55, "abbrevi": [55, 57, 71], "layer": 55, "ltac1": 55, "low": 55, "switch": [55, 57], "transit": 55, "delai": [55, 66], "In": 55, "except": 55, "acknowledg": 57, "gallina": 57, "assign": 57, "select": 57, "bookkeep": 57, "move": [57, 58], "elim": 57, "discharg": 57, "clear": 57, "exact": 57, "abstract": [57, 66], "simplif": 57, "intro": [57, 58], "famili": 57, "indent": 57, "bullet": [57, 66], "iter": 57, "entri": [57, 71], "suff": 57, "wlog": 57, "advanc": [57, 72], "remark": 57, "redex": 57, "chain": 57, "step": [57, 66], "ar": [57, 66], "repetit": 57, "multi": 57, "licit": 57, "metavari": 57, "One": 57, "liner": 57, "lock": 57, "unlock": 57, "congruenc": 57, "recurr": 57, "reflect": 57, "interpret": [57, 71], "special": [57, 58], "mechan": 57, "equival": [57, 58], "shortcut": 57, "synopsi": 57, "reserv": [58, 71], "keyword": [58, 59], "invoc": 58, "b": 58, "compound": 58, "theorem": 58, "reason": [58, 64, 67], "includ": 58, "premis": [58, 67], "forward": 58, "until": 58, "simple_bind": 58, "partial": 58, "product": 58, "contradict": 58, "classic": 58, "orient": 58, "part": [59, 75], "identifi": [59, 71], "disambigu": 59, "conclus": 59, "statu": 59, "searchpattern": 59, "searchrewrit": 59, "request": [59, 66], "locat": [59, 71], "quit": 59, "full": 59, "intern": 59, "registr": 59, "expos": 59, "ocaml": 59, "fast": [59, 64], "machin": 59, "regist": 59, "oper": 59, "programm": [60, 61], "ackermann": 60, "maccarthi": 60, "databas": 60, "autom": 60, "leibniz": 64, "fold": 64, "doesn": 64, "t": 64, "alwai": 64, "undo": 64, "fold_right": 64, "vm_comput": 64, "algorithm": 64, "state": 66, "enter": 66, "exit": 66, "curli": 66, "brace": 66, "shelv": 66, "shelve_unifi": 66, "cycl": 66, "swap": 66, "revgoal": 66, "subgoal": 66, "separ": 66, "inform": [66, 71], "show": [66, 75], "diff": 66, "calcul": 66, "mainten": 66, "memori": 66, "left": 67, "analysi": 67, "destruct": 67, "discrimin": 67, "n": 67, "invers": 67, "or_and_intropattern": 67, "inversion_sigma": 67, "helper": 67, "principl": [67, 72, 75], "scheme": [67, 72], "tree": 67, "forest": 67, "odd": 67, "even": 67, "variou": 67, "scheme_typ": 67, "larger": 67, "glossari": 69, "preced": 71, "associ": 71, "complex": 71, "infix": 71, "simultan": 71, "disabl": 71, "bound": 71, "both": 71, "predefin": 71, "open": 71, "type_scop": 71, "function_scop": 71, "radix": 71, "plugin": [73, 74], "trigger": 74, "introduc": 74, "alia": 74, "doc": 75, "materi": 75, "emphasi": 75, "escap": 75, "html": 75, "verbatim": 75, "hyperlink": 75, "hide": 75, "style": 75, "graphic": 76, "bibliographi": 77}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinxcontrib.bibtex": 9, "coqrst.coqdomain": 2, "sphinx": 57}, "alltitles": {"Program extraction": [[2, "program-extraction"]], "Generating ML Code": [[2, "generating-ml-code"]], "Extraction Options": [[2, "extraction-options"]], "Setting the target language": [[2, "setting-the-target-language"]], "Inlining and optimizations": [[2, "inlining-and-optimizations"]], "Extra elimination of useless arguments": [[2, "extra-elimination-of-useless-arguments"]], "Realizing axioms": [[2, "realizing-axioms"]], "Realizing inductive types": [[2, "realizing-inductive-types"]], "Generating FFI Code": [[2, "generating-ffi-code"]], "Avoiding conflicts with existing filenames": [[2, "avoiding-conflicts-with-existing-filenames"]], "Additional settings": [[2, "additional-settings"]], "Differences between Rocq and ML type systems": [[2, "differences-between-rocq-and-ml-type-systems"]], "Some examples": [[2, "some-examples"]], "A detailed example: Euclidean division": [[2, "a-detailed-example-euclidean-division"]], "Extraction's horror museum": [[2, "extraction-s-horror-museum"]], "Users' Contributions": [[2, "users-contributions"]], "Generalized rewriting": [[3, "generalized-rewriting"]], "Introduction to generalized rewriting": [[3, "introduction-to-generalized-rewriting"]], "Relations and morphisms": [[3, "relations-and-morphisms"]], "Example: Parametric relation": [[3, null], [3, null]], "Example: Parametric relation (continued)": [[3, null]], "Example: Morphisms": [[3, null]], "Example: Contravariant morphisms": [[3, null]], "Example: Rewriting": [[3, null]], "Adding new relations and morphisms": [[3, "adding-new-relations-and-morphisms"]], "Example": [[3, null], [3, null], [3, null], [3, null], [3, null], [3, null], [6, null], [11, null], [11, null], [11, null], [17, null], [26, null], [27, null], [30, null], [30, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [34, null], [35, null], [35, null], [35, null], [35, null], [35, null], [37, null], [37, null], [40, null], [40, null], [41, null], [41, null], [41, null], [41, null], [41, null], [41, null], [42, null], [42, null], [42, null], [44, null], [44, null], [44, null], [44, null], [46, null], [46, null], [46, null], [46, null], [46, null], [46, null], [52, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [53, null], [54, null], [54, null], [54, null], [54, null], [55, null], [55, null], [55, null], [55, null], [55, null], [55, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [57, null], [58, null], [58, "simple-apply-ex"], [58, null], [58, null], [58, null], [58, null], [58, null], [59, null], [60, null], [60, null], [60, null], [62, null], [62, null], [62, null], [62, null], [64, null], [64, null], [64, null], [64, null], [64, null], [64, null], [66, null], [66, null], [66, null], [66, null], [67, null], [67, null], [67, null], [67, null], [67, null], [67, null], [67, null], [71, null], [72, null], [72, null], [72, null], [75, null], [75, null], [75, null], [75, null]], "Rewriting and nonreflexive relations": [[3, "rewriting-and-nonreflexive-relations"]], "Rewriting and nonsymmetric relations": [[3, "rewriting-and-nonsymmetric-relations"]], "Example: Covariance and contravariance": [[3, null]], "Rewriting in ambiguous setoid contexts": [[3, "rewriting-in-ambiguous-setoid-contexts"]], "Rewriting with Type valued relations": [[3, "rewriting-with-type-valued-relations"]], "Declaring rewrite relations": [[3, "declaring-rewrite-relations"]], "Commands and tactics": [[3, "commands-and-tactics"]], "First class setoids and morphisms": [[3, "first-class-setoids-and-morphisms"]], "Example: First class setoids": [[3, null]], "Tactics enabled on user provided relations": [[3, "tactics-enabled-on-user-provided-relations"]], "Printing relations and morphisms": [[3, "printing-relations-and-morphisms"]], "Deprecated syntax and backward incompatibilities": [[3, "deprecated-syntax-and-backward-incompatibilities"]], "Extensions": [[3, "extensions"]], "Rewriting under binders": [[3, "rewriting-under-binders"], [57, "rewriting-under-binders"]], "Subrelations": [[3, "subrelations"]], "Constant unfolding during rewriting": [[3, "constant-unfolding-during-rewriting"]], "Constant unfolding during Proper-instance search": [[3, "constant-unfolding-during-proper-instance-search"]], "Strategies for rewriting": [[3, "strategies-for-rewriting"]], "Usage": [[3, "usage"], [57, "usage"], [75, "usage"]], "Definitions": [[3, "definitions"], [32, "definitions"], [57, "definitions"]], "Example: innermost and outermost": [[3, "rewrite-strat-innermost-outermost"]], "Implicit Coercions": [[4, "implicit-coercions"]], "General Presentation": [[4, "general-presentation"], [14, "general-presentation"]], "Coercion Classes": [[4, "coercion-classes"], [4, "id2"]], "Coercions": [[4, "id1"]], "Reversible Coercions": [[4, "reversible-coercions"]], "Identity Coercions": [[4, "identity-coercions"]], "Inheritance Graph": [[4, "inheritance-graph"]], "Displaying Available Coercions": [[4, "displaying-available-coercions"]], "Activating the Printing of Coercions": [[4, "activating-the-printing-of-coercions"]], "Classes as Records": [[4, "classes-as-records"]], "Coercions and Sections": [[4, "coercions-and-sections"]], "Coercions and Modules": [[4, "coercions-and-modules"]], "Examples": [[4, "examples"], [31, "examples"], [35, "examples"], [57, "examples"]], "Example: Coercion at function application": [[4, null]], "Example: Coercion to a type": [[4, null]], "Example: Coercion to a function": [[4, null]], "Example: Reversible coercions": [[4, "example-reversible-coercion"]], "Example: Reversible coercions using the reversible attribute": [[4, "example-reversible-coercion-attribute"]], "Example: Identity coercions.": [[4, "example-identity-coercion"]], "Example: Inheritance Graph": [[4, null]], "Micromega: solvers for arithmetic goals over ordered rings": [[5, "micromega-solvers-for-arithmetic-goals-over-ordered-rings"]], "Short description of the tactics": [[5, "short-description-of-the-tactics"]], "Positivstellensatz refutations": [[5, "positivstellensatz-refutations"]], "lra: a decision procedure for linear real and rational arithmetic": [[5, "lra-a-decision-procedure-for-linear-real-and-rational-arithmetic"]], "lia: a tactic for linear integer arithmetic": [[5, "lia-a-tactic-for-linear-integer-arithmetic"]], "High level view of lia": [[5, "high-level-view-of-lia"]], "Cutting plane proofs": [[5, "cutting-plane-proofs"]], "Example: Cutting plane": [[5, null]], "Case split": [[5, "case-split"]], "nra: a proof procedure for non-linear arithmetic": [[5, "nra-a-proof-procedure-for-non-linear-arithmetic"]], "nia: a proof procedure for non-linear integer arithmetic": [[5, "nia-a-proof-procedure-for-non-linear-integer-arithmetic"]], "psatz: a proof procedure for non-linear arithmetic": [[5, "psatz-a-proof-procedure-for-non-linear-arithmetic"]], "zify: pre-processing of arithmetic goals": [[5, "zify-pre-processing-of-arithmetic-goals"]], "Example: Lra": [[5, "lra-example"]], "Program derivation": [[6, "program-derivation"]], "Nsatz: a solver for equalities in integral domains": [[7, "nsatz-a-solver-for-equalities-in-integral-domains"]], "More about nsatz": [[7, "more-about-nsatz"]], "Asynchronous and Parallel Proof Processing": [[8, "asynchronous-and-parallel-proof-processing"]], "Proof annotations": [[8, "proof-annotations"]], "Automatic suggestion of proof annotations": [[8, "automatic-suggestion-of-proof-annotations"]], "Proof blocks and error resilience": [[8, "proof-blocks-and-error-resilience"]], "Caveats": [[8, "caveats"], [8, "id3"]], "Interactive mode": [[8, "interactive-mode"], [57, "interactive-mode"]], "Limiting the number of parallel workers": [[8, "limiting-the-number-of-parallel-workers"]], "Program": [[9, "program"]], "Elaborating programs": [[9, "elaborating-programs"]], "Syntactic control over equalities": [[9, "syntactic-control-over-equalities"]], "Program Definition": [[9, "program-definition"]], "Program Fixpoint": [[9, "program-fixpoint"]], "Program Lemma": [[9, "program-lemma"]], "Solving obligations": [[9, "solving-obligations"]], "Frequently Asked Questions": [[9, "frequently-asked-questions"]], "User-defined rewrite rules": [[10, "user-defined-rewrite-rules"]], "Symbols": [[10, "symbols"]], "Rewrite rules": [[10, "id1"]], "Pattern syntax": [[10, "pattern-syntax"]], "Higher-order pattern holes": [[10, "higher-order-pattern-holes"]], "Universe polymorphic rules": [[10, "universe-polymorphic-rules"]], "Rewrite rules, type preservation, confluence and termination": [[10, "rewrite-rules-type-preservation-confluence-and-termination"]], "Compatibility with the eta laws": [[10, "compatibility-with-the-eta-laws"]], "Level of support": [[10, "level-of-support"]], "ring and field: solvers for polynomial and rational equations": [[11, "ring-and-field-solvers-for-polynomial-and-rational-equations"]], "What does this tactic do?": [[11, "what-does-this-tactic-do"]], "The variables map": [[11, "the-variables-map"]], "Is it automatic?": [[11, "is-it-automatic"]], "Concrete usage": [[11, "concrete-usage"]], "Adding a ring structure": [[11, "adding-a-ring-structure"]], "How does it work?": [[11, "how-does-it-work"]], "Dealing with fields": [[11, "dealing-with-fields"]], "Example: field that generates side goals": [[11, null]], "Adding a new field structure": [[11, "adding-a-new-field-structure"]], "History of ring": [[11, "history-of-ring"]], "Discussion": [[11, "discussion"]], "SProp (proof irrelevant propositions)": [[12, "sprop-proof-irrelevant-propositions"]], "Basic constructs": [[12, "basic-constructs"]], "Encodings for strict propositions": [[12, "encodings-for-strict-propositions"]], "Definitional UIP": [[12, "definitional-uip"]], "Non Termination with UIP": [[12, "non-termination-with-uip"]], "Debugging \\SProp issues": [[12, "debugging-sprop-issues"]], "Typeclasses": [[13, "typeclasses"]], "Typeclass and instance declarations": [[13, "typeclass-and-instance-declarations"]], "Binding typeclasses": [[13, "binding-typeclasses"]], "Parameterized instances": [[13, "parameterized-instances"]], "Sections and contexts": [[13, "sections-and-contexts"]], "Building hierarchies": [[13, "building-hierarchies"]], "Superclasses": [[13, "superclasses"]], "Substructures": [[13, "substructures"]], "Command summary": [[13, "command-summary"]], "Typeclasses Transparent, Typeclasses Opaque": [[13, "typeclasses-transparent-typeclasses-opaque"]], "Settings": [[13, "settings"], [29, "settings"], [57, "settings"]], "Typeclasses eauto": [[13, "typeclasses-eauto"]], "Polymorphic Universes": [[14, "polymorphic-universes"]], "Polymorphic, Monomorphic": [[14, "polymorphic-monomorphic"]], "Cumulative, NonCumulative": [[14, "cumulative-noncumulative"]], "Specifying cumulativity": [[14, "specifying-cumulativity"]], "Example: Demonstration of universe variances": [[14, null]], "Example: A proof using cumulativity": [[14, null]], "Cumulativity Weak Constraints": [[14, "cumulativity-weak-constraints"]], "Global and local universes": [[14, "global-and-local-universes"]], "Conversion and unification": [[14, "conversion-and-unification"]], "Minimization": [[14, "minimization"]], "Explicit Universes": [[14, "explicit-universes"]], "Printing universes": [[14, "printing-universes"]], "Polymorphic definitions": [[14, "polymorphic-definitions"]], "Sort polymorphism": [[14, "sort-polymorphism"]], "Universe polymorphism and sections": [[14, "universe-polymorphism-and-sections"]], "History and recent changes": [[15, "history-and-recent-changes"]], "Indexes": [[16, "indexes"]], "Recent changes": [[17, "recent-changes"]], "Unreleased changes": [[17, "unreleased-changes"]], "Kernel": [[17, "kernel"], [17, "id101"], [17, "id305"], [17, "id456"], [17, "id500"], [17, "id646"], [17, "id807"], [17, "id948"], [17, "id970"], [17, "id1138"], [17, "id1198"], [17, "id1371"], [17, "id1392"], [17, "id1539"], [17, "id1543"], [17, "id1557"]], "Specification language, type inference": [[17, "specification-language-type-inference"], [17, "changes-spec-language"], [17, "id310"], [17, "id476"], [17, "id506"], [17, "id651"], [17, "id819"], [17, "id973"], [17, "id1205"], [17, "id1374"], [17, "id1402"], [17, "id1560"]], "Notations": [[17, "notations"], [17, "id129"], [17, "id322"], [17, "id461"], [17, "id479"], [17, "id519"], [17, "id657"], [17, "id831"], [17, "id984"], [17, "id1143"], [17, "id1216"], [17, "id1431"], [17, "id1581"], [27, "notations"], [55, "notations"], [71, "notations"]], "Tactics": [[17, "tactics"], [17, "id138"], [17, "id357"], [17, "id463"], [17, "id482"], [17, "id532"], [17, "id665"], [17, "id837"], [17, "id1001"], [17, "id1146"], [17, "id1171"], [17, "id1233"], [17, "id1377"], [17, "id1464"], [17, "id1602"], [27, "tactics"], [57, "tactics"], [58, "tactics"], [60, "tactics"], [72, "tactics"]], "Ltac language": [[17, "ltac-language"], [17, "id165"], [17, "id392"], [17, "id685"]], "Ltac2 language": [[17, "ltac2-language"], [17, "id170"], [17, "ltac2"], [17, "id466"], [17, "id485"], [17, "id552"], [17, "id688"]], "SSReflect": [[17, "ssreflect"], [17, "id195"], [17, "id712"], [17, "id871"], [17, "id1051"], [17, "id1290"], [17, "id1491"], [17, "id1652"]], "Commands and options": [[17, "commands-and-options"], [17, "id204"], [17, "id414"], [17, "id487"], [17, "id570"], [17, "id714"], [17, "id873"], [17, "id957"], [17, "id1060"], [17, "id1293"], [17, "id1382"], [17, "id1495"], [17, "id1537"]], "Command-line tools": [[17, "command-line-tools"], [17, "id235"], [17, "id432"], [17, "id601"], [17, "id743"], [17, "id899"], [17, "id1092"], [17, "id1155"], [17, "id1316"]], "CoqIDE": [[17, "coqide"], [17, "id241"], [17, "id491"], [17, "id610"], [17, "id904"], [17, "id960"], [17, "id1107"], [17, "id1157"], [17, "id1176"], [17, "id1331"], [17, "id1513"], [17, "id1541"], [17, "id1719"], [52, "coqide"]], "Standard library": [[17, "standard-library"], [17, "renaming-stdlib"], [17, "stdlib"], [17, "id613"], [17, "id749"], [17, "id906"], [17, "id1114"], [17, "id1188"], [17, "id1335"], [17, "id1516"], [17, "id1722"], [24, "standard-library"]], "Infrastructure and dependencies": [[17, "infrastructure-and-dependencies"], [17, "id271"], [17, "id471"], [17, "id494"], [17, "id634"], [17, "id769"], [17, "id925"], [17, "id1127"], [17, "id1362"], [17, "id1531"], [17, "id1797"]], "Extraction": [[17, "extraction"], [17, "id288"], [17, "id452"], [17, "id637"], [17, "id937"], [17, "id1133"], [17, "id1759"], [24, "extraction"]], "Miscellaneous": [[17, "miscellaneous"], [17, "id789"], [17, "id1166"], [17, "id1368"]], "Version 8.20": [[17, "version-8-20"]], "Summary of changes": [[17, "summary-of-changes"], [17, "id293"], [17, "id498"], [17, "id640"], [17, "id800"], [17, "id963"], [17, "id1191"], [17, "id1387"], [17, "id1551"], [17, "id1857"], [17, "id1995"], [17, "id2142"], [17, "id2144"], [17, "id2145"], [17, "id2146"], [17, "id2147"], [17, "id2149"], [17, "id2152"], [17, "id2153"], [17, "id2155"], [17, "id2156"], [24, "summary-of-changes"]], "Changes in 8.20.0": [[17, "changes-in-8-20-0"]], "Version 8.19": [[17, "version-8-19"]], "Changes in 8.19.0": [[17, "changes-in-8-19-0"]], "Changes in 8.19.1": [[17, "changes-in-8-19-1"]], "Changes in 8.19.2": [[17, "changes-in-8-19-2"]], "Version 8.18": [[17, "version-8-18"]], "Changes in 8.18.0": [[17, "changes-in-8-18-0"]], "Version 8.17": [[17, "version-8-17"]], "Changes in 8.17.0": [[17, "changes-in-8-17-0"]], "Changes in 8.17.1": [[17, "changes-in-8-17-1"]], "Version 8.16": [[17, "version-8-16"]], "Changes in 8.16.0": [[17, "changes-in-8-16-0"]], "Tactic language": [[17, "tactic-language"], [17, "id1048"], [17, "id1270"], [17, "id1485"], [17, "id1548"], [17, "id1643"]], "Changes in 8.16.1": [[17, "changes-in-8-16-1"]], "Version 8.15": [[17, "version-8-15"]], "Changes in 8.15.0": [[17, "changes-in-8-15-0"]], "Changes in 8.15.1": [[17, "changes-in-8-15-1"]], "Changes in 8.15.2": [[17, "changes-in-8-15-2"]], "Version 8.14": [[17, "version-8-14"]], "Changes in 8.14.0": [[17, "changes-in-8-14-0"]], "Native Compilation": [[17, "native-compilation"]], "Changes in 8.14.1": [[17, "changes-in-8-14-1"]], "Version 8.13": [[17, "version-8-13"]], "Changes in 8.13+beta1": [[17, "changes-in-8-13-beta1"]], "Tools": [[17, "tools"], [17, "id1684"], [24, "tools"]], "Changes in 8.13.0": [[17, "changes-in-8-13-0"]], "Changes in 8.13.1": [[17, "changes-in-8-13-1"]], "Changes in 8.13.2": [[17, "changes-in-8-13-2"]], "Version 8.12": [[17, "version-8-12"]], "Changes in 8.12+beta1": [[17, "changes-in-8-12-beta1"]], "Flags, options and attributes": [[17, "flags-options-and-attributes"]], "Commands": [[17, "id1666"], [57, "commands"], [59, "commands"]], "Reals library": [[17, "reals-library"]], "Reference manual": [[17, "refman"]], "Changes in 8.12.0": [[17, "changes-in-8-12-0"]], "Changes in 8.12.1": [[17, "changes-in-8-12-1"]], "Changes in 8.12.2": [[17, "changes-in-8-12-2"]], "Version 8.11": [[17, "version-8-11"]], "Changes in 8.11+beta1": [[17, "changes-in-8-11-beta1"]], "Changes in 8.11.0": [[17, "changes-in-8-11-0"]], "Changes in 8.11.1": [[17, "changes-in-8-11-1"]], "Changes in 8.11.2": [[17, "changes-in-8-11-2"]], "Version 8.10": [[17, "version-8-10"]], "Other changes in 8.10+beta1": [[17, "other-changes-in-8-10-beta1"]], "Changes in 8.10+beta2": [[17, "changes-in-8-10-beta2"]], "Changes in 8.10+beta3": [[17, "changes-in-8-10-beta3"]], "Changes in 8.10.0": [[17, "changes-in-8-10-0"]], "Changes in 8.10.1": [[17, "changes-in-8-10-1"]], "Changes in 8.10.2": [[17, "changes-in-8-10-2"]], "Version 8.9": [[17, "version-8-9"]], "Details of changes in 8.9+beta1": [[17, "details-of-changes-in-8-9-beta1"]], "Changes in 8.8.0": [[17, "changes-in-8-8-0"]], "Changes in 8.8.1": [[17, "changes-in-8-8-1"]], "Version 8.8": [[17, "version-8-8"]], "Details of changes in 8.8+beta1": [[17, "details-of-changes-in-8-8-beta1"]], "Details of changes in 8.8.0": [[17, "details-of-changes-in-8-8-0"]], "Details of changes in 8.8.1": [[17, "details-of-changes-in-8-8-1"]], "Details of changes in 8.8.2": [[17, "details-of-changes-in-8-8-2"]], "Version 8.7": [[17, "version-8-7"]], "Potential compatibility issues": [[17, "potential-compatibility-issues"]], "Details of changes in 8.7+beta1": [[17, "details-of-changes-in-8-7-beta1"]], "Details of changes in 8.7+beta2": [[17, "details-of-changes-in-8-7-beta2"]], "Details of changes in 8.7.0": [[17, "details-of-changes-in-8-7-0"]], "Details of changes in 8.7.1": [[17, "details-of-changes-in-8-7-1"]], "Details of changes in 8.7.2": [[17, "details-of-changes-in-8-7-2"]], "Version 8.6": [[17, "version-8-6"]], "Potential sources of incompatibilities": [[17, "potential-sources-of-incompatibilities"], [17, "id2148"], [17, "id2151"]], "Details of changes in 8.6beta1": [[17, "details-of-changes-in-8-6beta1"]], "Details of changes in 8.6": [[17, "details-of-changes-in-8-6"]], "Details of changes in 8.6.1": [[17, "details-of-changes-in-8-6-1"]], "Version 8.5": [[17, "version-8-5"]], "Details of changes in 8.5beta1": [[17, "details-of-changes-in-8-5beta1"]], "Details of changes in 8.5beta2": [[17, "details-of-changes-in-8-5beta2"]], "Details of changes in 8.5beta3": [[17, "details-of-changes-in-8-5beta3"]], "Details of changes in 8.5": [[17, "details-of-changes-in-8-5"]], "Details of changes in 8.5pl1": [[17, "details-of-changes-in-8-5pl1"]], "Details of changes in 8.5pl2": [[17, "details-of-changes-in-8-5pl2"]], "Details of changes in 8.5pl3": [[17, "details-of-changes-in-8-5pl3"]], "Version 8.4": [[17, "version-8-4"]], "Details of changes in 8.4beta": [[17, "details-of-changes-in-8-4beta"]], "Details of changes in 8.4beta2": [[17, "details-of-changes-in-8-4beta2"]], "Details of changes in 8.4": [[17, "details-of-changes-in-8-4"]], "Version 8.3": [[17, "version-8-3"]], "Details of changes": [[17, "details-of-changes"], [17, "id2154"], [24, "details-of-changes"]], "Version 8.2": [[17, "version-8-2"]], "Version 8.1": [[17, "version-8-1"]], "Details of changes in 8.1beta": [[17, "details-of-changes-in-8-1beta"]], "Details of changes in 8.1gamma": [[17, "details-of-changes-in-8-1gamma"]], "Details of changes in 8.1": [[17, "details-of-changes-in-8-1"]], "Version 8.0": [[17, "version-8-0"]], "Details of changes in 8.0beta old syntax": [[17, "details-of-changes-in-8-0beta-old-syntax"]], "Details of changes in 8.0beta new syntax": [[17, "details-of-changes-in-8-0beta-new-syntax"]], "Details of changes in 8.0": [[17, "details-of-changes-in-8-0"]], "Attribute index": [[18, "attribute-index"]], "Command index": [[19, "command-index"]], "Errors and warnings index": [[20, "errors-and-warnings-index"]], "Flags, options and tables index": [[21, "flags-options-and-tables-index"]], "Tactic index": [[22, "tactic-index"]], "General index": [[23, "general-index"]], "Early history of Coq": [[24, "early-history-of-coq"]], "Historical roots": [[24, "historical-roots"]], "Versions 1 to 5": [[24, "versions-1-to-5"]], "Version 1": [[24, "version-1"]], "Version 2": [[24, "version-2"]], "Version 3": [[24, "version-3"]], "Version 4": [[24, "version-4"]], "Version 5": [[24, "version-5"]], "Versions 6": [[24, "versions-6"]], "Version 6.1": [[24, "version-6-1"]], "Version 6.2": [[24, "version-6-2"]], "Version 6.3": [[24, "version-6-3"]], "Versions 7": [[24, "versions-7"]], "Details of changes in 7.0 and 7.1": [[24, "details-of-changes-in-7-0-and-7-1"]], "Main novelties": [[24, "main-novelties"]], "Language: new \"let-in\" construction": [[24, "language-new-let-in-construction"]], "Language: long names": [[24, "language-long-names"]], "Language: miscellaneous": [[24, "language-miscellaneous"]], "Language: Cases": [[24, "language-cases"]], "Reduction": [[24, "reduction"], [37, "reduction"], [55, "reduction"]], "New tactics": [[24, "new-tactics"]], "Changes in existing tactics": [[24, "changes-in-existing-tactics"]], "Efficiency": [[24, "efficiency"]], "Concrete syntax of constructions": [[24, "concrete-syntax-of-constructions"]], "Parsing and grammar extension": [[24, "parsing-and-grammar-extension"]], "New commands": [[24, "new-commands"]], "Changes in existing commands": [[24, "changes-in-existing-commands"]], "New user contributions": [[24, "new-user-contributions"]], "Details of changes in 7.2": [[24, "details-of-changes-in-7-2"]], "Details of changes in 7.3": [[24, "details-of-changes-in-7-3"]], "Changes in 7.3.1": [[24, "changes-in-7-3-1"]], "Details of changes in 7.4": [[24, "details-of-changes-in-7-4"]], "Introduction and Contents": [[25, "introduction-and-contents"]], "Contents": [[25, "contents"]], "Specification language": [[25, null]], "Proofs": [[25, null]], "Using the Rocq Prover": [[25, null]], "Appendix": [[25, null]], "Typing rules": [[26, "typing-rules"], [26, "id4"]], "The terms": [[26, "the-terms"]], "Subtyping rules": [[26, "subtyping-rules"]], "The Calculus of Inductive Constructions with impredicative Set": [[26, "the-calculus-of-inductive-constructions-with-impredicative-set"]], "The Coq libraries": [[27, "the-coq-libraries"]], "The prelude": [[27, "the-prelude"]], "Logic": [[27, "logic"]], "Propositional Connectives": [[27, "propositional-connectives"]], "Quantifiers": [[27, "quantifiers"]], "Equality": [[27, "equality"]], "Lemmas": [[27, "lemmas"]], "Datatypes": [[27, "datatypes"]], "Programming": [[27, "programming"]], "Specification": [[27, "specification"]], "Basic Arithmetic": [[27, "basic-arithmetic"]], "Well-founded recursion": [[27, "well-founded-recursion"]], "Users\u2019 contributions": [[27, "users-contributions"]], "Functions and assumptions": [[28, "functions-and-assumptions"]], "Binders": [[28, "binders"]], "Functions (fun) and function types (forall)": [[28, "functions-fun-and-function-types-forall"]], "Function application": [[28, "function-application"]], "Assumptions": [[28, "assumptions"]], "Example: Simple assumptions": [[28, null]], "Basic notions and conventions": [[29, "basic-notions-and-conventions"]], "Syntax and lexical conventions": [[29, "syntax-and-lexical-conventions"]], "Syntax conventions": [[29, "syntax-conventions"]], "Lexical conventions": [[29, "lexical-conventions"]], "Example: Stack overflow with nat": [[29, null]], "Essential vocabulary": [[29, "essential-vocabulary"]], "Attributes": [[29, "attributes"]], "Generic attributes": [[29, "generic-attributes"]], "Document-level attributes": [[29, "document-level-attributes"]], "Flags, Options and Tables": [[29, "flags-options-and-tables"]], "Locality attributes supported by Set and Unset": [[29, "locality-attributes-supported-by-set-and-unset"]], "Coinductive types and corecursive functions": [[30, "coinductive-types-and-corecursive-functions"]], "Coinductive types": [[30, "coinductive-types"]], "Caveat": [[30, "caveat"]], "Co-recursive functions: cofix": [[30, "co-recursive-functions-cofix"]], "Top-level definitions of corecursive functions": [[30, "top-level-definitions-of-corecursive-functions"]], "Conversion rules": [[31, "conversion-rules"]], "\u03b1-conversion": [[31, "conversion"]], "\u03b2-reduction": [[31, "reduction"]], "\u03b4-reduction": [[31, "delta-reduction-sect"]], "\u03b9-reduction": [[31, "id4"]], "\u03b6-reduction": [[31, "id6"]], "\u03b7-expansion": [[31, "expansion"]], "Example: Simple delta, fix, beta and match reductions": [[31, null]], "Proof Irrelevance": [[31, "proof-irrelevance"]], "Convertibility": [[31, "convertibility"]], "Let-in definitions": [[32, "let-in-definitions"]], "Type cast": [[32, "type-cast"]], "Top-level definitions": [[32, "top-level-definitions"]], "Assertions and proofs": [[32, "assertions-and-proofs"]], "Core language": [[33, "core-language"]], "Inductive types and recursive functions": [[34, "inductive-types-and-recursive-functions"]], "Inductive types": [[34, "inductive-types"]], "Simple inductive types": [[34, "simple-inductive-types"]], "Automatic Prop lowering": [[34, "automatic-prop-lowering"]], "Simple indexed inductive types": [[34, "simple-indexed-inductive-types"]], "Parameterized inductive types": [[34, "parameterized-inductive-types"]], "Mutually defined inductive types": [[34, "mutually-defined-inductive-types"]], "Example: Mutually defined inductive types": [[34, null]], "Recursive functions: fix": [[34, "recursive-functions-fix"]], "Top-level recursive functions": [[34, "top-level-recursive-functions"]], "Example: Mutual fixpoints": [[34, null]], "Theory of inductive definitions": [[34, "theory-of-inductive-definitions"]], "Types of inductive objects": [[34, "types-of-inductive-objects"]], "Well-formed inductive definitions": [[34, "well-formed-inductive-definitions"]], "Arity of a given sort": [[34, "arity-of-a-given-sort"]], "Arity": [[34, "arity"]], "Type of constructor": [[34, "type-of-constructor"]], "Positivity Condition": [[34, "positivity-condition"]], "Strict positivity": [[34, "strict-positivity"]], "Nested Positivity": [[34, "nested-positivity"]], "Correctness rules": [[34, "correctness-rules"]], "Example: Negative occurrence (first example)": [[34, null]], "Example: Negative occurrence (second example)": [[34, null]], "Example: Non strictly positive occurrence": [[34, null]], "Template polymorphism": [[34, "template-polymorphism"]], "Destructors": [[34, "destructors"]], "The match ... with ... end construction": [[34, "the-match-with-end-construction"]], "Fixpoint definitions": [[34, "fixpoint-definitions"]], "Typing rule": [[34, "id10"]], "Reduction rule": [[34, "reduction-rule"]], "The Module System": [[35, "the-module-system"]], "Modules and module types": [[35, "modules-and-module-types"]], "Using modules": [[35, "using-modules"]], "Example: Defining a simple module interactively": [[35, null]], "Example: Defining a simple module type interactively": [[35, "example-def-simple-module-type"]], "Example: Creating a new module that omits some items from an existing module": [[35, "example-filter-module"]], "Example: Creating a functor (a module with parameters)": [[35, null]], "Example: A module type with two sub-modules, sharing some fields": [[35, null]], "Qualified names": [[35, "qualified-names"]], "Controlling the scope of commands with locality attributes": [[35, "controlling-the-scope-of-commands-with-locality-attributes"]], "Summary of locality attributes in a module": [[35, "summary-of-locality-attributes-in-a-module"]], "Typing Modules": [[35, "typing-modules"]], "Primitive objects": [[36, "primitive-objects"]], "Primitive Integers": [[36, "primitive-integers"]], "Primitive Floats": [[36, "primitive-floats"]], "Primitive Arrays": [[36, "primitive-arrays"]], "Primitive (Byte-Based) Strings": [[36, "primitive-byte-based-strings"]], "Record types": [[37, "record-types"]], "Defining record types": [[37, "defining-record-types"]], "Example: Defining a record": [[37, null]], "Example: Reusing a field name in multiple records": [[37, null]], "Example: Using the \"as\" clause in a record definition": [[37, null]], "Example: Argument name for a record type created using Class": [[37, null]], "Constructing records": [[37, "constructing-records"]], "Example: Constructing 1/2 as a record": [[37, null]], "Accessing fields (projections)": [[37, "accessing-fields-projections"]], "Example: Accessing record fields": [[37, null]], "Example: Matching on records": [[37, null]], "Example: Accessing anonymous record fields with match": [[37, null]], "Settings for printing records": [[37, "settings-for-printing-records"]], "Primitive Projections": [[37, "primitive-projections"]], "Compatibility Constants for Projections": [[37, "compatibility-constants-for-projections"]], "Sections": [[38, "sections"], [75, "sections"]], "Using sections": [[38, "using-sections"]], "Example: Section-local declarations": [[38, "section-local-declarations"]], "Summary of locality attributes in a section": [[38, "summary-of-locality-attributes-in-a-section"]], "Typing rules used at the end of a section": [[38, "typing-rules-used-at-the-end-of-a-section"]], "Sorts": [[39, "sorts"]], "Variants and the match construct": [[40, "variants-and-the-match-construct"]], "Variants": [[40, "id1"]], "Private (matching) inductive types": [[40, "private-matching-inductive-types"]], "Definition by cases: match": [[40, "definition-by-cases-match"]], "Setting properties of a function's arguments": [[41, "setting-properties-of-a-function-s-arguments"]], "Manual declaration of implicit arguments": [[41, "manual-declaration-of-implicit-arguments"]], "Example: Multiple alternatives with implicits_alt": [[41, "example-more-implicits"]], "Automatic declaration of implicit arguments": [[41, "automatic-declaration-of-implicit-arguments"]], "Example: Default implicits": [[41, null]], "Renaming implicit arguments": [[41, "renaming-implicit-arguments"]], "Example: (continued) Renaming implicit arguments": [[41, null]], "Binding arguments to scopes": [[41, "binding-arguments-to-scopes"]], "Effects of Arguments on unfolding": [[41, "effects-of-arguments-on-unfolding"]], "Bidirectionality hints": [[41, "bidirectionality-hints"]], "Example: Bidirectionality hints": [[41, null]], "Canonical Structures": [[42, "canonical-structures"]], "Declaration of canonical structures": [[42, "declaration-of-canonical-structures"]], "Notation overloading": [[42, "notation-overloading"]], "Derived Canonical Structures": [[42, "derived-canonical-structures"]], "Hierarchy of structures": [[42, "hierarchy-of-structures"]], "Compact declaration of Canonical Structures": [[42, "compact-declaration-of-canonical-structures"]], "Existential variables": [[43, "existential-variables"]], "Inferable subterms": [[43, "inferable-subterms"]], "e* tactics that can create existential variables": [[43, "e-tactics-that-can-create-existential-variables"]], "Example: apply vs eapply": [[43, null]], "Automatic resolution of existential variables": [[43, "automatic-resolution-of-existential-variables"]], "Example: Automatic resolution of existential variables": [[43, "automatic-evar-resolution"]], "Explicit display of existential instances for pretty-printing": [[43, "explicit-display-of-existential-instances-for-pretty-printing"]], "Solving existential variables using tactics": [[43, "solving-existential-variables-using-tactics"]], "Implicit arguments": [[44, "implicit-arguments"]], "The different kinds of implicit arguments": [[44, "the-different-kinds-of-implicit-arguments"]], "Implicit arguments inferable from the knowledge of other arguments of a function": [[44, "implicit-arguments-inferable-from-the-knowledge-of-other-arguments-of-a-function"]], "Implicit arguments inferable by resolution": [[44, "implicit-arguments-inferable-by-resolution"]], "Maximal and non-maximal insertion of implicit arguments": [[44, "maximal-and-non-maximal-insertion-of-implicit-arguments"]], "Trailing Implicit Arguments": [[44, "trailing-implicit-arguments"]], "Casual use of implicit arguments": [[44, "casual-use-of-implicit-arguments"]], "Declaration of implicit arguments": [[44, "declaration-of-implicit-arguments"]], "Implicit Argument Binders": [[44, "implicit-argument-binders"]], "Mode for automatic declaration of implicit arguments": [[44, "mode-for-automatic-declaration-of-implicit-arguments"]], "Controlling strict implicit arguments": [[44, "controlling-strict-implicit-arguments"]], "Controlling contextual implicit arguments": [[44, "controlling-contextual-implicit-arguments"]], "Controlling reversible-pattern implicit arguments": [[44, "controlling-reversible-pattern-implicit-arguments"]], "Controlling the insertion of implicit arguments not followed by explicit arguments": [[44, "controlling-the-insertion-of-implicit-arguments-not-followed-by-explicit-arguments"]], "Combining manual declaration and automatic declaration": [[44, "combining-manual-declaration-and-automatic-declaration"]], "Explicit applications": [[44, "explicit-applications"]], "Example: Syntax for explicitly giving implicit arguments (continued)": [[44, null]], "Displaying implicit arguments": [[44, "displaying-implicit-arguments"]], "Displaying implicit arguments when pretty-printing": [[44, "displaying-implicit-arguments-when-pretty-printing"]], "Interaction with subtyping": [[44, "interaction-with-subtyping"]], "Deactivation of implicit arguments for parsing": [[44, "deactivation-of-implicit-arguments-for-parsing"]], "Implicit types of variables": [[44, "implicit-types-of-variables"]], "Implicit generalization": [[44, "implicit-generalization"]], "Language extensions": [[45, "language-extensions"]], "Extended pattern matching": [[46, "extended-pattern-matching"]], "Variants and extensions of match": [[46, "variants-and-extensions-of-match"]], "Multiple and nested pattern matching": [[46, "multiple-and-nested-pattern-matching"]], "Pattern-matching on boolean values: the if expression": [[46, "pattern-matching-on-boolean-values-the-if-expression"]], "Irrefutable patterns: the destructuring let variants": [[46, "irrefutable-patterns-the-destructuring-let-variants"]], "First destructuring let syntax": [[46, "first-destructuring-let-syntax"]], "Second destructuring let syntax": [[46, "second-destructuring-let-syntax"]], "Controlling pretty-printing of match expressions": [[46, "controlling-pretty-printing-of-match-expressions"]], "Printing nested patterns": [[46, "printing-nested-patterns"]], "Factorization of clauses with same right-hand side": [[46, "factorization-of-clauses-with-same-right-hand-side"]], "Use of a default clause": [[46, "use-of-a-default-clause"]], "Printing of wildcard patterns": [[46, "printing-of-wildcard-patterns"]], "Printing of the elimination predicate": [[46, "printing-of-the-elimination-predicate"]], "Printing of hidden subterms": [[46, "printing-of-hidden-subterms"]], "Printing matching on irrefutable patterns": [[46, "printing-matching-on-irrefutable-patterns"]], "Printing matching on booleans": [[46, "printing-matching-on-booleans"]], "Conventions about unused pattern-matching variables": [[46, "conventions-about-unused-pattern-matching-variables"]], "Patterns": [[46, "patterns"]], "Multiple patterns": [[46, "multiple-patterns"]], "Aliasing subpatterns": [[46, "aliasing-subpatterns"]], "Nested patterns": [[46, "nested-patterns"]], "Disjunctive patterns": [[46, "disjunctive-patterns"]], "About patterns of parametric types": [[46, "about-patterns-of-parametric-types"]], "Parameters in patterns": [[46, "parameters-in-patterns"]], "Implicit arguments in patterns": [[46, "implicit-arguments-in-patterns"]], "Matching objects of dependent types": [[46, "matching-objects-of-dependent-types"]], "Understanding dependencies in patterns": [[46, "understanding-dependencies-in-patterns"]], "When the elimination predicate must be provided": [[46, "when-the-elimination-predicate-must-be-provided"]], "Dependent pattern matching": [[46, "dependent-pattern-matching"]], "Multiple dependent pattern matching": [[46, "multiple-dependent-pattern-matching"]], "Patterns in in": [[46, "patterns-in-in"]], "Using pattern matching to write proofs": [[46, "using-pattern-matching-to-write-proofs"]], "Pattern-matching on inductive objects involving local definitions": [[46, "pattern-matching-on-inductive-objects-involving-local-definitions"]], "Pattern-matching and coercions": [[46, "pattern-matching-and-coercions"]], "When does the expansion strategy fail?": [[46, "when-does-the-expansion-strategy-fail"]], "The Rocq Prover commands": [[51, "the-rocq-prover-commands"]], "Interactive use (rocq repl)": [[51, "interactive-use-rocq-repl"]], "Batch compilation (rocq compile)": [[51, "batch-compilation-rocq-compile"]], "Example: Compiling and loading a single file": [[51, null]], "Customization at launch time": [[51, "customization-at-launch-time"]], "Command parameters": [[51, "command-parameters"]], "coqrc start up script": [[51, "coqrc-start-up-script"]], "Environment variables": [[51, "environment-variables"]], "Command line options": [[51, "command-line-options"], [75, "command-line-options"]], "Profiling": [[51, "profiling"], [55, "profiling"]], "Compiled interfaces (produced using -vos)": [[51, "compiled-interfaces-produced-using-vos"]], "Compiled libraries checker (rocqchk)": [[51, "compiled-libraries-checker-rocqchk"]], "Managing files and buffers, basic editing": [[52, "managing-files-and-buffers-basic-editing"]], "Running Coq scripts": [[52, "running-coq-scripts"]], "Asynchronous mode": [[52, "asynchronous-mode"]], "Commands and templates": [[52, "commands-and-templates"]], "Queries": [[52, "queries"]], "Compilation": [[52, "compilation"]], "Customizations": [[52, "customizations"]], "Preferences": [[52, "preferences"]], "Key bindings": [[52, "key-bindings"]], "Using Unicode symbols": [[52, "using-unicode-symbols"]], "Displaying Unicode symbols": [[52, "displaying-unicode-symbols"]], "Bindings for input of Unicode symbols": [[52, "bindings-for-input-of-unicode-symbols"]], "Adding custom bindings": [[52, "adding-custom-bindings"]], "Character encoding for saved files": [[52, "character-encoding-for-saved-files"]], "Debugger": [[52, "debugger"]], "Breakpoints": [[52, "breakpoints"]], "Call Stack and Variables": [[52, "call-stack-and-variables"]], "Supported use cases": [[52, "supported-use-cases"]], "Building Rocq Projects": [[53, "building-rocq-projects"]], "Rocq configuration basics": [[53, "rocq-configuration-basics"]], "Installing the Rocq Prover and Rocq packages with opam": [[53, "installing-the-rocq-prover-and-rocq-packages-with-opam"]], "Setup for working on your own projects": [[53, "setup-for-working-on-your-own-projects"]], "Building a project with _CoqProject (overview)": [[53, "building-a-project-with-coqproject-overview"]], "Logical paths and the load path": [[53, "logical-paths-and-the-load-path"]], "Modifying multiple interdependent projects at the same time": [[53, "modifying-multiple-interdependent-projects-at-the-same-time"]], "Installed and uninstalled packages": [[53, "installed-and-uninstalled-packages"]], "Upgrading to a new version of Rocq": [[53, "upgrading-to-a-new-version-of-rocq"]], "Building a Rocq project with rocq makefile (details)": [[53, "building-a-rocq-project-with-rocq-makefile-details"]], "Comments": [[53, "comments"]], "Quoting arguments to rocq c": [[53, "quoting-arguments-to-rocq-c"]], "Forbidden filenames": [[53, "forbidden-filenames"]], "Warning: No common logical root": [[53, "warning-no-common-logical-root"]], "CoqMakefile.local": [[53, "coqmakefile-local"]], "CoqMakefile.local-late": [[53, "coqmakefile-local-late"]], "Timing targets and performance testing": [[53, "timing-targets-and-performance-testing"]], "Building a subset of the targets with -j": [[53, "building-a-subset-of-the-targets-with-j"]], "Precompiling for native_compute": [[53, "precompiling-for-native-compute"]], "The grammar of _CoqProject": [[53, "the-grammar-of-coqproject"]], "Building a Rocq project with Dune": [[53, "building-a-rocq-project-with-dune"]], "rocq dep: Computing Module dependencies": [[53, "rocq-dep-computing-module-dependencies"]], "Split compilation of native computation files": [[53, "split-compilation-of-native-computation-files"]], "Using Rocq as a library": [[53, "using-rocq-as-a-library"]], "Embedded Rocq phrases inside LaTeX documents": [[53, "embedded-rocq-phrases-inside-latex-documents"]], "Man pages": [[53, "man-pages"]], "Ltac": [[54, "ltac"]], "Example: Basic tactic macros": [[54, null]], "Defects": [[54, "defects"]], "Syntax": [[54, "syntax"], [55, "syntax"], [57, "syntax"], [71, "syntax"]], "Values": [[54, "values"]], "Syntactic values": [[54, "syntactic-values"]], "Substitution": [[54, "substitution"]], "Example: Substitution of global and local symbols": [[54, null]], "Local definitions: let": [[54, "local-definitions-let"]], "Function construction and application": [[54, "function-construction-and-application"]], "Tactics in terms": [[54, "tactics-in-terms"]], "Goal selectors": [[54, "goal-selectors"]], "Example: Selector reordering goals": [[54, "reordering-goals-ex"]], "Processing multiple goals": [[54, "processing-multiple-goals"]], "Example: Multiple focused goals": [[54, null]], "Branching and backtracking": [[54, "branching-and-backtracking"]], "Example: Backtracking": [[54, null]], "Control flow": [[54, "control-flow"], [57, "control-flow"]], "Sequence: ;": [[54, "sequence"]], "Do loop": [[54, "do-loop"]], "Repeat loop": [[54, "repeat-loop"]], "Catching errors: try": [[54, "catching-errors-try"]], "Conditional branching: tryif": [[54, "conditional-branching-tryif"]], "Alternatives": [[54, "alternatives"]], "Branching with backtracking: +": [[54, "branching-with-backtracking"]], "Example: Backtracking branching with +": [[54, null]], "Local application of tactics: [> ... ]": [[54, "local-application-of-tactics"]], "First tactic to succeed": [[54, "first-tactic-to-succeed"]], "Example: Backtracking inside a non-backtracking construct": [[54, null]], "Example: Referring to a list of tactics in Tactic Notation": [[54, null]], "Solving": [[54, "solving"]], "First tactic to make progress: ||": [[54, "first-tactic-to-make-progress"]], "Detecting progress": [[54, "detecting-progress"]], "Success and failure": [[54, "success-and-failure"]], "Checking for success: assert_succeeds": [[54, "checking-for-success-assert-succeeds"]], "Checking for failure: assert_fails": [[54, "checking-for-failure-assert-fails"]], "Failing": [[54, "failing"]], "Soft cut: once": [[54, "soft-cut-once"]], "Checking for a single success: exactly_once": [[54, "checking-for-a-single-success-exactly-once"]], "Manipulating values": [[54, "manipulating-values"]], "Pattern matching on terms: match": [[54, "pattern-matching-on-terms-match"]], "Example: Comparison of lazymatch and match": [[54, null]], "Example: Comparison of match and multimatch": [[54, null]], "Example: Matching a pattern with holes": [[54, null]], "Example: Multiple matches for a \"context\" pattern.": [[54, null]], "Pattern matching on goals and hypotheses: match goal": [[54, "pattern-matching-on-goals-and-hypotheses-match-goal"]], "Example: Matching hypotheses": [[54, null]], "Example: Matching hypotheses with reverse": [[54, null], [55, "ltac2-match-goal-hyps-rev-ex"]], "Example: Multiple ways to match hypotheses": [[54, null]], "Filling a term context": [[54, "filling-a-term-context"]], "Example: Substituting a matched context": [[54, null]], "Generating fresh hypothesis names": [[54, "generating-fresh-hypothesis-names"]], "Computing in a term: eval": [[54, "computing-in-a-term-eval"]], "Getting the type of a term": [[54, "getting-the-type-of-a-term"]], "Manipulating untyped terms: type_term": [[54, "manipulating-untyped-terms-type-term"]], "Counting goals: numgoals": [[54, "counting-goals-numgoals"]], "Testing boolean expressions: guard": [[54, "testing-boolean-expressions-guard"]], "Example: guard": [[54, null]], "Checking properties of terms": [[54, "checking-properties-of-terms"]], "Example: is_fix": [[54, null]], "Example: is_cofix": [[54, null]], "Example: is_proj": [[54, null]], "Timing": [[54, "timing"]], "Timeout": [[54, "timeout"]], "Timing a tactic": [[54, "timing-a-tactic"]], "Timing a tactic that evaluates to a term: time_constr": [[54, "timing-a-tactic-that-evaluates-to-a-term-time-constr"]], "Print/identity tactic: idtac": [[54, "print-identity-tactic-idtac"]], "Tactic toplevel definitions": [[54, "tactic-toplevel-definitions"]], "Defining Ltac symbols": [[54, "defining-ltac-symbols"]], "Printing Ltac tactics": [[54, "printing-ltac-tactics"]], "Examples of using Ltac": [[54, "examples-of-using-ltac"]], "Proof that the natural numbers have at least two elements": [[54, "proof-that-the-natural-numbers-have-at-least-two-elements"]], "Example: Proof that the natural numbers have at least two elements": [[54, null]], "Proving that a list is a permutation of a second list": [[54, "proving-that-a-list-is-a-permutation-of-a-second-list"]], "Example: Proving that a list is a permutation of a second list": [[54, null]], "Deciding intuitionistic propositional logic": [[54, "deciding-intuitionistic-propositional-logic"]], "Deciding type isomorphisms": [[54, "deciding-type-isomorphisms"]], "Debugging Ltac tactics": [[54, "debugging-ltac-tactics"]], "Backtraces": [[54, "backtraces"]], "Tracing execution": [[54, "tracing-execution"]], "Interactive debugger": [[54, "interactive-debugger"]], "Profiling Ltac tactics": [[54, "profiling-ltac-tactics"]], "Run-time optimization tactic": [[54, "run-time-optimization-tactic"]], "Ltac2": [[55, "ltac2"]], "General design": [[55, "general-design"]], "ML component": [[55, "ml-component"]], "Overview": [[55, "overview"], [55, "id3"]], "Type Syntax": [[55, "type-syntax"]], "Type declarations": [[55, "type-declarations"]], "APIs": [[55, "apis"]], "Term Syntax": [[55, "term-syntax"]], "Ltac2 Definitions": [[55, "ltac2-definitions"]], "Example: Dynamic nature of mutable cells": [[55, null]], "Example: Interaction with recursive calls": [[55, null]], "Printing Ltac2 tactics": [[55, "printing-ltac2-tactics"]], "Typing": [[55, "typing"]], "Effects": [[55, "effects"]], "Standard IO": [[55, "standard-io"]], "Fatal errors": [[55, "fatal-errors"]], "Backtracking": [[55, "backtracking"], [59, "backtracking"]], "Goals": [[55, "goals"]], "Meta-programming": [[55, "meta-programming"]], "Quotations": [[55, "quotations"]], "Built-in quotations": [[55, "built-in-quotations"]], "Strict vs. non-strict mode": [[55, "strict-vs-non-strict-mode"]], "Term Antiquotations": [[55, "term-antiquotations"]], "Semantics": [[55, "semantics"]], "Static semantics": [[55, "static-semantics"]], "Dynamic semantics": [[55, "dynamic-semantics"]], "Match over terms": [[55, "match-over-terms"]], "Example: Ltac2 Comparison of lazy_match! and match!": [[55, "ltac2-match-vs-lazymatch-ex"]], "Example: Ltac2 Comparison of match! and multi_match!": [[55, "ltac2-match-vs-multimatch-ex"]], "Example: Ltac2 Multiple matches for a \"context\" pattern.": [[55, "ltac2-match-term-context-ex"]], "Match over goals": [[55, "match-over-goals"]], "Example: Ltac2 Matching hypotheses": [[55, "ltac2-match-goal-hyps-ex"]], "Example: Multiple ways to match a hypotheses": [[55, "ltac2-match-goal-multiple-hyps-ex"]], "Match on values": [[55, "match-on-values"]], "Example: Printing a term": [[55, null]], "Example: Parsing a list of terms": [[55, null]], "Abbreviations": [[55, "abbreviations"], [57, "abbreviations"], [71, "abbreviations"]], "Defining tactics": [[55, "defining-tactics"]], "Syntactic classes": [[55, "syntactic-classes"]], "Evaluation": [[55, "evaluation"]], "Debug": [[55, "debug"]], "Compatibility layer with Ltac1": [[55, "compatibility-layer-with-ltac1"]], "Ltac1 from Ltac2": [[55, "ltac1-from-ltac2"]], "Simple API": [[55, "simple-api"]], "Low-level API": [[55, "low-level-api"]], "Ltac2 from Ltac1": [[55, "ltac2-from-ltac1"]], "Switching between Ltac languages": [[55, "switching-between-ltac-languages"]], "Transition from Ltac1": [[55, "transition-from-ltac1"]], "Syntax changes": [[55, "syntax-changes"]], "Tactic delay": [[55, "tactic-delay"]], "Variable binding": [[55, "variable-binding"]], "In Ltac expressions": [[55, "in-ltac-expressions"]], "In quotations": [[55, "in-quotations"]], "Exception catching": [[55, "exception-catching"]], "The SSReflect proof language": [[57, "the-ssr-proof-language"]], "Introduction": [[57, "introduction"]], "Acknowledgments": [[57, "acknowledgments"]], "Getting started": [[57, "getting-started"]], "Compatibility issues": [[57, "compatibility-issues"]], "Gallina extensions": [[57, "gallina-extensions"]], "Pattern assignment": [[57, "pattern-assignment"]], "Pattern conditional": [[57, "pattern-conditional"]], "Parametric polymorphism": [[57, "parametric-polymorphism"]], "Anonymous arguments": [[57, "anonymous-arguments"]], "Wildcards": [[57, "wildcards"]], "Matching": [[57, "matching"]], "Occurrence selection": [[57, "occurrence-selection"]], "Basic localization": [[57, "basic-localization"]], "Basic tactics": [[57, "basic-tactics"]], "Bookkeeping": [[57, "bookkeeping"]], "The defective tactics": [[57, "the-defective-tactics"]], "The move tactic.": [[57, "the-move-tactic"]], "The case tactic": [[57, "the-case-tactic"]], "The elim tactic": [[57, "the-elim-tactic"]], "The apply tactic": [[57, "the-apply-tactic"]], "Discharge": [[57, "discharge"]], "Clear rules": [[57, "clear-rules"]], "Matching for apply and exact": [[57, "matching-for-apply-and-exact"]], "The abstract tactic": [[57, "the-abstract-tactic"]], "Introduction in the context": [[57, "introduction-in-the-context"]], "Simplification items": [[57, "simplification-items"]], "Views": [[57, "views"]], "Intro patterns": [[57, "intro-patterns"], [58, "intro-patterns"]], "Clear switch": [[57, "clear-switch"]], "Branching and destructuring": [[57, "branching-and-destructuring"]], "Block introduction": [[57, "block-introduction"]], "Generation of equations": [[57, "generation-of-equations"]], "Type families": [[57, "type-families"]], "Indentation and bullets": [[57, "indentation-and-bullets"]], "Terminators": [[57, "terminators"]], "Selectors": [[57, "selectors"]], "Iteration": [[57, "iteration"]], "Localization": [[57, "localization"]], "Structure": [[57, "structure"]], "The have tactic.": [[57, "the-have-tactic"]], "Generating let in context entries with have": [[57, "generating-let-in-context-entries-with-have"]], "The have tactic and typeclass resolution": [[57, "the-have-tactic-and-typeclass-resolution"]], "Variants: the suff and wlog tactics": [[57, "variants-the-suff-and-wlog-tactics"]], "Advanced generalization": [[57, "advanced-generalization"]], "Rewriting": [[57, "rewriting"]], "An extended rewrite tactic": [[57, "an-extended-rewrite-tactic"]], "Remarks and examples": [[57, "remarks-and-examples"]], "Rewrite redex selection": [[57, "rewrite-redex-selection"]], "Chained rewrite steps": [[57, "chained-rewrite-steps"]], "Explicit redex switches are matched first": [[57, "explicit-redex-switches-are-matched-first"]], "Occurrence switches and redex switches": [[57, "occurrence-switches-and-redex-switches"]], "Occurrence selection and repetition": [[57, "occurrence-selection-and-repetition"]], "Multi-rule rewriting": [[57, "multi-rule-rewriting"]], "Wildcards vs abstractions": [[57, "wildcards-vs-abstractions"]], "When SSReflect rewrite fails on standard Rocq licit rewrite": [[57, "when-ssr-rewrite-fails-on-standard-rocq-licit-rewrite"]], "Existential metavariables and rewriting": [[57, "existential-metavariables-and-rewriting"]], "The under tactic": [[57, "the-under-tactic"]], "The over tactic": [[57, "the-over-tactic"]], "One-liner mode": [[57, "one-liner-mode"]], "Locking, unlocking": [[57, "locking-unlocking"]], "Congruence": [[57, "congruence"]], "Contextual patterns": [[57, "contextual-patterns"]], "Matching contextual patterns": [[57, "matching-contextual-patterns"]], "Contextual pattern in set and the : tactical": [[57, "contextual-pattern-in-set-and-the-tactical"]], "Contextual patterns in rewrite": [[57, "contextual-patterns-in-rewrite"]], "Patterns for recurrent contexts": [[57, "patterns-for-recurrent-contexts"]], "Views and reflection": [[57, "views-and-reflection"]], "Interpreting eliminations": [[57, "interpreting-eliminations"]], "Interpreting assumptions": [[57, "interpreting-assumptions"], [57, "id16"]], "Specializing assumptions": [[57, "specializing-assumptions"], [57, "id15"]], "Interpreting goals": [[57, "interpreting-goals"], [57, "id17"]], "Boolean reflection": [[57, "boolean-reflection"]], "The reflect predicate": [[57, "the-reflect-predicate"]], "General mechanism for interpreting goals and assumptions": [[57, "general-mechanism-for-interpreting-goals-and-assumptions"]], "Interpreting equivalences": [[57, "interpreting-equivalences"]], "Declaring new Hint Views": [[57, "declaring-new-hint-views"]], "Multiple views": [[57, "multiple-views"]], "Additional view shortcuts": [[57, "additional-view-shortcuts"]], "Synopsis and Index": [[57, "synopsis-and-index"]], "Parameters": [[57, "parameters"]], "Items and switches": [[57, "items-and-switches"]], "Tacticals": [[57, "tacticals"]], "Common elements of tactics": [[58, "common-elements-of-tactics"]], "Reserved keywords": [[58, "reserved-keywords"]], "Invocation of tactics": [[58, "invocation-of-tactics"]], "Bindings": [[58, "bindings"]], "Example: intro pattern for /\\": [[58, null]], "Example: intro pattern for \\/": [[58, null]], "Example: -> intro pattern": [[58, null]], "Example: [=] intro pattern": [[58, null]], "Example: (A & B & \u2026) intro pattern": [[58, null]], "Example: * intro pattern": [[58, null]], "Example: ** pattern (\"intros **\" is equivalent to \"intros\")": [[58, null]], "Example: compound intro pattern": [[58, null]], "Example: combined intro pattern using [=] -> and %": [[58, null]], "Occurrence clauses": [[58, "occurrence-clauses"]], "Applying theorems": [[58, "applying-theorems"]], "Example: Backward reasoning in the goal with apply": [[58, "apply-backward"]], "Example: Backward reasoning in the goal with apply including a premise": [[58, "apply-backward-w-premises"]], "Example: Forward reasoning in hypotheses with apply": [[58, "apply-forward"]], "Example: Apply a theorem with a binding in a goal": [[58, "apply-with-binding-goal"]], "Example: Apply a theorem with a binding in a hypothesis": [[58, "apply-with-binding-hyp"]], "Example: Applying theorems with <->": [[58, "apply-with-iff"]], "Example: Special case of second-order unification in apply": [[58, "example-apply-pattern"]], "Managing the local context": [[58, "managing-the-local-context"]], "Example: intro and intros": [[58, "intro-examples"]], "Example: intros until": [[58, null]], "Example: move": [[58, null]], "Example: set with a simple_binder": [[58, null]], "Controlling the proof flow": [[58, "controlling-the-proof-flow"]], "Example: partial application in specialize": [[58, null]], "Example: specialize with a non-dependent product": [[58, null]], "Example: contradiction tactic": [[58, null]], "Classical tactics": [[58, "classical-tactics"]], "Performance-oriented tactic variants": [[58, "performance-oriented-tactic-variants"]], "Displaying": [[59, "displaying"]], "Query commands": [[59, "query-commands"]], "Example: Searching for a pattern": [[59, "search-pattern"]], "Example: Searching for part of an identifier": [[59, "search-part-ident"]], "Example: Searching for a reference by notation": [[59, "search-by-notation"]], "Example: Disambiguating between part of identifier and notation": [[59, "search-disambiguate-notation"]], "Example: Search in hypotheses": [[59, "search-hyp"]], "Example: Search in conclusion": [[59, "search-concl"]], "Example: Search by keyword or status": [[59, "search-by-keyword"]], "Example: SearchPattern examples": [[59, null]], "Example: SearchRewrite examples": [[59, null]], "Requests to the environment": [[59, "requests-to-the-environment"]], "Example: Locate examples": [[59, null]], "Printing flags": [[59, "printing-flags"]], "Loading files": [[59, "loading-files"]], "Compiled files": [[59, "compiled-files"]], "Load paths": [[59, "load-paths"]], "Extra Dependencies": [[59, "extra-dependencies"]], "Quitting and debugging": [[59, "quitting-and-debugging"]], "Controlling display": [[59, "controlling-display"]], "Printing constructions in full": [[59, "printing-constructions-in-full"]], "Controlling Typing Flags": [[59, "controlling-typing-flags"]], "Internal registration commands": [[59, "internal-registration-commands"]], "Exposing constants to OCaml libraries": [[59, "exposing-constants-to-ocaml-libraries"]], "Inlining hints for the fast reduction machines": [[59, "inlining-hints-for-the-fast-reduction-machines"]], "Registering primitive operations": [[59, "registering-primitive-operations"]], "Programmable proof search": [[60, "programmable-proof-search"]], "Example: Ackermann function": [[60, null]], "Example: MacCarthy function": [[60, null]], "Hint databases": [[60, "hint-databases"]], "Creating hint databases": [[60, "creating-hint-databases"]], "Hint databases defined in the Rocq standard library": [[60, "hint-databases-defined-in-the-rocq-standard-library"]], "Creating Hints": [[60, "creating-hints"]], "Example: Logic programming with addition on natural numbers": [[60, null]], "Hint locality": [[60, "hint-locality"]], "Setting implicit automation tactics": [[60, "setting-implicit-automation-tactics"]], "Automatic solvers and programmable tactics": [[61, "automatic-solvers-and-programmable-tactics"]], "Solvers for logic and equality": [[62, "solvers-for-logic-and-equality"]], "Creating new tactics": [[63, "creating-new-tactics"]], "Reasoning with equalities": [[64, "reasoning-with-equalities"]], "Tactics for simple equalities": [[64, "tactics-for-simple-equalities"]], "Rewriting with Leibniz and setoid equality": [[64, "rewriting-with-leibniz-and-setoid-equality"]], "Rewriting with definitional equality": [[64, "rewriting-with-definitional-equality"]], "Applying conversion rules": [[64, "applying-conversion-rules"]], "Example: fold doesn't always undo unfold": [[64, null]], "Example: Use fold to reverse unfolding of fold_right": [[64, null]], "Fast reduction tactics: vm_compute and native_compute": [[64, "fast-reduction-tactics-vm-compute-and-native-compute"]], "Computing in a term: eval and Eval": [[64, "computing-in-a-term-eval-and-eval"]], "Controlling reduction strategies and the conversion algorithm": [[64, "controlling-reduction-strategies-and-the-conversion-algorithm"]], "Basic proof writing": [[65, "basic-proof-writing"]], "Proof mode": [[66, "proof-mode"]], "Proof State": [[66, "proof-state"]], "Entering and exiting proof mode": [[66, "entering-and-exiting-proof-mode"]], "Example: Declaring section variables": [[66, null]], "Proof using options": [[66, "proof-using-options"]], "Name a set of section hypotheses for Proof using": [[66, "name-a-set-of-section-hypotheses-for-proof-using"]], "Proof modes": [[66, "proof-modes"]], "Managing goals": [[66, "managing-goals"]], "Focusing goals": [[66, "focusing-goals"]], "Curly braces": [[66, "curly-braces"]], "Example: Working with named goals": [[66, null]], "Bullets": [[66, "bullets"]], "Example: Use of bullets": [[66, null]], "Other focusing commands": [[66, "other-focusing-commands"]], "Shelving goals": [[66, "shelving-goals"]], "Example: shelve_unifiable": [[66, null]], "Reordering goals": [[66, "reordering-goals"]], "Example: cycle": [[66, null]], "Example: swap": [[66, null]], "Example: revgoals": [[66, null]], "Proving a subgoal as a separate lemma: abstract": [[66, "proving-a-subgoal-as-a-separate-lemma-abstract"]], "Requesting information": [[66, "requesting-information"]], "Showing differences between proof steps": [[66, "showing-differences-between-proof-steps"]], "How to enable diffs": [[66, "how-to-enable-diffs"]], "How diffs are calculated": [[66, "how-diffs-are-calculated"]], "\"Show Proof\" differences": [[66, "show-proof-differences"]], "Delaying solving unification constraints": [[66, "delaying-solving-unification-constraints"]], "Proof maintenance": [[66, "proof-maintenance"]], "Controlling proof mode": [[66, "controlling-proof-mode"]], "Controlling memory usage": [[66, "controlling-memory-usage"]], "Reasoning with inductive types": [[67, "reasoning-with-inductive-types"]], "Applying constructors": [[67, "applying-constructors"]], "Example: constructor, left and right": [[67, null]], "Case analysis": [[67, "case-analysis"]], "Example: Using destruct on an argument with premises": [[67, "example-destruct-ind-concl"]], "Induction": [[67, "induction"]], "Example: induction with occurrences": [[67, null]], "Equality of inductive types": [[67, "equality-of-inductive-types"]], "Example: Proving 1 <> 2": [[67, null]], "Example: discriminate limitation: proving n <> S n": [[67, null]], "Example: inversion with as or_and_intropattern": [[67, null]], "Example: Non-dependent inversion": [[67, null]], "Example: Dependent inversion": [[67, null]], "Example: Using inversion_sigma": [[67, null]], "Helper tactics": [[67, "helper-tactics"]], "Example: Using decide to rewrite the goal": [[67, null]], "Generation of induction principles with Scheme": [[67, "generation-of-induction-principles-with-scheme"]], "Example: Induction scheme for tree and forest": [[67, null]], "Example: Predicates odd and even on naturals": [[67, null]], "Example: Scheme commands with various scheme_types": [[67, null]], "Automatic declaration of schemes": [[67, "automatic-declaration-of-schemes"]], "Combined Scheme": [[67, "combined-scheme"]], "Generation of inversion principles with Derive Inversion": [[67, "generation-of-inversion-principles-with-derive-inversion"]], "Examples of dependent destruction / dependent induction": [[67, "examples-of-dependent-destruction-dependent-induction"]], "A larger example": [[67, "a-larger-example"]], "Glossary index": [[69, "glossary-index"]], "Syntax extensions and notation scopes": [[71, "syntax-extensions-and-notation-scopes"]], "Basic notations": [[71, "basic-notations"]], "Precedences and associativity": [[71, "precedences-and-associativity"]], "Complex notations": [[71, "complex-notations"]], "Simple factorization rules": [[71, "simple-factorization-rules"]], "Use of notations for printing": [[71, "use-of-notations-for-printing"]], "The Infix command": [[71, "the-infix-command"]], "Reserving notations": [[71, "reserving-notations"]], "Simultaneous definition of terms and notations": [[71, "simultaneous-definition-of-terms-and-notations"]], "Enabling and disabling notations": [[71, "enabling-and-disabling-notations"]], "Example: Enabling and disabling notations": [[71, null]], "Displaying information about notations": [[71, "displaying-information-about-notations"]], "Example: Print Notation": [[71, null]], "Locating notations": [[71, "locating-notations"]], "Inheritance of the properties of arguments of constants bound to a notation": [[71, "inheritance-of-the-properties-of-arguments-of-constants-bound-to-a-notation"]], "Notations and binders": [[71, "notations-and-binders"]], "Binders bound in the notation and parsed as identifiers": [[71, "binders-bound-in-the-notation-and-parsed-as-identifiers"]], "Binders bound in the notation and parsed as patterns": [[71, "binders-bound-in-the-notation-and-parsed-as-patterns"]], "Binders bound in the notation and parsed as terms": [[71, "binders-bound-in-the-notation-and-parsed-as-terms"]], "Binders bound in the notation and parsed as general binders": [[71, "binders-bound-in-the-notation-and-parsed-as-general-binders"]], "Binders not bound in the notation": [[71, "binders-not-bound-in-the-notation"]], "Notations with expressions used both as binder and term": [[71, "notations-with-expressions-used-both-as-binder-and-term"]], "Notations with recursive patterns": [[71, "notations-with-recursive-patterns"]], "Notations with recursive patterns involving binders": [[71, "notations-with-recursive-patterns-involving-binders"]], "Predefined entries": [[71, "predefined-entries"]], "Custom entries": [[71, "custom-entries"]], "Notation scopes": [[71, "notation-scopes"]], "Global interpretation rules for notations": [[71, "global-interpretation-rules-for-notations"]], "Local interpretation rules for notations": [[71, "local-interpretation-rules-for-notations"]], "Opening a notation scope locally": [[71, "opening-a-notation-scope-locally"]], "Binding types or coercion classes to notation scopes": [[71, "binding-types-or-coercion-classes-to-notation-scopes"]], "Example: Binding scopes to a type": [[71, null]], "The type_scope notation scope": [[71, "the-type-scope-notation-scope"]], "The function_scope notation scope": [[71, "the-function-scope-notation-scope"]], "Notation scopes used in the standard library of Rocq": [[71, "notation-scopes-used-in-the-standard-library-of-rocq"]], "Displaying information about scopes": [[71, "displaying-information-about-scopes"]], "Numbers and strings": [[71, "numbers-and-strings"]], "Number notations": [[71, "number-notations"]], "String notations": [[71, "string-notations"]], "Example: Number Notation for radix 3": [[71, null]], "Example: Number Notation for primitive integers": [[71, "example-number-notation-primitive-int"]], "Example: Number Notation for a non-inductive type": [[71, "example-number-notation-non-inductive"]], "Example: Number Notation with implicit arguments": [[71, "example-number-notation-implicit-args"]], "Example: String Notation with a parameterized inductive type": [[71, "example-string-notation-parameterized-inductive"]], "Tactic Notations": [[71, "tactic-notations"]], "Functional induction": [[72, "functional-induction"]], "Advanced recursive functions": [[72, "advanced-recursive-functions"]], "Generation of induction principles with Functional Scheme": [[72, "generation-of-induction-principles-with-functional-scheme"]], "Libraries and plugins": [[73, "libraries-and-plugins"]], "Writing Rocq libraries and plugins": [[74, "writing-rocq-libraries-and-plugins"]], "Deprecating library objects, tactics or library files": [[74, "deprecating-library-objects-tactics-or-library-files"]], "Triggering warning for library objects or library files": [[74, "triggering-warning-for-library-objects-or-library-files"]], "Example: Deprecating a tactic.": [[74, null]], "Example: Introducing a compatibility alias": [[74, "compatibility-alias"]], "Documenting Rocq files with rocq doc": [[75, "documenting-rocq-files-with-rocq-doc"]], "Principles": [[75, "principles"]], "Rocq material inside documentation.": [[75, "rocq-material-inside-documentation"]], "Pretty-printing.": [[75, "pretty-printing"]], "Lists.": [[75, "lists"]], "Rules.": [[75, "rules"]], "Emphasis.": [[75, "emphasis"]], "Escaping to LaTeX and HTML.": [[75, "escaping-to-latex-and-html"]], "Verbatim": [[75, "verbatim"]], "Hyperlinks": [[75, "hyperlinks"]], "Hiding / Showing parts of the source": [[75, "hiding-showing-parts-of-the-source"]], "The rocq doc LaTeX style file": [[75, "the-rocq-doc-latex-style-file"]], "Command-line and graphical tools": [[76, "command-line-and-graphical-tools"]], "Bibliography": [[77, "bibliography"]]}, "indexentries": {"cd (command)": [[2, "coq:cmd.Cd"]], "extract callback (command)": [[2, "coq:cmd.Extract-Callback"]], "extract callback is supported only for ocaml extraction (error)": [[2, "coq:exn.Extract-Callback-is-supported-only-for-OCaml-extraction"]], "extract constant (command)": [[2, "coq:cmd.Extract-Constant"]], "extract foreign constant (command)": [[2, "coq:cmd.Extract-Foreign-Constant"]], "extract foreign constant is supported only for ocaml extraction (error)": [[2, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-OCaml-extraction"]], "extract foreign constant is supported only for functions (error)": [[2, "coq:exn.Extract-Foreign-Constant-is-supported-only-for-functions"]], "extract inductive (command)": [[2, "coq:cmd.Extract-Inductive"]], "extract inlined constant (command)": [[2, "coq:cmd.Extract-Inlined-Constant"]], "extraction (command)": [[2, "coq:cmd.Extraction"]], "extraction autoinline (flag)": [[2, "coq:flag.Extraction-AutoInline"]], "extraction blacklist (command)": [[2, "coq:cmd.Extraction-Blacklist"]], "extraction conservative types (flag)": [[2, "coq:flag.Extraction-Conservative-Types"]], "extraction file comment (option)": [[2, "coq:opt.Extraction-File-Comment"]], "extraction flag (option)": [[2, "coq:opt.Extraction-Flag"]], "extraction implicit (command)": [[2, "coq:cmd.Extraction-Implicit"]], "extraction inline (command)": [[2, "coq:cmd.Extraction-Inline"]], "extraction keepsingleton (flag)": [[2, "coq:flag.Extraction-KeepSingleton"]], "extraction language (command)": [[2, "coq:cmd.Extraction-Language"]], "extraction library (command)": [[2, "coq:cmd.Extraction-Library"]], "extraction noinline (command)": [[2, "coq:cmd.Extraction-NoInline"]], "extraction optimize (flag)": [[2, "coq:flag.Extraction-Optimize"]], "extraction output directory (option)": [[2, "coq:opt.Extraction-Output-Directory"]], "extraction safeimplicits (flag)": [[2, "coq:flag.Extraction-SafeImplicits"]], "extraction testcompile (command)": [[2, "coq:cmd.Extraction-TestCompile"]], "extraction typeexpand (flag)": [[2, "coq:flag.Extraction-TypeExpand"]], "print extraction blacklist (command)": [[2, "coq:cmd.Print-Extraction-Blacklist"]], "print extraction callback (command)": [[2, "coq:cmd.Print-Extraction-Callback"]], "print extraction foreign (command)": [[2, "coq:cmd.Print-Extraction-Foreign"]], "print extraction inline (command)": [[2, "coq:cmd.Print-Extraction-Inline"]], "pwd (command)": [[2, "coq:cmd.Pwd"]], "recursive extraction (command)": [[2, "coq:cmd.Recursive-Extraction"]], "recursive extraction library (command)": [[2, "coq:cmd.Recursive-Extraction-Library"]], "reset extraction blacklist (command)": [[2, "coq:cmd.Reset-Extraction-Blacklist"]], "reset extraction callback (command)": [[2, "coq:cmd.Reset-Extraction-Callback"]], "reset extraction inline (command)": [[2, "coq:cmd.Reset-Extraction-Inline"]], "separate extraction (command)": [[2, "coq:cmd.Separate-Extraction"]], "show extraction (command)": [[2, "coq:cmd.Show-Extraction"]], "the term \u2018qualid\u2019 is already defined as foreign custom constant (error)": [[2, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-foreign-custom-constant"]], "the term \u2018qualid\u2019 is already defined as inline custom constant (error)": [[2, "coq:exn.The-term-\u2018qualid\u2019-is-already-defined-as-inline-custom-constant"]], "add morphism (command)": [[3, "coq:cmd.Add-Morphism"]], "add parametric morphism (command)": [[3, "coq:cmd.Add-Parametric-Morphism"]], "add parametric relation (command)": [[3, "coq:cmd.Add-Parametric-Relation"]], "add parametric setoid (command)": [[3, "coq:cmd.Add-Parametric-Setoid"]], "add relation (command)": [[3, "coq:cmd.Add-Relation"]], "add setoid (command)": [[3, "coq:cmd.Add-Setoid"]], "declare morphism (command)": [[3, "coq:cmd.Declare-Morphism"]], "no progress made (error)": [[3, "coq:exn.No-progress-made"]], "nothing to rewrite (error)": [[3, "coq:exn.Nothing-to-rewrite"]], "unable to satisfy the rewriting constraints (error)": [[3, "coq:exn.Unable-to-satisfy-the-rewriting-constraints"]], "head_of_constr (tactic)": [[3, "coq:tacn.head_of_constr"]], "rewrite_db (tactic)": [[3, "coq:tacn.rewrite_db"]], "rewrite_strat (tactic)": [[3, "coq:tacn.rewrite_strat"]], "setoid_etransitivity (tactic)": [[3, "coq:tacn.setoid_etransitivity"]], "setoid_reflexivity (tactic)": [[3, "coq:tacn.setoid_reflexivity"]], "setoid_replace (tactic)": [[3, "coq:tacn.setoid_replace"]], "setoid_rewrite (tactic)": [[3, "coq:tacn.setoid_rewrite"]], "setoid_symmetry (tactic)": [[3, "coq:tacn.setoid_symmetry"]], "setoid_transitivity (tactic)": [[3, "coq:tacn.setoid_transitivity"]], "... is not definitionally an identity function (warning)": [[4, "coq:warn....-is-not-definitionally-an-identity-function"]], ":> (coercion)": [[4, "index-0"]], "cannot find the source class of \u2018qualid\u2019 (error)": [[4, "coq:exn.Cannot-find-the-source-class-of-\u2018qualid\u2019"]], "cannot find the target class (error)": [[4, "coq:exn.Cannot-find-the-target-class"]], "cannot recognize \u2018coercion_class\u2019 as a source class of \u2018qualid\u2019 (error)": [[4, "coq:exn.Cannot-recognize-\u2018coercion_class\u2019-as-a-source-class-of-\u2018qualid\u2019"]], "coercion (command)": [[4, "coq:cmd.Coercion"]], "found target class \u2018coercion_class\u2019 instead of \u2018coercion_class\u2019 (error)": [[4, "coq:exn.Found-target-class-\u2018coercion_class\u2019-instead-of-\u2018coercion_class\u2019"]], "funclass cannot be a source class (error)": [[4, "coq:exn.Funclass-cannot-be-a-source-class"]], "identity coercion (command)": [[4, "coq:cmd.Identity-Coercion"]], "new coercion path ... is ambiguous with existing ... (warning)": [[4, "coq:warn.New-coercion-path-...-is-ambiguous-with-existing-..."]], "print classes (command)": [[4, "coq:cmd.Print-Classes"]], "print coercion paths (command)": [[4, "coq:cmd.Print-Coercion-Paths"]], "print coercions (command)": [[4, "coq:cmd.Print-Coercions"]], "print graph (command)": [[4, "coq:cmd.Print-Graph"]], "printing coercion (table)": [[4, "coq:table.Printing-Coercion"]], "printing coercions (flag)": [[4, "coq:flag.Printing-Coercions"]], "subclass (command)": [[4, "coq:cmd.SubClass"]], "nonuniform (attribute)": [[4, "coq:attr.nonuniform"]], "reversible (attribute)": [[4, "coq:attr.reversible"]], "\u2018coercion_class\u2019 must be a transparent constant (error)": [[4, "coq:exn.\u2018coercion_class\u2019-must-be-a-transparent-constant"]], "\u2018qualid\u2019 does not respect the uniform inheritance condition (warning)": [[4, "coq:warn.\u2018qualid\u2019-does-not-respect-the-uniform-inheritance-condition"]], "\u2018qualid\u2019 is already a coercion (error)": [[4, "coq:exn.\u2018qualid\u2019-is-already-a-coercion"]], "\u2018qualid\u2019 is not a function (error)": [[4, "coq:exn.\u2018qualid\u2019-is-not-a-function"]], "\u2018qualid\u2019 not declared (error)": [[4, "coq:exn.\u2018qualid\u2019-not-declared"]], "add zify (command)": [[5, "coq:cmd.Add-Zify"]], "bound on the ceiling function (theorem)": [[5, "coq:thm.Bound-on-the-ceiling-function"]], "case split (theorem)": [[5, "coq:thm.Case-split"]], "dump arith (option)": [[5, "coq:opt.Dump-Arith"]], "info micromega (flag)": [[5, "coq:flag.Info-Micromega"]], "lia cache (flag)": [[5, "coq:flag.Lia-Cache"]], "nia cache (flag)": [[5, "coq:flag.Nia-Cache"]], "nra cache (flag)": [[5, "coq:flag.Nra-Cache"]], "psatz (theorem)": [[5, "coq:thm.Psatz"]], "show lia profile (command)": [[5, "coq:cmd.Show-Lia-Profile"]], "show zify (command)": [[5, "coq:cmd.Show-Zify"]], "lia (tactic)": [[5, "coq:tacn.lia"]], "lra (tactic)": [[5, "coq:tacn.lra"]], "nia (tactic)": [[5, "coq:tacn.nia"]], "nra (tactic)": [[5, "coq:tacn.nra"]], "psatz (tactic)": [[5, "coq:tacn.psatz"]], "wlia (tactic)": [[5, "coq:tacn.wlia"]], "wlra_q (tactic)": [[5, "coq:tacn.wlra_Q"]], "wnia (tactic)": [[5, "coq:tacn.wnia"]], "wnra_q (tactic)": [[5, "coq:tacn.wnra_Q"]], "wpsatz_q (tactic)": [[5, "coq:tacn.wpsatz_Q"]], "wpsatz_z (tactic)": [[5, "coq:tacn.wpsatz_Z"]], "wsos_q (tactic)": [[5, "coq:tacn.wsos_Q"]], "wsos_z (tactic)": [[5, "coq:tacn.wsos_Z"]], "xlia (tactic)": [[5, "coq:tacn.xlia"]], "xlra_q (tactic)": [[5, "coq:tacn.xlra_Q"]], "xlra_r (tactic)": [[5, "coq:tacn.xlra_R"]], "xnia (tactic)": [[5, "coq:tacn.xnia"]], "xnra_q (tactic)": [[5, "coq:tacn.xnra_Q"]], "xnra_r (tactic)": [[5, "coq:tacn.xnra_R"]], "xpsatz_q (tactic)": [[5, "coq:tacn.xpsatz_Q"]], "xpsatz_r (tactic)": [[5, "coq:tacn.xpsatz_R"]], "xpsatz_z (tactic)": [[5, "coq:tacn.xpsatz_Z"]], "xsos_q (tactic)": [[5, "coq:tacn.xsos_Q"]], "xsos_r (tactic)": [[5, "coq:tacn.xsos_R"]], "xsos_z (tactic)": [[5, "coq:tacn.xsos_Z"]], "zify (tactic)": [[5, "coq:tacn.zify"]], "zify_elim_let (tactic)": [[5, "coq:tacn.zify_elim_let"]], "zify_iter_let (tactic)": [[5, "coq:tacn.zify_iter_let"]], "zify_iter_specs (tactic)": [[5, "coq:tacn.zify_iter_specs"]], "zify_op (tactic)": [[5, "coq:tacn.zify_op"]], "zify_saturate (tactic)": [[5, "coq:tacn.zify_saturate"]], "derive (command)": [[6, "coq:cmd.Derive"]], "nsatz (tactic)": [[7, "coq:tacn.nsatz"]], "nsatz_compute (tactic)": [[7, "coq:tacn.nsatz_compute"]], "admit obligations (command)": [[9, "coq:cmd.Admit-Obligations"]], "final obligation (command)": [[9, "coq:cmd.Final-Obligation"]], "ill-formed recursive definition (error)": [[9, "coq:exn.Ill-formed-recursive-definition"]], "next obligation (command)": [[9, "coq:cmd.Next-Obligation"]], "non extensible universe declaration not supported with monomorphic program definition (error)": [[9, "coq:exn.Non-extensible-universe-declaration-not-supported-with-monomorphic-Program-Definition"]], "obligation (command)": [[9, "coq:cmd.Obligation"]], "obligation tactic (command)": [[9, "coq:cmd.Obligation-Tactic"]], "obligations (command)": [[9, "coq:cmd.Obligations"]], "preterm (command)": [[9, "coq:cmd.Preterm"]], "program (attribute)": [[9, "coq:attr.Program"], [9, "coq:attr.program"]], "program cases (flag)": [[9, "coq:flag.Program-Cases"]], "program generalized coercion (flag)": [[9, "coq:flag.Program-Generalized-Coercion"]], "program mode (flag)": [[9, "coq:flag.Program-Mode"]], "show obligation tactic (command)": [[9, "coq:cmd.Show-Obligation-Tactic"]], "solve all obligations (command)": [[9, "coq:cmd.Solve-All-Obligations"]], "solve obligations (command)": [[9, "coq:cmd.Solve-Obligations"]], "transparent obligations (flag)": [[9, "coq:flag.Transparent-Obligations"]], "rewrite rule (command)": [[10, "coq:cmd.Rewrite-Rule"]], "rewrite rules (command)": [[10, "coq:cmd.Rewrite-Rules"]], "rewrite rule declaration requires passing the flag \"-allow-rewrite-rules\" (error)": [[10, "coq:exn.Rewrite-rule-declaration-requires-passing-the-flag-\"-allow-rewrite-rules\""]], "symbol (command)": [[10, "coq:cmd.Symbol"]], "symbols (command)": [[10, "coq:cmd.Symbols"]], "add field (command)": [[11, "coq:cmd.Add-Field"]], "add ring (command)": [[11, "coq:cmd.Add-Ring"]], "arguments of ring_simplify do not have all the same type (error)": [[11, "coq:exn.Arguments-of-ring_simplify-do-not-have-all-the-same-type"]], "bad lemma for decidability of equality (error)": [[11, "coq:exn.Bad-lemma-for-decidability-of-equality"]], "bad ring structure (error)": [[11, "coq:exn.Bad-ring-structure"]], "cannot find a declared ring structure for equality \u2018term\u2019 (error)": [[11, "coq:exn.Cannot-find-a-declared-ring-structure-for-equality-\u2018term\u2019"]], "cannot find a declared ring structure over \u2018term\u2019 (error)": [[11, "coq:exn.Cannot-find-a-declared-ring-structure-over-\u2018term\u2019"]], "not a valid ring equation (error)": [[11, "coq:exn.Not-a-valid-ring-equation"]], "print fields (command)": [[11, "coq:cmd.Print-Fields"]], "print rings (command)": [[11, "coq:cmd.Print-Rings"]], "ring operation should be declared as a morphism (error)": [[11, "coq:exn.Ring-operation-should-be-declared-as-a-morphism"]], "field (tactic)": [[11, "coq:tacn.field"]], "field_lookup (tactic)": [[11, "coq:tacn.field_lookup"]], "field_simplify (tactic)": [[11, "coq:tacn.field_simplify"]], "field_simplify_eq (tactic)": [[11, "coq:tacn.field_simplify_eq"]], "protect_fv (tactic)": [[11, "coq:tacn.protect_fv"]], "ring (tactic)": [[11, "coq:tacn.ring"]], "ring_lookup (tactic)": [[11, "coq:tacn.ring_lookup"]], "ring_simplify (tactic)": [[11, "coq:tacn.ring_simplify"]], "allow strictprop (flag)": [[12, "coq:flag.Allow-StrictProp"]], "bad relevance (warning)": [[12, "coq:warn.Bad-relevance"]], "definitional uip (flag)": [[12, "coq:flag.Definitional-UIP"]], "printing relevance marks (flag)": [[12, "coq:flag.Printing-Relevance-Marks"]], "sprop is disallowed because the \"allow strictprop\" flag is off (error)": [[12, "coq:exn.SProp-is-disallowed-because-the-\"Allow-StrictProp\"-flag-is-off"]], ":: (substructure)": [[13, "index-0"]], "class (command)": [[13, "coq:cmd.Class"]], "declare instance (command)": [[13, "coq:cmd.Declare-Instance"]], "existing class (command)": [[13, "coq:cmd.Existing-Class"]], "existing instance (command)": [[13, "coq:cmd.Existing-Instance"]], "existing instances (command)": [[13, "coq:cmd.Existing-Instances"]], "ignored instance declaration for \u201c\u2018ident\u2019\u201d: \u201c\u2018term\u2019\u201d is not a class (warning)": [[13, "coq:warn.Ignored-instance-declaration-for-\u201c\u2018ident\u2019\u201d:-\u201c\u2018term\u2019\u201d-is-not-a-class"]], "instance (command)": [[13, "coq:cmd.Instance"]], "print instances (command)": [[13, "coq:cmd.Print-Instances"]], "print typeclasses (command)": [[13, "coq:cmd.Print-Typeclasses"]], "typeclass resolution for conversion (flag)": [[13, "coq:flag.Typeclass-Resolution-For-Conversion"]], "typeclasses debug (flag)": [[13, "coq:flag.Typeclasses-Debug"]], "typeclasses debug verbosity (option)": [[13, "coq:opt.Typeclasses-Debug-Verbosity"]], "typeclasses default mode (option)": [[13, "coq:opt.Typeclasses-Default-Mode"]], "typeclasses dependency order (flag)": [[13, "coq:flag.Typeclasses-Dependency-Order"]], "typeclasses depth (option)": [[13, "coq:opt.Typeclasses-Depth"]], "typeclasses iterative deepening (flag)": [[13, "coq:flag.Typeclasses-Iterative-Deepening"]], "typeclasses limit intros (flag)": [[13, "coq:flag.Typeclasses-Limit-Intros"]], "typeclasses opaque (command)": [[13, "coq:cmd.Typeclasses-Opaque"]], "typeclasses strict resolution (flag)": [[13, "coq:flag.Typeclasses-Strict-Resolution"]], "typeclasses transparent (command)": [[13, "coq:cmd.Typeclasses-Transparent"]], "typeclasses unique instances (flag)": [[13, "coq:flag.Typeclasses-Unique-Instances"]], "typeclasses unique solutions (flag)": [[13, "coq:flag.Typeclasses-Unique-Solutions"]], "typeclasses eauto (command)": [[13, "coq:cmd.Typeclasses-eauto"]], "using inferred default mode: \u201cmode\u201d for \u201c\u2018ident\u2019\u201d (warning)": [[13, "coq:warn.Using-inferred-default-mode:-\u201cmode\u201d-for-\u201c\u2018ident\u2019\u201d"]], "autoapply (tactic)": [[13, "coq:tacn.autoapply"]], "mode (attribute)": [[13, "coq:attr.mode"]], "refine (attribute)": [[13, "coq:attr.refine"]], "typeclasses eauto (tactic)": [[13, "coq:tacn.typeclasses-eauto"]], "\u2018ident\u2019 is already declared as a typeclass (warning)": [[13, "coq:warn.\u2018ident\u2019-is-already-declared-as-a-typeclass"]], "constraint (command)": [[14, "coq:cmd.Constraint"]], "cumulative (attribute)": [[14, "coq:attr.Cumulative"]], "cumulativity weak constraints (flag)": [[14, "coq:flag.Cumulativity-Weak-Constraints"]], "monomorphic (attribute)": [[14, "coq:attr.Monomorphic"]], "noncumulative (attribute)": [[14, "coq:attr.NonCumulative"]], "polymorphic (attribute)": [[14, "coq:attr.Polymorphic"]], "polymorphic inductive cumulativity (flag)": [[14, "coq:flag.Polymorphic-Inductive-Cumulativity"]], "polymorphic universe constraints can only be declared inside sections, use monomorphic constraint instead (error)": [[14, "coq:exn.Polymorphic-universe-constraints-can-only-be-declared-inside-sections,-use-Monomorphic-Constraint-instead"]], "polymorphic universes can only be declared inside sections, use monomorphic universe instead (error)": [[14, "coq:exn.Polymorphic-universes-can-only-be-declared-inside-sections,-use-Monomorphic-Universe-instead"]], "print universes (command)": [[14, "coq:cmd.Print-Universes"]], "printing universes (flag)": [[14, "coq:flag.Printing-Universes"]], "private polymorphic universes (flag)": [[14, "coq:flag.Private-Polymorphic-Universes"]], "strict universe declaration (flag)": [[14, "coq:flag.Strict-Universe-Declaration"]], "the cumulative attribute can only be used in a polymorphic context (error)": [[14, "coq:exn.The-cumulative-attribute-can-only-be-used-in-a-polymorphic-context"]], "undeclared universe \u2018ident\u2019 (error)": [[14, "coq:exn.Undeclared-universe-\u2018ident\u2019"]], "universe (command)": [[14, "coq:cmd.Universe"]], "universe minimization toset (flag)": [[14, "coq:flag.Universe-Minimization-ToSet"]], "universe polymorphism (flag)": [[14, "coq:flag.Universe-Polymorphism"]], "universe inconsistency (error)": [[14, "coq:exn.Universe-inconsistency"]], "universes (command)": [[14, "coq:cmd.Universes"]], "universes(cumulative) (attribute)": [[14, "coq:attr.universes(cumulative)"]], "universes(polymorphic) (attribute)": [[14, "coq:attr.universes(polymorphic)"]], "* (term)": [[27, "index-9"]], "+ (term)": [[27, "index-9"]], "a*b (term)": [[27, "index-9"]], "a+b (term)": [[27, "index-9"]], "a+{b} (term)": [[27, "index-13"]], "acc (term)": [[27, "index-20"]], "acc_inv (term)": [[27, "index-20"]], "acc_rect (term)": [[27, "index-20"]], "choice (term)": [[27, "index-14"]], "choice2 (term)": [[27, "index-14"]], "connectives": [[27, "index-1"]], "datatypes": [[27, "index-7"]], "equality": [[27, "index-4"]], "exc (term)": [[27, "index-15"]], "false (term)": [[27, "index-1"], [27, "index-8"]], "false_rec (term)": [[27, "index-16"]], "false_rect (term)": [[27, "index-16"]], "fix_f (term)": [[27, "index-21"]], "fix_f_eq (term)": [[27, "index-21"]], "fix_f_inv (term)": [[27, "index-21"]], "fix_eq (term)": [[27, "index-21"]], "i (term)": [[27, "index-1"]], "issucc (term)": [[27, "index-17"]], "none (term)": [[27, "index-8"]], "o (term)": [[27, "index-8"]], "o_s (term)": [[27, "index-17"]], "programming": [[27, "index-8"]], "quantifiers": [[27, "index-3"]], "recursion": [[27, "index-20"]], "s (term)": [[27, "index-8"]], "some (term)": [[27, "index-8"]], "theories": [[27, "index-0"]], "true (term)": [[27, "index-1"], [27, "index-8"]], "well founded induction": [[27, "index-20"]], "well foundedness": [[27, "index-20"]], "absurd (term)": [[27, "index-5"]], "absurd_set (term)": [[27, "index-16"]], "all (term)": [[27, "index-3"]], "and (term)": [[27, "index-1"]], "and_rect (term)": [[27, "index-16"]], "bool (term)": [[27, "index-8"]], "bool_choice (term)": [[27, "index-14"]], "conj (term)": [[27, "index-1"]], "eq (term)": [[27, "index-4"]], "eq_s (term)": [[27, "index-17"]], "eq_add_s (term)": [[27, "index-17"]], "eq_ind_r (term)": [[27, "index-5"]], "eq_rec_r (term)": [[27, "index-5"]], "eq_rect (term)": [[27, "index-16"], [27, "index-5"]], "eq_rect_r (term)": [[27, "index-5"]], "eq_refl (term)": [[27, "index-4"]], "eq_sym (term)": [[27, "index-5"]], "eq_trans (term)": [[27, "index-5"]], "error (term)": [[27, "index-15"]], "ex (term)": [[27, "index-3"]], "ex2 (term)": [[27, "index-3"]], "ex_intro (term)": [[27, "index-3"]], "ex_intro2 (term)": [[27, "index-3"]], "exist (term)": [[27, "index-10"]], "exist2 (term)": [[27, "index-10"]], "existt (term)": [[27, "index-11"]], "existt2 (term)": [[27, "index-11"]], "exists (term)": [[27, "index-3"]], "exists2 (term)": [[27, "index-3"]], "f_equal (term)": [[27, "index-5"]], "f_equal2 ... f_equal5 (term)": [[27, "index-6"]], "fst (term)": [[27, "index-9"]], "ge (term)": [[27, "index-18"]], "gt (term)": [[27, "index-18"]], "identity (term)": [[27, "index-8"]], "iff (term)": [[27, "index-1"]], "inl (term)": [[27, "index-9"]], "inleft (term)": [[27, "index-13"]], "inr (term)": [[27, "index-9"]], "inright (term)": [[27, "index-13"]], "le (term)": [[27, "index-18"]], "le_s (term)": [[27, "index-18"]], "le_n (term)": [[27, "index-18"]], "left (term)": [[27, "index-12"]], "lt (term)": [[27, "index-18"]], "mult (term)": [[27, "index-17"]], "mult_n_o (term)": [[27, "index-17"]], "mult_n_sm (term)": [[27, "index-17"]], "n_sn (term)": [[27, "index-17"]], "nat (term)": [[27, "index-8"]], "nat_case (term)": [[27, "index-19"]], "nat_double_ind (term)": [[27, "index-19"]], "not (term)": [[27, "index-1"]], "nott (term)": [[27, "index-2"]], "not_eq_s (term)": [[27, "index-17"]], "option (term)": [[27, "index-8"]], "or (term)": [[27, "index-1"]], "or_introl (term)": [[27, "index-1"]], "or_intror (term)": [[27, "index-1"]], "pair (term)": [[27, "index-9"]], "plus (term)": [[27, "index-17"]], "plus_n_o (term)": [[27, "index-17"]], "plus_n_sm (term)": [[27, "index-17"]], "pred (term)": [[27, "index-17"]], "pred_sn (term)": [[27, "index-17"]], "prod (term)": [[27, "index-9"]], "proj1 (term)": [[27, "index-1"]], "proj2 (term)": [[27, "index-1"]], "projt1 (term)": [[27, "index-11"]], "projt2 (term)": [[27, "index-11"]], "refl_identity (term)": [[27, "index-8"]], "right (term)": [[27, "index-12"]], "sig (term)": [[27, "index-10"]], "sig2 (term)": [[27, "index-10"]], "sigt (term)": [[27, "index-11"]], "sigt2 (term)": [[27, "index-11"]], "snd (term)": [[27, "index-9"]], "sum (term)": [[27, "index-9"]], "sumbool (term)": [[27, "index-12"]], "sumor (term)": [[27, "index-13"]], "sym_not_eq (term)": [[27, "index-5"]], "tt (term)": [[27, "index-8"]], "unit (term)": [[27, "index-8"]], "value (term)": [[27, "index-15"]], "well_founded (term)": [[27, "index-20"]], "{a}+{b} (term)": [[27, "index-12"]], "{x:a & p x} (term)": [[27, "index-11"]], "{x:a | p x} (term)": [[27, "index-10"]], "axiom (command)": [[28, "coq:cmd.Axiom"]], "axioms (command)": [[28, "coq:cmd.Axioms"]], "conjecture (command)": [[28, "coq:cmd.Conjecture"]], "conjectures (command)": [[28, "coq:cmd.Conjectures"]], "hypotheses (command)": [[28, "coq:cmd.Hypotheses"]], "hypothesis (command)": [[28, "coq:cmd.Hypothesis"]], "parameter (command)": [[28, "coq:cmd.Parameter"]], "parameters (command)": [[28, "coq:cmd.Parameters"]], "use of \"variable\" or \"hypothesis\" outside sections behaves as \"#[local] parameter\" or \"#[local] axiom\" (warning)": [[28, "coq:warn.Use-of-\"Variable\"-or-\"Hypothesis\"-outside-sections-behaves-as-\"#[local]-Parameter\"-or-\"#[local]-Axiom\""]], "variable (command)": [[28, "coq:cmd.Variable"]], "variables (command)": [[28, "coq:cmd.Variables"]], "forall": [[28, "index-1"]], "fun": [[28, "index-0"]], "\u2018ident\u2019 already exists. (axiom) (error)": [[28, "coq:exn.\u2018ident\u2019-already-exists.-(Axiom)"]], "add (command)": [[29, "coq:cmd.Add"]], "attributes (command)": [[29, "coq:cmd.Attributes"]], "comments (command)": [[29, "coq:cmd.Comments"]], "print options (command)": [[29, "coq:cmd.Print-Options"]], "print table (command)": [[29, "coq:cmd.Print-Table"]], "print tables (command)": [[29, "coq:cmd.Print-Tables"]], "remove (command)": [[29, "coq:cmd.Remove"]], "set (command)": [[29, "coq:cmd.Set"]], "test (command)": [[29, "coq:cmd.Test"]], "there is no flag or option with this name: \"\u2018setting_name\u2019\" (warning)": [[29, "coq:warn.There-is-no-flag-or-option-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no flag, option or table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-flag,-option-or-table-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no qualid-valued table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-qualid-valued-table-with-this-name:-\"\u2018setting_name\u2019\""]], "there is no string-valued table with this name: \"\u2018setting_name\u2019\" (error)": [[29, "coq:exn.There-is-no-string-valued-table-with-this-name:-\"\u2018setting_name\u2019\""]], "this command does not support this attribute (warning)": [[29, "coq:warn.This-command-does-not-support-this-attribute"]], "unset (command)": [[29, "coq:cmd.Unset"]], "command": [[29, "term-command"]], "sentence": [[29, "term-sentence"]], "tactic": [[29, "term-tactic"]], "term": [[29, "term-term"]], "type": [[29, "term-type"], [39, "index-0"]], "warning (attribute)": [[29, "coq:attr.warning"]], "warnings (attribute)": [[29, "coq:attr.warnings"]], "cofixpoint (command)": [[30, "coq:cmd.CoFixpoint"]], "coinductive (command)": [[30, "coq:cmd.CoInductive"]], "cofix": [[30, "index-0"]], "... : ... (type cast)": [[32, "index-1"]], "... :> ... (volatile type cast)": [[32, "index-1"]], "... <: ... (vm type cast)": [[32, "index-1"]], "... <<: ... (native compute type cast)": [[32, "index-1"]], "corollary (command)": [[32, "coq:cmd.Corollary"]], "definition (command)": [[32, "coq:cmd.Definition"]], "example (command)": [[32, "coq:cmd.Example"]], "fact (command)": [[32, "coq:cmd.Fact"]], "lemma (command)": [[32, "coq:cmd.Lemma"]], "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 (error)": [[32, "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"]], "property (command)": [[32, "coq:cmd.Property"]], "proposition (command)": [[32, "coq:cmd.Proposition"]], "remark (command)": [[32, "coq:cmd.Remark"]], "the term \u2018term\u2019 has type \u2018type\u2019 which should be set, prop or type (error)": [[32, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-which-should-be-Set,-Prop-or-Type"]], "the term \u2018term\u2019 has type \u2018type\u2019 while it is expected to have type \u2018type\u2019' (error)": [[32, "coq:exn.The-term-\u2018term\u2019-has-type-\u2018type\u2019-while-it-is-expected-to-have-type-\u2018type\u2019'"]], "theorem (command)": [[32, "coq:cmd.Theorem"]], "let ... := ... (term)": [[32, "index-0"]], "\u2018ident\u2019 already exists. (definition) (error)": [[32, "coq:exn.\u2018ident\u2019-already-exists.-(Definition)"]], "\u2018ident\u2019 already exists. (theorem) (error)": [[32, "coq:exn.\u2018ident\u2019-already-exists.-(Theorem)"]], "auto template polymorphism (flag)": [[34, "coq:flag.Auto-Template-Polymorphism"]], "automatically declaring \u2018ident\u2019 as template polymorphic (warning)": [[34, "coq:warn.Automatically-declaring-\u2018ident\u2019-as-template-polymorphic"]], "dependent proposition eliminators (flag)": [[34, "coq:flag.Dependent-Proposition-Eliminators"]], "fixpoint (command)": [[34, "coq:cmd.Fixpoint"]], "ill-formed template inductive declaration: not polymorphic on any universe (error)": [[34, "coq:exn.Ill-formed-template-inductive-declaration:-not-polymorphic-on-any-universe"]], "inductive (command)": [[34, "coq:cmd.Inductive"]], "non strictly positive occurrence of \u2018ident\u2019 in \u2018type\u2019 (error)": [[34, "coq:exn.Non-strictly-positive-occurrence-of-\u2018ident\u2019-in-\u2018type\u2019"]], "the conclusion of \u2018type\u2019 is not valid": [[34, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019"]], "uniform inductive parameters (flag)": [[34, "coq:flag.Uniform-Inductive-Parameters"]], "fix": [[34, "index-0"]], "it must be built from \u2018ident\u2019 (error)": [[34, "coq:exn.The-conclusion-of-\u2018type\u2019-is-not-valid;-it-must-be-built-from-\u2018ident\u2019"]], "template and polymorphism not compatible (error)": [[34, "coq:exn.template-and-polymorphism-not-compatible"]], "universes(template) (attribute)": [[34, "coq:attr.universes(template)"]], "cannot import local constant, it will be ignored (warning)": [[35, "coq:warn.Cannot-import-local-constant,-it-will-be-ignored"]], "declare module (command)": [[35, "coq:cmd.Declare-Module"]], "export (command)": [[35, "coq:cmd.Export"]], "import (command)": [[35, "coq:cmd.Import"]], "include (command)": [[35, "coq:cmd.Include"]], "include type (command)": [[35, "coq:cmd.Include-Type"]], "module (command)": [[35, "coq:cmd.Module"]], "module type (command)": [[35, "coq:cmd.Module-Type"]], "no field named \u2018ident\u2019 in \u2018qualid\u2019 (error)": [[35, "coq:exn.No-field-named-\u2018ident\u2019-in-\u2018qualid\u2019"]], "print module (command)": [[35, "coq:cmd.Print-Module"]], "print module type (command)": [[35, "coq:cmd.Print-Module-Type"]], "print namespace (command)": [[35, "coq:cmd.Print-Namespace"]], "short module printing (flag)": [[35, "coq:flag.Short-Module-Printing"]], "signature components for field \u2018ident\u2019 do not match (error)": [[35, "coq:exn.Signature-components-for-field-\u2018ident\u2019-do-not-match"]], "the field \u2018ident\u2019 is missing in \u2018qualid\u2019 (error)": [[35, "coq:exn.The-field-\u2018ident\u2019-is-missing-in-\u2018qualid\u2019"]], "trying to mask the absolute name \u2018qualid\u2019! (warning)": [[35, "coq:warn.Trying-to-mask-the-absolute-name-\u2018qualid\u2019!"]], "export (attribute)": [[35, "coq:attr.export"]], "global (attribute)": [[35, "coq:attr.global"]], "local (attribute)": [[35, "coq:attr.local"]], "\u2018qualid\u2019 is not a module (error)": [[35, "coq:exn.\u2018qualid\u2019-is-not-a-module"]], "primitive projections (flag)": [[37, "coq:flag.Primitive-Projections"]], "printing constructor (table)": [[37, "coq:table.Printing-Constructor"]], "printing primitive projection parameters (flag)": [[37, "coq:flag.Printing-Primitive-Projection-Parameters"]], "printing projections (flag)": [[37, "coq:flag.Printing-Projections"]], "printing record (table)": [[37, "coq:table.Printing-Record"]], "printing records (flag)": [[37, "coq:flag.Printing-Records"]], "printing unfolded projection as match (flag)": [[37, "coq:flag.Printing-Unfolded-Projection-As-Match"]], "record (command)": [[37, "coq:cmd.Record"]], "records declared with the keyword record or structure cannot be recursive (error)": [[37, "coq:exn.Records-declared-with-the-keyword-Record-or-Structure-cannot-be-recursive"]], "structure (command)": [[37, "coq:cmd.Structure"]], "projections(primitive) (attribute)": [[37, "coq:attr.projections(primitive)"]], "\u2018ident\u2019 already exists (error)": [[37, "coq:exn.\u2018ident\u2019-already-exists"]], "\u2018ident\u2019 cannot be defined (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined"]], "\u2018ident\u2019 cannot be defined because it is informative and \u2018ident\u2019 is not (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-it-is-informative-and-\u2018ident\u2019-is-not"]], "\u2018ident\u2019 cannot be defined because the projection \u2018ident\u2019 was not defined (warning)": [[37, "coq:warn.\u2018ident\u2019-cannot-be-defined-because-the-projection-\u2018ident\u2019-was-not-defined"]], "context (command)": [[38, "coq:cmd.Context"]], "end (command)": [[38, "coq:cmd.End"]], "last block to end has name \u2018ident\u2019 (error)": [[38, "coq:exn.Last-block-to-end-has-name-\u2018ident\u2019"]], "let (command)": [[38, "coq:cmd.Let"]], "let cofixpoint (command)": [[38, "coq:cmd.Let-CoFixpoint"]], "let fixpoint (command)": [[38, "coq:cmd.Let-Fixpoint"]], "section (command)": [[38, "coq:cmd.Section"]], "there is nothing to end (error)": [[38, "coq:exn.There-is-nothing-to-end"]], "clearbody (attribute)": [[38, "coq:attr.clearbody"]], "prop": [[39, "index-0"]], "sprop": [[39, "index-0"]], "set (sort)": [[39, "index-0"]], "casts are not supported in this pattern (error)": [[40, "coq:exn.Casts-are-not-supported-in-this-pattern"]], "private (attribute)": [[40, "coq:attr.Private"]], "the \u2018natural\u2019 th argument of \u2018ident\u2019 must be \u2018ident\u2019 in \u2018type\u2019 (error)": [[40, "coq:exn.The-\u2018natural\u2019-th-argument-of-\u2018ident\u2019-must-be-\u2018ident\u2019-in-\u2018type\u2019"]], "variant (command)": [[40, "coq:cmd.Variant"]], "match ... with ...": [[40, "index-0"]], "private(matching) (attribute)": [[40, "coq:attr.private(matching)"]], "arguments (command)": [[41, "coq:cmd.Arguments"]], "arguments of section variables such as \u2018name\u2019 may not be renamed (error)": [[41, "coq:exn.Arguments-of-section-variables-such-as-\u2018name\u2019-may-not-be-renamed"]], "flag 'rename' expected to rename \u2018name\u2019 into \u2018name\u2019 (error)": [[41, "coq:exn.Flag-'rename'-expected-to-rename-\u2018name\u2019-into-\u2018name\u2019"]], "the & modifier may only occur once (error)": [[41, "coq:exn.The-&-modifier-may-only-occur-once"]], "the 'clear implicits' flag must be omitted if implicit annotations are given (error)": [[41, "coq:exn.The-'clear-implicits'-flag-must-be-omitted-if-implicit-annotations-are-given"]], "the 'default implicits' flag is incompatible with implicit annotations (error)": [[41, "coq:exn.The-'default-implicits'-flag-is-incompatible-with-implicit-annotations"]], "the / modifier may only occur once (error)": [[41, "coq:exn.The-/-modifier-may-only-occur-once"]], "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' (warning)": [[41, "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'"]], "to rename arguments the 'rename' flag must be specified (error)": [[41, "coq:exn.To-rename-arguments-the-'rename'-flag-must-be-specified"]], "canonical structure (command)": [[42, "coq:cmd.Canonical-Structure"]], "print canonical projections (command)": [[42, "coq:cmd.Print-Canonical-Projections"]], "canonical (attribute)": [[42, "coq:attr.canonical"]], "printing existential instances (flag)": [[43, "coq:flag.Printing-Existential-Instances"]], "_": [[43, "index-0"]], "argument at position \u2018natural\u2019 is mentioned more than once (error)": [[44, "coq:exn.Argument-at-position-\u2018natural\u2019-is-mentioned-more-than-once"]], "argument \u2018name\u2019 is a trailing implicit, so it can't be declared non maximal. please use { } instead of [ ] (error)": [[44, "coq:exn.Argument-\u2018name\u2019-is-a-trailing-implicit,-so-it-can't-be-declared-non-maximal.-Please-use-{-}-instead-of-[-]"]], "arguments given by name or position not supported in explicit mode (error)": [[44, "coq:exn.Arguments-given-by-name-or-position-not-supported-in-explicit-mode"]], "cannot infer a term for this placeholder. (casual use of implicit arguments) (error)": [[44, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(Casual-use-of-implicit-arguments)"]], "contextual implicit (flag)": [[44, "coq:flag.Contextual-Implicit"]], "generalizable (command)": [[44, "coq:cmd.Generalizable"]], "ignoring implicit binder declaration in unexpected position (warning)": [[44, "coq:warn.Ignoring-implicit-binder-declaration-in-unexpected-position"]], "implicit arguments (flag)": [[44, "coq:flag.Implicit-Arguments"]], "implicit type (command)": [[44, "coq:cmd.Implicit-Type"]], "implicit types (command)": [[44, "coq:cmd.Implicit-Types"]], "making shadowed name of implicit argument accessible by position (warning)": [[44, "coq:warn.Making-shadowed-name-of-implicit-argument-accessible-by-position"]], "maximal implicit insertion (flag)": [[44, "coq:flag.Maximal-Implicit-Insertion"]], "not enough non implicit arguments to accept the argument bound to \u2018ident\u2019 (error)": [[44, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018ident\u2019"]], "not enough non implicit arguments to accept the argument bound to \u2018natural\u2019 (error)": [[44, "coq:exn.Not-enough-non-implicit-arguments-to-accept-the-argument-bound-to-\u2018natural\u2019"]], "parsing explicit (flag)": [[44, "coq:flag.Parsing-Explicit"]], "print implicit (command)": [[44, "coq:cmd.Print-Implicit"]], "printing implicit (flag)": [[44, "coq:flag.Printing-Implicit"]], "printing implicit defensive (flag)": [[44, "coq:flag.Printing-Implicit-Defensive"]], "printing use implicit types (flag)": [[44, "coq:flag.Printing-Use-Implicit-Types"]], "reversible pattern implicit (flag)": [[44, "coq:flag.Reversible-Pattern-Implicit"]], "strict implicit (flag)": [[44, "coq:flag.Strict-Implicit"]], "strongly strict implicit (flag)": [[44, "coq:flag.Strongly-Strict-Implicit"]], "wrong argument name (error)": [[44, "coq:exn.Wrong-argument-name"]], "wrong argument position (error)": [[44, "coq:exn.Wrong-argument-position"]], "`( )": [[44, "index-2"]], "`(! )": [[44, "index-5"]], "`[ ]": [[44, "index-1"]], "`[! ]": [[44, "index-4"]], "`{ }": [[44, "index-0"]], "`{! }": [[44, "index-3"]], "asymmetric patterns (flag)": [[46, "coq:flag.Asymmetric-Patterns"]], "either there is a type incompatibility or the problem involves dependencies (error)": [[46, "coq:exn.Either-there-is-a-type-incompatibility-or-the-problem-involves-dependencies"]], "found a constructor of inductive type term while a constructor of term is expected (error)": [[46, "coq:exn.Found-a-constructor-of-inductive-type-term-while-a-constructor-of-term-is-expected"]], "non exhaustive pattern matching (error)": [[46, "coq:exn.Non-exhaustive-pattern-matching"]], "printing allow match default clause (flag)": [[46, "coq:flag.Printing-Allow-Match-Default-Clause"]], "printing factorizable match patterns (flag)": [[46, "coq:flag.Printing-Factorizable-Match-Patterns"]], "printing if (table)": [[46, "coq:table.Printing-If"]], "printing let (table)": [[46, "coq:table.Printing-Let"]], "printing match all subterms (flag)": [[46, "coq:flag.Printing-Match-All-Subterms"]], "printing matching (flag)": [[46, "coq:flag.Printing-Matching"]], "printing synth (flag)": [[46, "coq:flag.Printing-Synth"]], "printing wildcard (flag)": [[46, "coq:flag.Printing-Wildcard"]], "the constructor \u2018ident\u2019 expects \u2018natural\u2019 arguments (error)": [[46, "coq:exn.The-constructor-\u2018ident\u2019-expects-\u2018natural\u2019-arguments"]], "the elimination predicate term should be of arity \u2018natural\u2019 (for non dependent case) or \u2018natural\u2019 (for dependent case) (error)": [[46, "coq:exn.The-elimination-predicate-term-should-be-of-arity-\u2018natural\u2019-(for-non-dependent-case)-or-\u2018natural\u2019-(for-dependent-case)"]], "the variable ident is bound several times in pattern term (error)": [[46, "coq:exn.The-variable-ident-is-bound-several-times-in-pattern-term"]], "unable to infer a match predicate (error)": [[46, "coq:exn.Unable-to-infer-a-match-predicate"]], "unused variable \u2018ident\u2019 might be a misspelled constructor. use _ or _\u2018ident\u2019 to silence this warning (warning)": [[46, "coq:warn.Unused-variable-\u2018ident\u2019-might-be-a-misspelled-constructor.-Use-_-or-_\u2018ident\u2019-to-silence-this-warning."]], "coqtop exit on error (flag)": [[51, "coq:flag.Coqtop-Exit-On-Error"]], "+ (backtracking branching) (tactic)": [[54, "coq:tacn.+-(backtracking-branching)"]], "::=": [[54, "index-0"]], "argument of match does not evaluate to a term (error)": [[54, "coq:exn.Argument-of-match-does-not-evaluate-to-a-term"]], "condition not satisfied (error)": [[54, "coq:exn.Condition-not-satisfied"]], "debug (command)": [[54, "coq:cmd.Debug"]], "debug mode not available in the ide (error)": [[54, "coq:exn.Debug-mode-not-available-in-the-IDE"]], "expression does not evaluate to a tactic (error)": [[54, "coq:exn.Expression-does-not-evaluate-to-a-tactic"]], "failed to progress (error)": [[54, "coq:exn.Failed-to-progress"]], "info (command)": [[54, "coq:cmd.Info"]], "info level (option)": [[54, "coq:opt.Info-Level"]], "ltac (command)": [[54, "coq:cmd.Ltac"]], "ltac backtrace (flag)": [[54, "coq:flag.Ltac-Backtrace"]], "ltac batch debug (flag)": [[54, "coq:flag.Ltac-Batch-Debug"]], "ltac debug (flag)": [[54, "coq:flag.Ltac-Debug"]], "ltac profiler encountered an invalid stack (no self node). this can happen if you reset the profile during tactic execution (warning)": [[54, "coq:warn.Ltac-Profiler-encountered-an-invalid-stack-(no-self-node).-This-can-happen-if-you-reset-the-profile-during-tactic-execution"]], "ltac profiling (flag)": [[54, "coq:flag.Ltac-Profiling"]], "no applicable tactic (error)": [[54, "coq:exn.No-applicable-tactic"]], "no evars (error)": [[54, "coq:exn.No-evars"]], "no matching clauses for match (error)": [[54, "coq:exn.No-matching-clauses-for-match"]], "no matching clauses for match goal (error)": [[54, "coq:exn.No-matching-clauses-for-match-goal"]], "no such goal. (goal selector) (error)": [[54, "coq:exn.No-such-goal.-(Goal-selector)"]], "no such goal. (fail) (error)": [[54, "coq:exn.No-such-goal.-(fail)"]], "not a context variable (error)": [[54, "coq:exn.Not-a-context-variable"]], "not a variable or hypothesis (error)": [[54, "coq:exn.Not-a-variable-or-hypothesis"]], "not an evar (error)": [[54, "coq:exn.Not-an-evar"]], "not equal (due to universes) (error)": [[54, "coq:exn.Not-equal-(due-to-universes)"]], "not equal (error)": [[54, "coq:exn.Not-equal"]], "not ground (error)": [[54, "coq:exn.Not-ground"]], "print ltac (command)": [[54, "coq:cmd.Print-Ltac"]], "print ltac signatures (command)": [[54, "coq:cmd.Print-Ltac-Signatures"]], "reset ltac profile (command)": [[54, "coq:cmd.Reset-Ltac-Profile"]], "show ltac profile (command)": [[54, "coq:cmd.Show-Ltac-Profile"]], "tactic failure (error)": [[54, "coq:exn.Tactic-failure"]], "tactic failure (level \u2018natural\u2019) (error)": [[54, "coq:exn.Tactic-failure-(level-\u2018natural\u2019)"]], "tactic failure: succeeds (error)": [[54, "coq:exn.Tactic-failure:--succeeds"]], "there is already an ltac named \u2018qualid\u2019 (error)": [[54, "coq:exn.There-is-already-an-Ltac-named-\u2018qualid\u2019"]], "there is no ltac named \u2018qualid\u2019 (error)": [[54, "coq:exn.There-is-no-Ltac-named-\u2018qualid\u2019"]], "this tactic has more than one success (error)": [[54, "coq:exn.This-tactic-has-more-than-one-success"]], "unbound context identifier \u2018ident\u2019 (error)": [[54, "coq:exn.Unbound-context-identifier-\u2018ident\u2019"]], "[ \u2026 | \u2026 | \u2026 ] (dispatch) (tactic)": [[54, "coq:tacn.[-\u2026-|-\u2026-|-\u2026-]-(dispatch)"]], "[> \u2026 | \u2026 | \u2026 ] (dispatch) (tactic)": [[54, "coq:tacn.[>-\u2026-|-\u2026-|-\u2026-]-(dispatch)"]], "assert_fails (tactic)": [[54, "coq:tacn.assert_fails"]], "assert_succeeds (tactic)": [[54, "coq:tacn.assert_succeeds"]], "constr_eq (tactic)": [[54, "coq:tacn.constr_eq"]], "constr_eq_nounivs (tactic)": [[54, "coq:tacn.constr_eq_nounivs"]], "constr_eq_strict (tactic)": [[54, "coq:tacn.constr_eq_strict"]], "context (tactic)": [[54, "coq:tacn.context"]], "convert (tactic)": [[54, "coq:tacn.convert"]], "do (tactic)": [[54, "coq:tacn.do"]], "exactly_once (tactic)": [[54, "coq:tacn.exactly_once"]], "fail (tactic)": [[54, "coq:tacn.fail"]], "finish_timing (tactic)": [[54, "coq:tacn.finish_timing"]], "first (tactic)": [[54, "coq:tacn.first"]], "fresh (tactic)": [[54, "coq:tacn.fresh"]], "fun (tactic)": [[54, "coq:tacn.fun"]], "gfail (tactic)": [[54, "coq:tacn.gfail"]], "guard (tactic)": [[54, "coq:tacn.guard"]], "has_evar (tactic)": [[54, "coq:tacn.has_evar"]], "idtac (tactic)": [[54, "coq:tacn.idtac"]], "infoh (command)": [[54, "coq:cmd.infoH"]], "is_cofix (tactic)": [[54, "coq:tacn.is_cofix"]], "is_const (tactic)": [[54, "coq:tacn.is_const"]], "is_constructor (tactic)": [[54, "coq:tacn.is_constructor"]], "is_evar (tactic)": [[54, "coq:tacn.is_evar"]], "is_fix (tactic)": [[54, "coq:tacn.is_fix"]], "is_ground (tactic)": [[54, "coq:tacn.is_ground"]], "is_ind (tactic)": [[54, "coq:tacn.is_ind"]], "is_proj (tactic)": [[54, "coq:tacn.is_proj"]], "is_var (tactic)": [[54, "coq:tacn.is_var"]], "lazymatch (tactic)": [[54, "coq:tacn.lazymatch"]], "lazymatch goal (tactic)": [[54, "coq:tacn.lazymatch-goal"]], "let (tactic)": [[54, "coq:tacn.let"]], "ltac-seq (tactic)": [[54, "coq:tacn.ltac-seq"]], "match (tactic)": [[54, "coq:tacn.match"]], "match goal (tactic)": [[54, "coq:tacn.match-goal"]], "multimatch (tactic)": [[54, "coq:tacn.multimatch"]], "multimatch goal (tactic)": [[54, "coq:tacn.multimatch-goal"]], "not a cofix definition (error)": [[54, "coq:exn.not-a-cofix-definition"]], "not a constant (error)": [[54, "coq:exn.not-a-constant"]], "not a constructor (error)": [[54, "coq:exn.not-a-constructor"]], "not a fix definition (error)": [[54, "coq:exn.not-a-fix-definition"]], "not a primitive projection (error)": [[54, "coq:exn.not-a-primitive-projection"]], "not an (co)inductive datatype (error)": [[54, "coq:exn.not-an-(co)inductive-datatype"]], "not_evar (tactic)": [[54, "coq:tacn.not_evar"]], "numgoals (tactic)": [[54, "coq:tacn.numgoals"]], "once (tactic)": [[54, "coq:tacn.once"]], "only (tactic)": [[54, "coq:tacn.only"]], "optimize_heap (tactic)": [[54, "coq:tacn.optimize_heap"]], "progress (tactic)": [[54, "coq:tacn.progress"]], "repeat (tactic)": [[54, "coq:tacn.repeat"]], "reset ltac profile (tactic)": [[54, "coq:tacn.reset-ltac-profile"]], "restart_timer (tactic)": [[54, "coq:tacn.restart_timer"]], "show ltac profile (tactic)": [[54, "coq:tacn.show-ltac-profile"]], "solve (tactic)": [[54, "coq:tacn.solve"]], "start ltac profiling (tactic)": [[54, "coq:tacn.start-ltac-profiling"]], "stop ltac profiling (tactic)": [[54, "coq:tacn.stop-ltac-profiling"]], "time (tactic)": [[54, "coq:tacn.time"]], "time_constr (tactic)": [[54, "coq:tacn.time_constr"]], "timeout (tactic)": [[54, "coq:tacn.timeout"]], "try (tactic)": [[54, "coq:tacn.try"]], "tryif (tactic)": [[54, "coq:tacn.tryif"]], "type of (tactic)": [[54, "coq:tacn.type-of"]], "type_term (tactic)": [[54, "coq:tacn.type_term"]], "unify (tactic)": [[54, "coq:tacn.unify"]], "|| (first tactic making progress) (tactic)": [[54, "coq:tacn.||-(first-tactic-making-progress)"]], "\u2026 : \u2026 (goal selector) (tactic)": [[54, "coq:tacn.\u2026-:-\u2026-(goal-selector)"]], "ltac2 (command)": [[55, "coq:cmd.Ltac2"]], "ltac2 backtrace (flag)": [[55, "coq:flag.Ltac2-Backtrace"]], "ltac2 check (command)": [[55, "coq:cmd.Ltac2-Check"]], "ltac2 eval (command)": [[55, "coq:cmd.Ltac2-Eval"]], "ltac2 globalize (command)": [[55, "coq:cmd.Ltac2-Globalize"]], "ltac2 in ltac1 profiling (flag)": [[55, "coq:flag.Ltac2-In-Ltac1-Profiling"]], "ltac2 notation (abbreviation) (command)": [[55, "coq:cmd.Ltac2-Notation-(abbreviation)"]], "ltac2 notation (command)": [[55, "coq:cmd.Ltac2-Notation"]], "ltac2 set (command)": [[55, "coq:cmd.Ltac2-Set"]], "ltac2 type (command)": [[55, "coq:cmd.Ltac2-Type"]], "ltac2 typed notations (flag)": [[55, "coq:flag.Ltac2-Typed-Notations"]], "ltac2 external (command)": [[55, "coq:cmd.Ltac2-external"]], "notation levels must range between 0 and 6 (error)": [[55, "coq:exn.Notation-levels-must-range-between-0-and-6"]], "print ltac2 (command)": [[55, "coq:cmd.Print-Ltac2"]], "print ltac2 signatures (command)": [[55, "coq:cmd.Print-Ltac2-Signatures"]], "print ltac2 type (command)": [[55, "coq:cmd.Print-Ltac2-Type"]], "the reference x was not found in the current environment (error)": [[55, "coq:exn.The-reference-X-was-not-found-in-the-current-environment"]], "unbound [value|constructor] x (error)": [[55, "coq:exn.Unbound-[value|constructor]-X"]], "abstract (attribute)": [[55, "coq:attr.abstract"]], "if-then-else (ltac2) (tactic)": [[55, "coq:tacn.if-then-else-(Ltac2)"]], "lazy_match! (tactic)": [[55, "coq:tacn.lazy_match!"]], "lazy_match! goal (tactic)": [[55, "coq:tacn.lazy_match!-goal"]], "match (ltac2) (tactic)": [[55, "coq:tacn.match-(Ltac2)"]], "match! (tactic)": [[55, "coq:tacn.match!"]], "match! goal (tactic)": [[55, "coq:tacn.match!-goal"]], "multi_match! (tactic)": [[55, "coq:tacn.multi_match!"]], "multi_match! goal (tactic)": [[55, "coq:tacn.multi_match!-goal"]], "=> (tactic)": [[57, "coq:tacn.=>"]], "debug ssrmatching (flag)": [[57, "coq:flag.Debug-SsrMatching"]], "debug ssreflect (flag)": [[57, "coq:flag.Debug-Ssreflect"]], "duplicate clear of h. use { }h instead of { h }h (warning)": [[57, "coq:warn.Duplicate-clear-of-H.-Use-{-}H-instead-of-{-H-}H"]], "hint view for (command)": [[57, "coq:cmd.Hint-View-for"]], "hint view for apply (command)": [[57, "coq:cmd.Hint-View-for-apply"]], "hint view for move (command)": [[57, "coq:cmd.Hint-View-for-move"]], "incorrect number of tactics (expected n tactics, was given m) (error)": [[57, "coq:exn.Incorrect-number-of-tactics-(expected-N-tactics,-was-given-M)"]], "prenex implicits (command)": [[57, "coq:cmd.Prenex-Implicits"]], "ssreflect: cannot obtain new equations out of ... (warning)": [[57, "coq:warn.SSReflect:-cannot-obtain-new-equations-out-of-..."]], "ssrhave notcresolution (flag)": [[57, "coq:flag.SsrHave-NoTCResolution"]], "ssridents (flag)": [[57, "coq:flag.SsrIdents"]], "ssroldrewritegoalsorder (flag)": [[57, "coq:flag.SsrOldRewriteGoalsOrder"]], "ssrrewrite (flag)": [[57, "coq:flag.SsrRewrite"]], "abstract (ssreflect) (tactic)": [[57, "coq:tacn.abstract-(ssreflect)"]], "apply (ssreflect) (tactic)": [[57, "coq:tacn.apply-(ssreflect)"]], "by (tactic)": [[57, "coq:tacn.by"]], "case (ssreflect) (tactic)": [[57, "coq:tacn.case-(ssreflect)"]], "congr (tactic)": [[57, "coq:tacn.congr"]], "do (ssreflect) (tactic)": [[57, "coq:tacn.do-(ssreflect)"]], "done (tactic)": [[57, "coq:tacn.done"]], "elim (ssreflect) (tactic)": [[57, "coq:tacn.elim-(ssreflect)"]], "exact (ssreflect) (tactic)": [[57, "coq:tacn.exact-(ssreflect)"]], "first (ssreflect) (tactic)": [[57, "coq:tacn.first-(ssreflect)"]], "first last (tactic variant)": [[57, "coq:tacv.first-last"]], "generally have (tactic)": [[57, "coq:tacn.generally-have"]], "have (tactic)": [[57, "coq:tacn.have"]], "in (tactic)": [[57, "coq:tacn.in"]], "last (tactic)": [[57, "coq:tacn.last"]], "last first (tactic variant)": [[57, "coq:tacv.last-first"]], "move (ssreflect) (tactic)": [[57, "coq:tacn.move-(ssreflect)"]], "over (tactic)": [[57, "coq:tacn.over"]], "pose (ssreflect) (tactic)": [[57, "coq:tacn.pose-(ssreflect)"]], "rewrite (ssreflect) (tactic)": [[57, "coq:tacn.rewrite-(ssreflect)"]], "set (ssreflect) (tactic)": [[57, "coq:tacn.set-(ssreflect)"]], "suff (tactic)": [[57, "coq:tacn.suff"]], "suffices (tactic)": [[57, "coq:tacn.suffices"]], "under (tactic)": [[57, "coq:tacn.under"]], "unlock (tactic)": [[57, "coq:tacn.unlock"]], "without loss (tactic)": [[57, "coq:tacn.without-loss"]], "wlog (tactic)": [[57, "coq:tacn.wlog"]], "\u2026 : \u2026 (ssreflect) (tactic)": [[57, "coq:tacn.\u2026-:-\u2026-(ssreflect)"]], "cannot change \u2018ident\u2019, it is used in conclusion (error)": [[58, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-conclusion"]], "cannot change \u2018ident\u2019, it is used in hypothesis \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-change-\u2018ident\u2019,-it-is-used-in-hypothesis-\u2018ident\u2019"]], "cannot infer a term for this placeholder. (refine) (error)": [[58, "coq:exn.Cannot-infer-a-term-for-this-placeholder.-(refine)"]], "cannot move \u2018ident\u2019 after \u2018ident\u2019: it depends on \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-depends-on-\u2018ident\u2019"]], "cannot move \u2018ident\u2019 after \u2018ident\u2019: it occurs in the type of \u2018ident\u2019 (error)": [[58, "coq:exn.Cannot-move-\u2018ident\u2019-after-\u2018ident\u2019:-it-occurs-in-the-type-of-\u2018ident\u2019"]], "default goal selector (option)": [[58, "coq:opt.Default-Goal-Selector"]], "no product even after head-reduction (error)": [[58, "coq:exn.No-product-even-after-head-reduction"]], "no quantified hypothesis named \u2018ident\u2019 in current goal even after head-reduction (error)": [[58, "coq:exn.No-quantified-hypothesis-named-\u2018ident\u2019-in-current-goal-even-after-head-reduction"]], "no such assumption (error)": [[58, "coq:exn.No-such-assumption"]], "no such binder (error)": [[58, "coq:exn.No-such-binder"]], "no such bound variable \u2018ident\u2019 (no bound variables at all in the expression) (error)": [[58, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(no-bound-variables-at-all-in-the-expression)"]], "no such bound variable \u2018ident\u2019 (possible names are: \u2018ident\u2019 ...) (error)": [[58, "coq:exn.No-such-bound-variable-\u2018ident\u2019-(possible-names-are:-\u2018ident\u2019-...)"]], "no such hypothesis: \u2018ident\u2019 (error)": [[58, "coq:exn.No-such-hypothesis:-\u2018ident\u2019"]], "no \u2018natural\u2019-th non dependent hypothesis in current goal even after head-reduction (error)": [[58, "coq:exn.No-\u2018natural\u2019-th-non-dependent-hypothesis-in-current-goal-even-after-head-reduction"]], "not an exact proof (error)": [[58, "coq:exn.Not-an-exact-proof"]], "not the right number of missing arguments (expected \u2018natural\u2019) (error)": [[58, "coq:exn.Not-the-right-number-of-missing-arguments-(expected-\u2018natural\u2019)"]], "proof is not complete. (assert) (error)": [[58, "coq:exn.Proof-is-not-complete.-(assert)"]], "the term \"\u2018type\u2019\" has type \"\u2018type\u2019\" which should be set, prop or type (error)": [[58, "coq:exn.The-term-\"\u2018type\u2019\"-has-type-\"\u2018type\u2019\"-which-should-be-Set,-Prop-or-Type"]], "the variable \u2018ident\u2019 is already declared (error)": [[58, "coq:exn.The-variable-\u2018ident\u2019-is-already-declared"]], "unable to apply lemma of type \"...\" on hypothesis of type \"...\" (error)": [[58, "coq:exn.Unable-to-apply-lemma-of-type-\"...\"-on-hypothesis-of-type-\"...\""]], "unable to find an instance for the variables \u2018ident\u2019\u2026\u2018ident\u2019 (error)": [[58, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019\u2026\u2018ident\u2019"]], "unable to unify \u2018one_term\u2019 with \u2018one_term\u2019 (error)": [[58, "coq:exn.Unable-to-unify-\u2018one_term\u2019-with-\u2018one_term\u2019"]], "absurd (tactic)": [[58, "coq:tacn.absurd"]], "apply (tactic)": [[58, "coq:tacn.apply"]], "assert (tactic)": [[58, "coq:tacn.assert"]], "assumption (tactic)": [[58, "coq:tacn.assumption"]], "classical_left (tactic)": [[58, "coq:tacn.classical_left"]], "classical_right (tactic)": [[58, "coq:tacn.classical_right"]], "clear (tactic)": [[58, "coq:tacn.clear"]], "clear dependent (tactic)": [[58, "coq:tacn.clear-dependent"]], "clearbody (tactic)": [[58, "coq:tacn.clearbody"]], "contradict (tactic)": [[58, "coq:tacn.contradict"]], "contradiction (tactic)": [[58, "coq:tacn.contradiction"]], "cut (tactic)": [[58, "coq:tacn.cut"]], "dependent generalize_eqs (tactic)": [[58, "coq:tacn.dependent-generalize_eqs"]], "dependent generalize_eqs_vars (tactic)": [[58, "coq:tacn.dependent-generalize_eqs_vars"]], "eapply (tactic)": [[58, "coq:tacn.eapply"]], "eassert (tactic)": [[58, "coq:tacn.eassert"]], "eassumption (tactic)": [[58, "coq:tacn.eassumption"]], "eenough (tactic)": [[58, "coq:tacn.eenough"]], "eexact (tactic)": [[58, "coq:tacn.eexact"]], "eintros (tactic)": [[58, "coq:tacn.eintros"]], "enough (tactic)": [[58, "coq:tacn.enough"]], "epose (tactic)": [[58, "coq:tacn.epose"]], "epose proof (tactic)": [[58, "coq:tacn.epose-proof"]], "eremember (tactic)": [[58, "coq:tacn.eremember"]], "eset (tactic)": [[58, "coq:tacn.eset"]], "evar (tactic)": [[58, "coq:tacn.evar"]], "exact (tactic)": [[58, "coq:tacn.exact"]], "exact_no_check (tactic)": [[58, "coq:tacn.exact_no_check"]], "exfalso (tactic)": [[58, "coq:tacn.exfalso"]], "generalize (tactic)": [[58, "coq:tacn.generalize"]], "generalize dependent (tactic)": [[58, "coq:tacn.generalize-dependent"]], "generalize_eqs (tactic)": [[58, "coq:tacn.generalize_eqs"]], "generalize_eqs_vars (tactic)": [[58, "coq:tacn.generalize_eqs_vars"]], "instantiate (tactic)": [[58, "coq:tacn.instantiate"]], "intro (tactic)": [[58, "coq:tacn.intro"]], "intros (tactic)": [[58, "coq:tacn.intros"]], "intros until (tactic)": [[58, "coq:tacn.intros-until"]], "lapply (tactic)": [[58, "coq:tacn.lapply"]], "lapply needs a non-dependent product (error)": [[58, "coq:exn.lapply-needs-a-non-dependent-product"]], "move (tactic)": [[58, "coq:tacn.move"]], "native_cast_no_check (tactic)": [[58, "coq:tacn.native_cast_no_check"]], "pose (tactic)": [[58, "coq:tacn.pose"]], "pose proof (tactic)": [[58, "coq:tacn.pose-proof"]], "rapply (tactic)": [[58, "coq:tacn.rapply"]], "refine (tactic)": [[58, "coq:tacn.refine"]], "remember (tactic)": [[58, "coq:tacn.remember"]], "rename (tactic)": [[58, "coq:tacn.rename"]], "revert (tactic)": [[58, "coq:tacn.revert"]], "revert dependent (tactic)": [[58, "coq:tacn.revert-dependent"]], "set (tactic)": [[58, "coq:tacn.set"]], "simple apply (tactic)": [[58, "coq:tacn.simple-apply"]], "simple eapply (tactic)": [[58, "coq:tacn.simple-eapply"]], "specialize (tactic)": [[58, "coq:tacn.specialize"]], "specialize_eqs (tactic)": [[58, "coq:tacn.specialize_eqs"]], "vm_cast_no_check (tactic)": [[58, "coq:tacn.vm_cast_no_check"]], "\u2018ident\u2019 is already used (error)": [[58, "coq:exn.\u2018ident\u2019-is-already-used"]], "\u2018ident\u2019 is not a local definition (error)": [[58, "coq:exn.\u2018ident\u2019-is-not-a-local-definition"]], "\u2018ident\u2019 is used in the conclusion (error)": [[58, "coq:exn.\u2018ident\u2019-is-used-in-the-conclusion"]], "\u2018ident\u2019 is used in the hypothesis \u2018ident\u2019 (error)": [[58, "coq:exn.\u2018ident\u2019-is-used-in-the-hypothesis-\u2018ident\u2019"]], "about (command)": [[59, "coq:cmd.About"]], "back (command)": [[59, "coq:cmd.Back"]], "backto (command)": [[59, "coq:cmd.BackTo"]], "bad magic number (error)": [[59, "coq:exn.Bad-magic-number"]], "cannot find library foo in loadpath (error)": [[59, "coq:exn.Cannot-find-library-foo-in-loadpath"]], "cannot load \u2018qualid\u2019: no physical path bound to \u2018dirpath\u2019 (error)": [[59, "coq:exn.Cannot-load-\u2018qualid\u2019:-no-physical-path-bound-to-\u2018dirpath\u2019"]], "can\u2019t find file \u2018ident\u2019 on loadpath (error)": [[59, "coq:exn.Can\u2019t-find-file-\u2018ident\u2019-on-loadpath"]], "check (command)": [[59, "coq:cmd.Check"]], "compiled library \u2018ident\u2019.vo makes inconsistent assumptions over library \u2018qualid\u2019 (error)": [[59, "coq:exn.Compiled-library-\u2018ident\u2019.vo-makes-inconsistent-assumptions-over-library-\u2018qualid\u2019"]], "debug (option)": [[59, "coq:opt.Debug"]], "declare ml module (command)": [[59, "coq:cmd.Declare-ML-Module"]], "default timeout (option)": [[59, "coq:opt.Default-Timeout"]], "drop (command)": [[59, "coq:cmd.Drop"]], "dynlink error: execution of module initializers in the (error)": [[59, "coq:exn.Dynlink-error:-execution-of-module-initializers-in-the"]], "fail (command)": [[59, "coq:cmd.Fail"]], "fast name printing (flag)": [[59, "coq:flag.Fast-Name-Printing"]], "file ... found twice in ... (warning)": [[59, "coq:warn.File-...-found-twice-in-..."]], "file not found on loadpath: \u2018string\u2019 (error)": [[59, "coq:exn.File-not-found-on-loadpath:-\u2018string\u2019"]], "files processed by load cannot leave open proofs (error)": [[59, "coq:exn.Files-processed-by-Load-cannot-leave-open-proofs"]], "from \u2026 dependency (command)": [[59, "coq:cmd.From-\u2026-Dependency"]], "from \u2026 require (command)": [[59, "coq:cmd.From-\u2026-Require"]], "guard checking (flag)": [[59, "coq:flag.Guard-Checking"]], "inspect (command)": [[59, "coq:cmd.Inspect"]], "instructions (command)": [[59, "coq:cmd.Instructions"]], "invalid backtrack (error)": [[59, "coq:exn.Invalid-backtrack"]], "load (command)": [[59, "coq:cmd.Load"]], "load is not supported inside proofs (error)": [[59, "coq:exn.Load-is-not-supported-inside-proofs"]], "locate (command)": [[59, "coq:cmd.Locate"]], "locate file (command)": [[59, "coq:cmd.Locate-File"]], "locate library (command)": [[59, "coq:cmd.Locate-Library"]], "locate ltac (command)": [[59, "coq:cmd.Locate-Ltac"]], "locate ltac2 (command)": [[59, "coq:cmd.Locate-Ltac2"]], "locate module (command)": [[59, "coq:cmd.Locate-Module"]], "locate term (command)": [[59, "coq:cmd.Locate-Term"]], "module/section \u2018qualid\u2019 not found (error)": [[59, "coq:exn.Module/section-\u2018qualid\u2019-not-found"]], "positivity checking (flag)": [[59, "coq:flag.Positivity-Checking"]], "primitive (command)": [[59, "coq:cmd.Primitive"]], "print (command)": [[59, "coq:cmd.Print"]], "print all (command)": [[59, "coq:cmd.Print-All"]], "print all dependencies (command)": [[59, "coq:cmd.Print-All-Dependencies"]], "print assumptions (command)": [[59, "coq:cmd.Print-Assumptions"]], "print libraries (command)": [[59, "coq:cmd.Print-Libraries"]], "print loadpath (command)": [[59, "coq:cmd.Print-LoadPath"]], "print ml modules (command)": [[59, "coq:cmd.Print-ML-Modules"]], "print ml path (command)": [[59, "coq:cmd.Print-ML-Path"]], "print opaque dependencies (command)": [[59, "coq:cmd.Print-Opaque-Dependencies"]], "print registered (command)": [[59, "coq:cmd.Print-Registered"]], "print registered schemes (command)": [[59, "coq:cmd.Print-Registered-Schemes"]], "print section (command)": [[59, "coq:cmd.Print-Section"]], "print transparent dependencies (command)": [[59, "coq:cmd.Print-Transparent-Dependencies"]], "print typing flags (command)": [[59, "coq:cmd.Print-Typing-Flags"]], "printing all (flag)": [[59, "coq:flag.Printing-All"]], "printing compact contexts (flag)": [[59, "coq:flag.Printing-Compact-Contexts"]], "printing dependent evars line (flag)": [[59, "coq:flag.Printing-Dependent-Evars-Line"]], "printing depth (option)": [[59, "coq:opt.Printing-Depth"]], "printing unfocused (flag)": [[59, "coq:flag.Printing-Unfocused"]], "printing width (option)": [[59, "coq:opt.Printing-Width"]], "profile (command)": [[59, "coq:cmd.Profile"]], "quit (command)": [[59, "coq:cmd.Quit"]], "redirect (command)": [[59, "coq:cmd.Redirect"]], "register (command)": [[59, "coq:cmd.Register"]], "register inline (command)": [[59, "coq:cmd.Register-Inline"]], "register scheme (command)": [[59, "coq:cmd.Register-Scheme"]], "require (command)": [[59, "coq:cmd.Require"]], "require export (command)": [[59, "coq:cmd.Require-Export"]], "require import (command)": [[59, "coq:cmd.Require-Import"]], "require inside a module is deprecated and strongly discouraged. you can require a module at toplevel and optionally import it inside another one (warning)": [[59, "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"]], "required library \u2018qualid\u2019 matches several files in path (found file.vo, file.vo, ...) (error)": [[59, "coq:exn.Required-library-\u2018qualid\u2019-matches-several-files-in-path-(found-file.vo,-file.vo,-...)"]], "reset (command)": [[59, "coq:cmd.Reset"]], "reset initial (command)": [[59, "coq:cmd.Reset-Initial"]], "search (command)": [[59, "coq:cmd.Search"]], "search blacklist (table)": [[59, "coq:table.Search-Blacklist"]], "search output name only (flag)": [[59, "coq:flag.Search-Output-Name-Only"]], "searchpattern (command)": [[59, "coq:cmd.SearchPattern"]], "searchrewrite (command)": [[59, "coq:cmd.SearchRewrite"]], "silent (flag)": [[59, "coq:flag.Silent"]], "succeed (command)": [[59, "coq:cmd.Succeed"]], "the command has not failed! (error)": [[59, "coq:exn.The-command-has-not-failed!"]], "the file \u2018ident\u2019.vo contains library \u2018qualid\u2019 and not library \u2018qualid\u2019 (error)": [[59, "coq:exn.The-file-\u2018ident\u2019.vo-contains-library-\u2018qualid\u2019-and-not-library-\u2018qualid\u2019"]], "the type \u2018ident\u2019 must be registered before this construction can be typechecked (error)": [[59, "coq:exn.The-type-\u2018ident\u2019-must-be-registered-before-this-construction-can-be-typechecked"]], "this object does not support universe names (error)": [[59, "coq:exn.This-object-does-not-support-universe-names"]], "time (command)": [[59, "coq:cmd.Time"]], "timeout (command)": [[59, "coq:cmd.Timeout"]], "type (command)": [[59, "coq:cmd.Type"]], "universe checking (flag)": [[59, "coq:flag.Universe-Checking"]], "universe instance length is \u2018natural\u2019 but should be \u2018natural\u2019 (error)": [[59, "coq:exn.Universe-instance-length-is-\u2018natural\u2019-but-should-be-\u2018natural\u2019"]], "warnings (option)": [[59, "coq:opt.Warnings"]], "bypass_check(guard) (attribute)": [[59, "coq:attr.bypass_check(guard)"]], "bypass_check(positivity) (attribute)": [[59, "coq:attr.bypass_check(positivity)"]], "bypass_check(universes) (attribute)": [[59, "coq:attr.bypass_check(universes)"]], "package-name.foo and not foo_plugin (error)": [[59, "coq:exn.package-name.foo-and-not-foo_plugin"]], "plugin name anymore. plugins should be loaded using their (error)": [[59, "coq:exn.plugin-name-anymore.-Plugins-should-be-loaded-using-their"]], "public name according to findlib, for example (error)": [[59, "coq:exn.public-name-according-to-findlib,-for-example"]], "shared library failed: coq error: \u2018string\u2019 is not a valid (error)": [[59, "coq:exn.shared-library-failed:-Coq-Error:-\u2018string\u2019-is-not-a-valid"]], "\u2018qualid\u2019 not a defined object (error)": [[59, "coq:exn.\u2018qualid\u2019-not-a-defined-object"]], "cannot coerce \u2018qualid\u2019 to an evaluable reference (error)": [[60, "coq:exn.Cannot-coerce-\u2018qualid\u2019-to-an-evaluable-reference"]], "create hintdb (command)": [[60, "coq:cmd.Create-HintDb"]], "debug auto (flag)": [[60, "coq:flag.Debug-Auto"]], "debug eauto (flag)": [[60, "coq:flag.Debug-Eauto"]], "debug trivial (flag)": [[60, "coq:flag.Debug-Trivial"]], "declaring arbitrary terms as hints is fragile and deprecated": [[60, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead"]], "hint constants (command)": [[60, "coq:cmd.Hint-Constants"]], "hint constructors (command)": [[60, "coq:cmd.Hint-Constructors"]], "hint cut (command)": [[60, "coq:cmd.Hint-Cut"]], "hint extern (command)": [[60, "coq:cmd.Hint-Extern"]], "hint immediate (command)": [[60, "coq:cmd.Hint-Immediate"]], "hint mode (command)": [[60, "coq:cmd.Hint-Mode"]], "hint opaque (command)": [[60, "coq:cmd.Hint-Opaque"]], "hint projections (command)": [[60, "coq:cmd.Hint-Projections"]], "hint resolve (command)": [[60, "coq:cmd.Hint-Resolve"]], "hint rewrite (command)": [[60, "coq:cmd.Hint-Rewrite"]], "hint transparent (command)": [[60, "coq:cmd.Hint-Transparent"]], "hint unfold (command)": [[60, "coq:cmd.Hint-Unfold"]], "hint variables (command)": [[60, "coq:cmd.Hint-Variables"]], "info auto (flag)": [[60, "coq:flag.Info-Auto"]], "info eauto (flag)": [[60, "coq:flag.Info-Eauto"]], "info trivial (flag)": [[60, "coq:flag.Info-Trivial"]], "loose hint behavior (option)": [[60, "coq:opt.Loose-Hint-Behavior"]], "print hint (command)": [[60, "coq:cmd.Print-Hint"]], "print hintdb (command)": [[60, "coq:cmd.Print-HintDb"]], "print rewrite hintdb (command)": [[60, "coq:cmd.Print-Rewrite-HintDb"]], "proof with (command)": [[60, "coq:cmd.Proof-with"]], "remove hints (command)": [[60, "coq:cmd.Remove-Hints"]], "the \"at\" syntax isn't available yet for the autorewrite tactic (error)": [[60, "coq:exn.The-\"at\"-syntax-isn't-available-yet-for-the-autorewrite-tactic"]], "this hint is not local but depends on a section variable. it will disappear when the section is closed (warning)": [[60, "coq:warn.This-hint-is-not-local-but-depends-on-a-section-variable.-It-will-disappear-when-the-section-is-closed"]], "auto (tactic)": [[60, "coq:tacn.auto"]], "autorewrite (tactic)": [[60, "coq:tacn.autorewrite"]], "autounfold (tactic)": [[60, "coq:tacn.autounfold"]], "autounfold_one (tactic)": [[60, "coq:tacn.autounfold_one"]], "debug auto (tactic)": [[60, "coq:tacn.debug-auto"]], "debug eauto (tactic)": [[60, "coq:tacn.debug-eauto"]], "debug trivial (tactic)": [[60, "coq:tacn.debug-trivial"]], "easy (tactic)": [[60, "coq:tacn.easy"]], "eauto (tactic)": [[60, "coq:tacn.eauto"]], "info_auto (tactic)": [[60, "coq:tacn.info_auto"]], "info_eauto (tactic)": [[60, "coq:tacn.info_eauto"]], "info_trivial (tactic)": [[60, "coq:tacn.info_trivial"]], "it is recommended to declare a toplevel constant instead (warning)": [[60, "coq:warn.Declaring-arbitrary-terms-as-hints-is-fragile-and-deprecated;-it-is-recommended-to-declare-a-toplevel-constant-instead"]], "mismatched-hint-db (warning)": [[60, "coq:warn.mismatched-hint-db"]], "now (tactic)": [[60, "coq:tacn.now"]], "trivial (tactic)": [[60, "coq:tacn.trivial"]], "\u2018qualid\u2019 cannot be used as a hint (error)": [[60, "coq:exn.\u2018qualid\u2019-cannot-be-used-as-a-hint"]], "\u2018qualid\u2019 is not an inductive type (error)": [[60, "coq:exn.\u2018qualid\u2019-is-not-an-inductive-type"]], "cannot recognize a boolean equality (error)": [[62, "coq:exn.Cannot-recognize-a-boolean-equality"]], "firstorder depth (option)": [[62, "coq:opt.Firstorder-Depth"]], "firstorder solver (option)": [[62, "coq:opt.Firstorder-Solver"]], "goal is solvable by congruence but some arguments are missing. try congruence with \u2018term\u2019\u2026\u2018term\u2019, replacing metavariables by arbitrary terms (error)": [[62, "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"]], "i don\u2019t know how to handle dependent equality (error)": [[62, "coq:exn.I-don\u2019t-know-how-to-handle-dependent-equality"]], "intuition negation unfolding (flag)": [[62, "coq:flag.Intuition-Negation-Unfolding"]], "print firstorder solver (command)": [[62, "coq:cmd.Print-Firstorder-Solver"]], "btauto (tactic)": [[62, "coq:tacn.btauto"]], "congruence (tactic)": [[62, "coq:tacn.congruence"]], "dintuition (tactic)": [[62, "coq:tacn.dintuition"]], "dtauto (tactic)": [[62, "coq:tacn.dtauto"]], "firstorder (tactic)": [[62, "coq:tacn.firstorder"]], "intuition (tactic)": [[62, "coq:tacn.intuition"]], "rtauto (tactic)": [[62, "coq:tacn.rtauto"]], "simple congruence (tactic)": [[62, "coq:tacn.simple-congruence"]], "tauto (tactic)": [[62, "coq:tacn.tauto"]], "bad occurrence number of \u2018qualid\u2019 (error)": [[64, "coq:exn.Bad-occurrence-number-of-\u2018qualid\u2019"]], "cannot find a relation to rewrite (error)": [[64, "coq:exn.Cannot-find-a-relation-to-rewrite"]], "cannot find any non-recursive equality over \u2018ident\u2019 (error)": [[64, "coq:exn.Cannot-find-any-non-recursive-equality-over-\u2018ident\u2019"]], "cannot turn [inductive|constructor] into an evaluable reference (error)": [[64, "coq:exn.Cannot-turn-[inductive|constructor]-into-an-evaluable-reference"]], "compute (command)": [[64, "coq:cmd.Compute"]], "declare equivalent keys (command)": [[64, "coq:cmd.Declare-Equivalent-Keys"]], "declare left step (command)": [[64, "coq:cmd.Declare-Left-Step"]], "declare reduction (command)": [[64, "coq:cmd.Declare-Reduction"]], "declare right step (command)": [[64, "coq:cmd.Declare-Right-Step"]], "eval (command)": [[64, "coq:cmd.Eval"]], "found an \"at\" clause without \"with\" clause (error)": [[64, "coq:exn.Found-an-\"at\"-clause-without-\"with\"-clause"]], "found no subterm matching \u2018term\u2019 in the current goal (error)": [[64, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-the-current-goal"]], "found no subterm matching \u2018term\u2019 in \u2018ident\u2019 (error)": [[64, "coq:exn.Found-no-subterm-matching-\u2018term\u2019-in-\u2018ident\u2019"]], "kernel term sharing (flag)": [[64, "coq:flag.Kernel-Term-Sharing"]], "keyed unification (flag)": [[64, "coq:flag.Keyed-Unification"]], "nativecompute profile filename (option)": [[64, "coq:opt.NativeCompute-Profile-Filename"]], "nativecompute profiling (flag)": [[64, "coq:flag.NativeCompute-Profiling"]], "nativecompute timing (flag)": [[64, "coq:flag.NativeCompute-Timing"]], "no head constant to reduce (error)": [[64, "coq:exn.No-head-constant-to-reduce"]], "not convertible (error)": [[64, "coq:exn.Not-convertible"]], "opaque (command)": [[64, "coq:cmd.Opaque"]], "print equivalent keys (command)": [[64, "coq:cmd.Print-Equivalent-Keys"]], "print strategies (command)": [[64, "coq:cmd.Print-Strategies"]], "print strategy (command)": [[64, "coq:cmd.Print-Strategy"]], "regular subst tactic (flag)": [[64, "coq:flag.Regular-Subst-Tactic"]], "section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in hypothesis \u2018ident\u2019 (error)": [[64, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-hypothesis-\u2018ident\u2019"]], "section variable \u2018ident\u2019 occurs implicitly in global declaration \u2018qualid\u2019 present in the conclusion (error)": [[64, "coq:exn.Section-variable-\u2018ident\u2019-occurs-implicitly-in-global-declaration-\u2018qualid\u2019-present-in-the-conclusion"]], "strategy (command)": [[64, "coq:cmd.Strategy"]], "tactic failure: setoid library not loaded (error)": [[64, "coq:exn.Tactic-failure:-Setoid-library-not-loaded"]], "tactic generated a subgoal identical to the original goal (error)": [[64, "coq:exn.Tactic-generated-a-subgoal-identical-to-the-original-goal"]], "terms do not have convertible types (error)": [[64, "coq:exn.Terms-do-not-have-convertible-types"]], "the reference is not unfoldable (error)": [[64, "coq:exn.The-reference-is-not-unfoldable"]], "the reference \u2018qualid\u2019 was not found in the current environment (error)": [[64, "coq:exn.The-reference-\u2018qualid\u2019-was-not-found-in-the-current-environment"]], "the relation \u2018ident\u2019 is not a declared reflexive relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-reflexive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "the relation \u2018ident\u2019 is not a declared symmetric relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-symmetric-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "the relation \u2018ident\u2019 is not a declared transitive relation. maybe you need to require the stdlib.classes.relationclasses library (error)": [[64, "coq:exn.The-relation-\u2018ident\u2019-is-not-a-declared-transitive-relation.-Maybe-you-need-to-require-the-Stdlib.Classes.RelationClasses-library"]], "transparent (command)": [[64, "coq:cmd.Transparent"]], "cbn (tactic)": [[64, "coq:tacn.cbn"]], "cbv (tactic)": [[64, "coq:tacn.cbv"]], "change (tactic)": [[64, "coq:tacn.change"]], "change_no_check (tactic)": [[64, "coq:tacn.change_no_check"]], "compute (tactic)": [[64, "coq:tacn.compute"]], "erewrite (tactic)": [[64, "coq:tacn.erewrite"]], "etransitivity (tactic)": [[64, "coq:tacn.etransitivity"]], "eval (tactic)": [[64, "coq:tacn.eval"]], "f_equal (tactic)": [[64, "coq:tacn.f_equal"]], "fold (tactic)": [[64, "coq:tacn.fold"]], "hnf (tactic)": [[64, "coq:tacn.hnf"]], "lazy (tactic)": [[64, "coq:tacn.lazy"]], "native_compute (tactic)": [[64, "coq:tacn.native_compute"]], "now_show (tactic)": [[64, "coq:tacn.now_show"]], "pattern (tactic)": [[64, "coq:tacn.pattern"]], "red (tactic)": [[64, "coq:tacn.red"]], "reflexivity (tactic)": [[64, "coq:tacn.reflexivity"]], "replace (tactic)": [[64, "coq:tacn.replace"]], "rewrite (tactic)": [[64, "coq:tacn.rewrite"]], "rewrite * (tactic)": [[64, "coq:tacn.rewrite-*"]], "simpl (tactic)": [[64, "coq:tacn.simpl"]], "simple subst (tactic)": [[64, "coq:tacn.simple-subst"]], "stepl (tactic)": [[64, "coq:tacn.stepl"]], "stepr (tactic)": [[64, "coq:tacn.stepr"]], "subst (tactic)": [[64, "coq:tacn.subst"]], "substitute (tactic)": [[64, "coq:tacn.substitute"]], "symmetry (tactic)": [[64, "coq:tacn.symmetry"]], "transitivity (tactic)": [[64, "coq:tacn.transitivity"]], "unfold (tactic)": [[64, "coq:tacn.unfold"]], "vm_compute (tactic)": [[64, "coq:tacn.vm_compute"]], "with_strategy (tactic)": [[64, "coq:tacn.with_strategy"]], "\u2018ident\u2019 is opaque (error)": [[64, "coq:exn.\u2018ident\u2019-is-opaque"]], "\u2018qualid\u2019 does not occur (error)": [[64, "coq:exn.\u2018qualid\u2019-does-not-occur"]], "\"all\" is a predefined collection containing all variables. it can't be redefined (error)": [[66, "coq:exn.\"All\"-is-a-predefined-collection-containing-all-variables.-It-can't-be-redefined"]], "abort (command)": [[66, "coq:cmd.Abort"]], "admitted (command)": [[66, "coq:cmd.Admitted"]], "attempt to save an incomplete proof (error)": [[66, "coq:exn.Attempt-to-save-an-incomplete-proof"]], "brackets do not support multi-goal selectors (error)": [[66, "coq:exn.Brackets-do-not-support-multi-goal-selectors"]], "bullet behavior (option)": [[66, "coq:opt.Bullet-Behavior"]], "collection (command)": [[66, "coq:cmd.Collection"]], "default proof mode (option)": [[66, "coq:opt.Default-Proof-Mode"]], "default proof using (option)": [[66, "coq:opt.Default-Proof-Using"]], "defined (command)": [[66, "coq:cmd.Defined"]], "diffs (option)": [[66, "coq:opt.Diffs"]], "focus (command)": [[66, "coq:cmd.Focus"]], "goal (command)": [[66, "coq:cmd.Goal"]], "guarded (command)": [[66, "coq:cmd.Guarded"]], "hyps limit (option)": [[66, "coq:opt.Hyps-Limit"]], "mangle names (flag)": [[66, "coq:flag.Mangle-Names"]], "mangle names light (flag)": [[66, "coq:flag.Mangle-Names-Light"]], "mangle names prefix (option)": [[66, "coq:opt.Mangle-Names-Prefix"]], "nested proofs allowed (flag)": [[66, "coq:flag.Nested-Proofs-Allowed"]], "new collection definition of \u2018ident\u2019 shadows the previous one (warning)": [[66, "coq:warn.New-Collection-definition-of-\u2018ident\u2019-shadows-the-previous-one"]], "no focused proof (no proof-editing in progress) (error)": [[66, "coq:exn.No-focused-proof-(No-proof-editing-in-progress)"]], "no focused proof (error)": [[66, "coq:exn.No-focused-proof"]], "no focused proof to restart (error)": [[66, "coq:exn.No-focused-proof-to-restart"]], "no such goal (error)": [[66, "coq:exn.No-such-goal"]], "no such goal (\u2018ident\u2019) (error)": [[66, "coq:exn.No-such-goal-(\u2018ident\u2019)"]], "no such goal (\u2018natural\u2019) (error)": [[66, "coq:exn.No-such-goal-(\u2018natural\u2019)"]], "no such goal. focus next goal with bullet \u2018bullet\u2019 (error)": [[66, "coq:exn.No-such-goal.-Focus-next-goal-with-bullet-\u2018bullet\u2019"]], "no such goal. try unfocusing with } (error)": [[66, "coq:exn.No-such-goal.-Try-unfocusing-with-}"]], "optimize heap (command)": [[66, "coq:cmd.Optimize-Heap"]], "optimize proof (command)": [[66, "coq:cmd.Optimize-Proof"]], "print debug gc (command)": [[66, "coq:cmd.Print-Debug-GC"]], "printing goal names (flag)": [[66, "coq:flag.Printing-Goal-Names"]], "printing goal tags (flag)": [[66, "coq:flag.Printing-Goal-Tags"]], "proof (command)": [[66, "coq:cmd.Proof"]], "proof mode (command)": [[66, "coq:cmd.Proof-Mode"]], "proof `term` (command)": [[66, "coq:cmd.Proof-`term`"]], "proof is not complete. (abstract) (error)": [[66, "coq:exn.Proof-is-not-complete.-(abstract)"]], "proof using (command)": [[66, "coq:cmd.Proof-using"]], "qed (command)": [[66, "coq:cmd.Qed"]], "restart (command)": [[66, "coq:cmd.Restart"]], "save (command)": [[66, "coq:cmd.Save"]], "show (command)": [[66, "coq:cmd.Show"]], "show conjectures (command)": [[66, "coq:cmd.Show-Conjectures"]], "show existentials (command)": [[66, "coq:cmd.Show-Existentials"]], "show goal (command)": [[66, "coq:cmd.Show-Goal"]], "show intro (command)": [[66, "coq:cmd.Show-Intro"]], "show intros (command)": [[66, "coq:cmd.Show-Intros"]], "show match (command)": [[66, "coq:cmd.Show-Match"]], "show proof (command)": [[66, "coq:cmd.Show-Proof"]], "show universes (command)": [[66, "coq:cmd.Show-Universes"]], "solve unification constraints (flag)": [[66, "coq:flag.Solve-Unification-Constraints"]], "suggest proof using (flag)": [[66, "coq:flag.Suggest-Proof-Using"]], "this proof is focused, but cannot be unfocused this way (error)": [[66, "coq:exn.This-proof-is-focused,-but-cannot-be-unfocused-this-way"]], "undo (command)": [[66, "coq:cmd.Undo"]], "unfocus (command)": [[66, "coq:cmd.Unfocus"]], "unfocused (command)": [[66, "coq:cmd.Unfocused"]], "unknown inductive type (error)": [[66, "coq:exn.Unknown-inductive-type"]], "unshelve (command)": [[66, "coq:cmd.Unshelve"]], "validate proof (command)": [[66, "coq:cmd.Validate-Proof"]], "variable all is shadowed by collection named all containing all variables (warning)": [[66, "coq:warn.Variable-All-is-shadowed-by-Collection-named-All-containing-all-variables"]], "wrong bullet \u2018bullet\u2019: bullet \u2018bullet\u2019 is mandatory here (error)": [[66, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Bullet-\u2018bullet\u2019-is-mandatory-here"]], "wrong bullet \u2018bullet\u2019: current bullet \u2018bullet\u2019 is not finished (error)": [[66, "coq:exn.Wrong-bullet-\u2018bullet\u2019:-Current-bullet-\u2018bullet\u2019-is-not-finished"]], "abstract (tactic)": [[66, "coq:tacn.abstract"]], "admit (tactic)": [[66, "coq:tacn.admit"]], "bullet (- + *) (tactic)": [[66, "coq:tacn.bullet-(--+-*)"]], "cycle (tactic)": [[66, "coq:tacn.cycle"]], "give_up (tactic)": [[66, "coq:tacn.give_up"]], "revgoals (tactic)": [[66, "coq:tacn.revgoals"]], "shelve (tactic)": [[66, "coq:tacn.shelve"]], "shelve_unifiable (tactic)": [[66, "coq:tacn.shelve_unifiable"]], "solve_constraints (tactic)": [[66, "coq:tacn.solve_constraints"]], "swap (tactic)": [[66, "coq:tacn.swap"]], "transparent_abstract (tactic)": [[66, "coq:tacn.transparent_abstract"]], "unshelve (tactic)": [[66, "coq:tacn.unshelve"]], "using (attribute)": [[66, "coq:attr.using"]], "{ (tactic)": [[66, "coq:tacn.{"]], "} (tactic)": [[66, "coq:tacn.}"]], "\u2018ident\u2019 is both name of a collection and variable, collection \u2018ident\u2019 takes precedence over variable (warning)": [[66, "coq:warn.\u2018ident\u2019-is-both-name-of-a-Collection-and-Variable,-Collection-\u2018ident\u2019-takes-precedence-over-Variable"]], "\u2018ident\u2019 was already a defined variable, the name \u2018ident\u2019 will refer to collection when executing \"proof using\" command (warning)": [[66, "coq:warn.\u2018ident\u2019-was-already-a-defined-Variable,-the-name-\u2018ident\u2019-will-refer-to-Collection-when-executing-\"Proof-using\"-command"]], "boolean equality schemes (flag)": [[67, "coq:flag.Boolean-Equality-Schemes"]], "cannot recognize a statement based on \u2018reference\u2019 (error)": [[67, "coq:exn.Cannot-recognize-a-statement-based-on-\u2018reference\u2019"]], "case analysis schemes (flag)": [[67, "coq:flag.Case-Analysis-Schemes"]], "combined scheme (command)": [[67, "coq:cmd.Combined-Scheme"]], "decidable equality schemes (flag)": [[67, "coq:flag.Decidable-Equality-Schemes"]], "derive dependent inversion (command)": [[67, "coq:cmd.Derive-Dependent-Inversion"]], "derive dependent inversion_clear (command)": [[67, "coq:cmd.Derive-Dependent-Inversion_clear"]], "derive inversion (command)": [[67, "coq:cmd.Derive-Inversion"]], "derive inversion_clear (command)": [[67, "coq:cmd.Derive-Inversion_clear"]], "elimination schemes (flag)": [[67, "coq:flag.Elimination-Schemes"]], "keep equalities (table)": [[67, "coq:table.Keep-Equalities"]], "keep proof equalities (flag)": [[67, "coq:flag.Keep-Proof-Equalities"]], "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 (error)": [[67, "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"]], "no primitive equality found (error)": [[67, "coq:exn.No-primitive-equality-found"]], "nonrecursive elimination schemes (flag)": [[67, "coq:flag.Nonrecursive-Elimination-Schemes"]], "not a discriminable equality (error)": [[67, "coq:exn.Not-a-discriminable-equality"]], "not a negated primitive equality (error)": [[67, "coq:exn.Not-a-negated-primitive-equality"]], "not an inductive goal with 1 constructor (error)": [[67, "coq:exn.Not-an-inductive-goal-with-1-constructor"]], "not an inductive goal with 2 constructors (error)": [[67, "coq:exn.Not-an-inductive-goal-with-2-constructors"]], "not an inductive product (error)": [[67, "coq:exn.Not-an-inductive-product"]], "not enough constructors (error)": [[67, "coq:exn.Not-enough-constructors"]], "nothing to inject (error)": [[67, "coq:exn.Nothing-to-inject"]], "rewriting schemes (flag)": [[67, "coq:flag.Rewriting-Schemes"]], "scheme (command)": [[67, "coq:cmd.Scheme"]], "scheme boolean equality (command)": [[67, "coq:cmd.Scheme-Boolean-Equality"]], "scheme equality (command)": [[67, "coq:cmd.Scheme-Equality"]], "structural injection (flag)": [[67, "coq:flag.Structural-Injection"]], "the type has no constructors (error)": [[67, "coq:exn.The-type-has-no-constructors"]], "type of \u2018ident\u2019 is not an equality of recognized \u03c3 types: expected one of sig sig2 sigt sigt2 sigt2 ex or ex2 but got \u2018term\u2019 (error)": [[67, "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"]], "unable to find an instance for the variables \u2018ident\u2019 \u2026 \u2018ident\u2019 (error)": [[67, "coq:exn.Unable-to-find-an-instance-for-the-variables-\u2018ident\u2019-\u2026-\u2018ident\u2019"]], "case (tactic)": [[67, "coq:tacn.case"]], "case_eq (tactic)": [[67, "coq:tacn.case_eq"]], "cofix (tactic)": [[67, "coq:tacn.cofix"]], "compare (tactic)": [[67, "coq:tacn.compare"]], "constructor (tactic)": [[67, "coq:tacn.constructor"]], "decide (tactic)": [[67, "coq:tacn.decide"]], "decide equality (tactic)": [[67, "coq:tacn.decide-equality"]], "decompose (tactic)": [[67, "coq:tacn.decompose"]], "decompose record (tactic)": [[67, "coq:tacn.decompose-record"]], "decompose sum (tactic)": [[67, "coq:tacn.decompose-sum"]], "dependent destruction (tactic)": [[67, "coq:tacn.dependent-destruction"]], "dependent induction (tactic)": [[67, "coq:tacn.dependent-induction"]], "dependent inversion (tactic)": [[67, "coq:tacn.dependent-inversion"]], "dependent inversion_clear (tactic)": [[67, "coq:tacn.dependent-inversion_clear"]], "dependent rewrite (tactic)": [[67, "coq:tacn.dependent-rewrite"]], "dependent simple inversion (tactic)": [[67, "coq:tacn.dependent-simple-inversion"]], "destauto (tactic)": [[67, "coq:tacn.destauto"]], "destruct (tactic)": [[67, "coq:tacn.destruct"]], "discriminate (tactic)": [[67, "coq:tacn.discriminate"]], "ecase (tactic)": [[67, "coq:tacn.ecase"]], "econstructor (tactic)": [[67, "coq:tacn.econstructor"]], "edestruct (tactic)": [[67, "coq:tacn.edestruct"]], "ediscriminate (tactic)": [[67, "coq:tacn.ediscriminate"]], "eelim (tactic)": [[67, "coq:tacn.eelim"]], "eexists (tactic)": [[67, "coq:tacn.eexists"]], "einduction (tactic)": [[67, "coq:tacn.einduction"]], "einjection (tactic)": [[67, "coq:tacn.einjection"]], "eleft (tactic)": [[67, "coq:tacn.eleft"]], "elim (tactic)": [[67, "coq:tacn.elim"]], "eright (tactic)": [[67, "coq:tacn.eright"]], "esimplify_eq (tactic)": [[67, "coq:tacn.esimplify_eq"]], "esplit (tactic)": [[67, "coq:tacn.esplit"]], "exists (tactic)": [[67, "coq:tacn.exists"]], "fix (tactic)": [[67, "coq:tacn.fix"]], "induction (tactic)": [[67, "coq:tacn.induction"]], "injection (tactic)": [[67, "coq:tacn.injection"]], "inversion (tactic)": [[67, "coq:tacn.inversion"]], "inversion_clear (tactic)": [[67, "coq:tacn.inversion_clear"]], "inversion_sigma (tactic)": [[67, "coq:tacn.inversion_sigma"]], "left (tactic)": [[67, "coq:tacn.left"]], "right (tactic)": [[67, "coq:tacn.right"]], "simple destruct (tactic)": [[67, "coq:tacn.simple-destruct"]], "simple induction (tactic)": [[67, "coq:tacn.simple-induction"]], "simple injection (tactic)": [[67, "coq:tacn.simple-injection"]], "simple inversion (tactic)": [[67, "coq:tacn.simple-inversion"]], "simplify_eq (tactic)": [[67, "coq:tacn.simplify_eq"]], "split (tactic)": [[67, "coq:tacn.split"]], "\u2018ident\u2019 is not an equality of \u03c3 types (error)": [[67, "coq:exn.\u2018ident\u2019-is-not-an-equality-of-\u03a3-types"]], "'via' and 'abstract' cannot be used together (error)": [[71, "coq:exn.'via'-and-'abstract'-cannot-be-used-together"]], "activation of abbreviations does not expect mentioning a grammar entry (warning)": [[71, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-grammar-entry"]], "activation of abbreviations does not expect mentioning a scope (warning)": [[71, "coq:warn.Activation-of-abbreviations-does-not-expect-mentioning-a-scope"]], "bind scope (command)": [[71, "coq:cmd.Bind-Scope"]], "cannot interpret in \u2018scope_name\u2019 because \u2018qualid\u2019 could not be found in the current environment (error)": [[71, "coq:exn.Cannot-interpret-in-\u2018scope_name\u2019-because-\u2018qualid\u2019-could-not-be-found-in-the-current-environment"]], "cannot interpret this number as a value of type \u2018type\u2019 (error)": [[71, "coq:exn.Cannot-interpret-this-number-as-a-value-of-type-\u2018type\u2019"]], "cannot interpret this string as a value of type \u2018type\u2019 (error)": [[71, "coq:exn.Cannot-interpret-this-string-as-a-value-of-type-\u2018type\u2019"]], "close scope (command)": [[71, "coq:cmd.Close-Scope"]], "declare custom entry (command)": [[71, "coq:cmd.Declare-Custom-Entry"]], "declare scope (command)": [[71, "coq:cmd.Declare-Scope"]], "delimit scope (command)": [[71, "coq:cmd.Delimit-Scope"]], "disable notation (command)": [[71, "coq:cmd.Disable-Notation"]], "enable notation (command)": [[71, "coq:cmd.Enable-Notation"]], "end of quoted string not followed by a space in notation (error)": [[71, "coq:exn.End-of-quoted-string-not-followed-by-a-space-in-notation"]], "found no matching notation to enable or disable (warning)": [[71, "coq:warn.Found-no-matching-notation-to-enable-or-disable"]], "infix (command)": [[71, "coq:cmd.Infix"]], "missing mapping for constructor \u2018qualid\u2019 (error)": [[71, "coq:exn.Missing-mapping-for-constructor-\u2018qualid\u2019"]], "more than one interpretation bound to this notation, confirm with the \"all\" modifier (error)": [[71, "coq:exn.More-than-one-interpretation-bound-to-this-notation,-confirm-with-the-\"all\"-modifier"]], "multiple 'via' options (error)": [[71, "coq:exn.Multiple-'via'-options"]], "multiple 'warning after' or 'abstract after' options (error)": [[71, "coq:exn.Multiple-'warning-after'-or-'abstract-after'-options"]], "no notation provided (error)": [[71, "coq:exn.No-notation-provided"]], "notation (abbreviation) (command)": [[71, "coq:cmd.Notation-(abbreviation)"]], "notation (command)": [[71, "coq:cmd.Notation"]], "number notation (command)": [[71, "coq:cmd.Number-Notation"]], "open scope (command)": [[71, "coq:cmd.Open-Scope"]], "print custom grammar (command)": [[71, "coq:cmd.Print-Custom-Grammar"]], "print grammar (command)": [[71, "coq:cmd.Print-Grammar"]], "print keywords (command)": [[71, "coq:cmd.Print-Keywords"]], "print notation (command)": [[71, "coq:cmd.Print-Notation"]], "print scope (command)": [[71, "coq:cmd.Print-Scope"]], "print scopes (command)": [[71, "coq:cmd.Print-Scopes"]], "print visibility (command)": [[71, "coq:cmd.Print-Visibility"]], "printing notations (flag)": [[71, "coq:flag.Printing-Notations"]], "printing parentheses (flag)": [[71, "coq:flag.Printing-Parentheses"]], "printing raw literals (flag)": [[71, "coq:flag.Printing-Raw-Literals"]], "reserved infix (command)": [[71, "coq:cmd.Reserved-Infix"]], "reserved notation (command)": [[71, "coq:cmd.Reserved-Notation"]], "scope delimiters should not start with an underscore (error)": [[71, "coq:exn.Scope-delimiters-should-not-start-with-an-underscore"]], "scope names should not start with an underscore (error)": [[71, "coq:exn.Scope-names-should-not-start-with-an-underscore"]], "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) (warning)": [[71, "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)"]], "string notation (command)": [[71, "coq:cmd.String-Notation"]], "syntax error: [prim:reference] expected after 'notation' (in [vernac:command]) (error)": [[71, "coq:exn.Syntax-error:-[prim:reference]-expected-after-'Notation'-(in-[vernac:command])"]], "syntax error: [prim:reference] expected after [prim:reference] (in [vernac:command]) (error)": [[71, "coq:exn.Syntax-error:-[prim:reference]-expected-after-[prim:reference]-(in-[vernac:command])"]], "tactic notation (command)": [[71, "coq:cmd.Tactic-Notation"]], "the 'abstract after' directive has no effect when the parsing function (\u2018qualid\u2019) targets an option type (warning)": [[71, "coq:warn.The-'abstract-after'-directive-has-no-effect-when-the-parsing-function-(\u2018qualid\u2019)-targets-an-option-type"]], "to avoid stack overflow, large numbers in \u2018type\u2019 are interpreted as applications of \u2018qualid\u2019 (warning)": [[71, "coq:warn.To-avoid-stack-overflow,-large-numbers-in-\u2018type\u2019-are-interpreted-as-applications-of-\u2018qualid\u2019"]], "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 (warning)": [[71, "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"]], "undelimit scope (command)": [[71, "coq:cmd.Undelimit-Scope"]], "unexpected non-option term \u2018term\u2019 while parsing a number notation (error)": [[71, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-number-notation"]], "unexpected non-option term \u2018term\u2019 while parsing a string notation (error)": [[71, "coq:exn.Unexpected-non-option-term-\u2018term\u2019-while-parsing-a-string-notation"]], "unexpected only parsing for an only printing notation (error)": [[71, "coq:exn.Unexpected-only-parsing-for-an-only-printing-notation"]], "unexpected only printing for an only parsing notation (error)": [[71, "coq:exn.Unexpected-only-printing-for-an-only-parsing-notation"]], "unexpected term \u2018term\u2019 while parsing a number notation (error)": [[71, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-number-notation"]], "unexpected term \u2018term\u2019 while parsing a string notation (error)": [[71, "coq:exn.Unexpected-term-\u2018term\u2019-while-parsing-a-string-notation"]], "unknown custom entry (error)": [[71, "coq:exn.Unknown-custom-entry"]], "unknown custom entry: \u2018ident\u2019 (error)": [[71, "coq:exn.Unknown-custom-entry:-\u2018ident\u2019"]], "unterminated string in notation (error)": [[71, "coq:exn.Unterminated-string-in-notation"]], "use of \u2018string\u2019 notation is deprecated as it is inconsistent with pattern syntax (warning)": [[71, "coq:warn.Use-of-\u2018string\u2019-Notation-is-deprecated-as-it-is-inconsistent-with-pattern-syntax"]], "add_bottom (attribute)": [[71, "coq:attr.add_bottom"]], "add_top (attribute)": [[71, "coq:attr.add_top"]], "closed-notation-not-level-0 (warning)": [[71, "coq:warn.closed-notation-not-level-0"]], "function_scope": [[71, "index-1"]], "notation-incompatible-prefix (warning)": [[71, "coq:warn.notation-incompatible-prefix"]], "overflow in int63 literal \u2018bigint\u2019 (error)": [[71, "coq:exn.overflow-in-int63-literal-\u2018bigint\u2019"]], "postfix-notation-not-level-1 (warning)": [[71, "coq:warn.postfix-notation-not-level-1"]], "type_scope": [[71, "index-0"]], "\u2018qualid\u2019 is bound to a notation that does not denote a reference (error)": [[71, "coq:exn.\u2018qualid\u2019-is-bound-to-a-notation-that-does-not-denote-a-reference"]], "\u2018qualid\u2019 should go from byte.byte, (list byte.byte), or primstring.string to \u2018type\u2019 or (option \u2018type\u2019) (error)": [[71, "coq:exn.\u2018qualid\u2019-should-go-from-Byte.byte,-(list-Byte.byte),-or-PrimString.string-to-\u2018type\u2019-or-(option-\u2018type\u2019)"]], "\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) (error)": [[71, "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)"]], "\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) (error)": [[71, "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)"]], "\u2018qualid\u2019 should go from \u2018type\u2019 to t or (option t), where t is either byte.byte, (list byte.byte), or primstring.string (error)": [[71, "coq:exn.\u2018qualid\u2019-should-go-from-\u2018type\u2019-to-T-or-(option-T),-where-T-is-either-Byte.byte,-(list-Byte.byte),-or-PrimString.string"]], "\u2018qualid\u2019 was already mapped to \u2018qualid\u2019 and cannot be remapped to \u2018qualid\u2019 (error)": [[71, "coq:exn.\u2018qualid\u2019-was-already-mapped-to-\u2018qualid\u2019-and-cannot-be-remapped-to-\u2018qualid\u2019"]], "\u2018string\u2019 cannot be interpreted as a known notation in \u2018ident\u2019 entry. make sure that symbols are surrounded by spaces and that holes are explicitly denoted by \"_\" (error)": [[71, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation-in-\u2018ident\u2019-entry.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\""]], "\u2018string\u2019 cannot be interpreted as a known notation. make sure that symbols are surrounded by spaces and that holes are explicitly denoted by \"_\" (error)": [[71, "coq:exn.\u2018string\u2019-cannot-be-interpreted-as-a-known-notation.-Make-sure-that-symbols-are-surrounded-by-spaces-and-that-holes-are-explicitly-denoted-by-\"_\""]], "\u2018type\u2019 is not an inductive type (error)": [[71, "coq:exn.\u2018type\u2019-is-not-an-inductive-type"]], "\u2018type\u2019 was already mapped to \u2018type\u2019, mapping it also to \u2018type\u2019 might yield ill typed terms when using the notation (warning)": [[71, "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"]], "cannot build functional inversion principle (warning)": [[72, "coq:warn.Cannot-build-functional-inversion-principle"]], "cannot define graph for \u2018ident\u2019 (warning)": [[72, "coq:warn.Cannot-define-graph-for-\u2018ident\u2019"]], "cannot define principle(s) for \u2018ident\u2019 (warning)": [[72, "coq:warn.Cannot-define-principle(s)-for-\u2018ident\u2019"]], "cannot find induction information on \u2018qualid\u2019 (error)": [[72, "coq:exn.Cannot-find-induction-information-on-\u2018qualid\u2019"]], "cannot find inversion information for hypothesis \u2018ident\u2019 (error)": [[72, "coq:exn.Cannot-find-inversion-information-for-hypothesis-\u2018ident\u2019"]], "cannot use mutual definition with well-founded recursion or measure (error)": [[72, "coq:exn.Cannot-use-mutual-definition-with-well-founded-recursion-or-measure"]], "function (command)": [[72, "coq:cmd.Function"]], "functional case (command)": [[72, "coq:cmd.Functional-Case"]], "functional scheme (command)": [[72, "coq:cmd.Functional-Scheme"]], "generate graph for (command)": [[72, "coq:cmd.Generate-graph-for"]], "hypothesis \u2018ident\u2019 must contain at least one function (error)": [[72, "coq:exn.Hypothesis-\u2018ident\u2019-must-contain-at-least-one-Function"]], "no argument name \u2018ident\u2019 (error)": [[72, "coq:exn.No-argument-name-\u2018ident\u2019"]], "not the right number of induction arguments (error)": [[72, "coq:exn.Not-the-right-number-of-induction-arguments"]], "the recursive argument must be specified (error)": [[72, "coq:exn.The-recursive-argument-must-be-specified"]], "functional induction (tactic)": [[72, "coq:tacn.functional-induction"]], "functional inversion (tactic)": [[72, "coq:tacn.functional-inversion"]], "soft functional induction (tactic)": [[72, "coq:tacn.soft-functional-induction"]], "library file (transitively required) \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Library-File-(transitively-required)-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "library file \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Library-File-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "ltac2 alias \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-alias-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 constructor \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-constructor-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 definition \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-definition-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "ltac2 notation \u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Ltac2-notation-\u2018ltac2_scope\u2019\u2026\u2018ltac2_scope\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "notation \u2018string\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019. use \u2018qualid\u2019 instead (warning)": [[74, "coq:warn.Notation-\u2018string\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019.-Use-\u2018qualid\u2019-instead"]], "tactic notation \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Tactic-Notation-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "tactic \u2018qualid\u2019 is deprecated since \u2018string\u2019. \u2018string\u2019 (warning)": [[74, "coq:warn.Tactic-\u2018qualid\u2019-is-deprecated-since-\u2018string\u2019.-\u2018string\u2019"]], "deprecated (attribute)": [[74, "coq:attr.deprecated"]], "warn (attribute)": [[74, "coq:attr.warn"]], "\u2018string\u2019 (warning)": [[74, "coq:warn.\u2018string\u2019"]], "coqdoc": [[75, "index-0"]]}})
\ No newline at end of file
diff --git a/master/stdlib/Stdlib.Arith.Arith_base.html b/master/stdlib/Stdlib.Arith.Arith_base.html
index cb09781e96..ac1154f6fb 100644
--- a/master/stdlib/Stdlib.Arith.Arith_base.html
+++ b/master/stdlib/Stdlib.Arith.Arith_base.html
@@ -57,7 +57,7 @@ Library Stdlib.Arith.Arith_base
@@ -79,7 +79,7 @@ Library Stdlib.Arith.Arith_base
diff --git a/master/stdlib/Stdlib.Arith.EqNat.html b/master/stdlib/Stdlib.Arith.EqNat.html
index 9637c666a6..58aca21c1f 100644
--- a/master/stdlib/Stdlib.Arith.EqNat.html
+++ b/master/stdlib/Stdlib.Arith.EqNat.html
@@ -55,7 +55,7 @@ Library Stdlib.Arith.EqNat
Equality on natural numbers
-Propositional equality
+Propositional equality
diff --git a/master/stdlib/Stdlib.Arith.PeanoNat.html b/master/stdlib/Stdlib.Arith.PeanoNat.html
index 53a1a8c676..9043ff9a83 100644
--- a/master/stdlib/Stdlib.Arith.PeanoNat.html
+++ b/master/stdlib/Stdlib.Arith.PeanoNat.html
@@ -148,7 +148,7 @@ Library Stdlib.Arith.PeanoNat
-Remaining constants not defined in Stdlib.Init.Nat
+Remaining constants not defined in Stdlib.Init.Nat
@@ -166,7 +166,7 @@ Library Stdlib.Arith.PeanoNat
@@ -208,7 +208,7 @@ Library Stdlib.Arith.PeanoNat
@@ -240,7 +240,7 @@ Library Stdlib.Arith.PeanoNat
@@ -252,7 +252,7 @@ Library Stdlib.Arith.PeanoNat
@@ -331,7 +331,7 @@ Library Stdlib.Arith.PeanoNat
@@ -349,7 +349,7 @@ Library Stdlib.Arith.PeanoNat
@@ -361,7 +361,7 @@ Library Stdlib.Arith.PeanoNat
@@ -405,7 +405,7 @@ Library Stdlib.Arith.PeanoNat
@@ -434,7 +434,7 @@ Library Stdlib.Arith.PeanoNat
@@ -458,7 +458,7 @@ Library Stdlib.Arith.PeanoNat
@@ -480,7 +480,7 @@ Library Stdlib.Arith.PeanoNat
@@ -532,7 +532,7 @@ Library Stdlib.Arith.PeanoNat
@@ -560,7 +560,7 @@ Library Stdlib.Arith.PeanoNat
diff --git a/master/stdlib/Stdlib.Bool.Bool.html b/master/stdlib/Stdlib.Bool.Bool.html
index 84179a9a74..11017410c5 100644
--- a/master/stdlib/Stdlib.Bool.Bool.html
+++ b/master/stdlib/Stdlib.Bool.Bool.html
@@ -89,7 +89,7 @@ Library Stdlib.Bool.Bool
@@ -101,7 +101,7 @@ Library Stdlib.Bool.Bool
@@ -137,7 +137,7 @@ Library Stdlib.Bool.Bool
@@ -179,7 +179,7 @@ Library Stdlib.Bool.Bool
@@ -222,7 +222,7 @@ Library Stdlib.Bool.Bool
@@ -241,7 +241,7 @@ Library Stdlib.Bool.Bool
@@ -256,7 +256,7 @@ Library Stdlib.Bool.Bool
@@ -298,7 +298,7 @@ Library Stdlib.Bool.Bool
@@ -426,7 +426,7 @@ Library Stdlib.Bool.Bool
@@ -543,7 +543,7 @@ Library Stdlib.Bool.Bool
-Properties mixing andb and orb
+Properties mixing andb and orb
@@ -593,7 +593,7 @@ Library Stdlib.Bool.Bool
@@ -647,7 +647,7 @@ Library Stdlib.Bool.Bool
-Reflection of bool into Prop
+Reflection of bool into Prop
@@ -923,7 +923,7 @@ Library Stdlib.Bool.Bool
-Alternative versions of andb and orb
+Alternative versions of andb and orb
with lazy behavior (for vm_compute)
@@ -951,7 +951,7 @@ Library Stdlib.Bool.Bool
-Reflect: a specialized inductive type for
+Reflect: a specialized inductive type for
relating propositions and booleans,
as popularized by the Ssreflect library.
diff --git a/master/stdlib/Stdlib.Bool.BoolOrder.html b/master/stdlib/Stdlib.Bool.BoolOrder.html
index a9bc31c3e8..79afaabcd5 100644
--- a/master/stdlib/Stdlib.Bool.BoolOrder.html
+++ b/master/stdlib/Stdlib.Bool.BoolOrder.html
@@ -65,7 +65,7 @@ Library Stdlib.Bool.BoolOrder
@@ -91,7 +91,7 @@ Library Stdlib.Bool.BoolOrder
@@ -126,7 +126,7 @@ Library Stdlib.Bool.BoolOrder
diff --git a/master/stdlib/Stdlib.Classes.CEquivalence.html b/master/stdlib/Stdlib.Classes.CEquivalence.html
index d327cbf2cb..90ea3c5ea8 100644
--- a/master/stdlib/Stdlib.Classes.CEquivalence.html
+++ b/master/stdlib/Stdlib.Classes.CEquivalence.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.CEquivalence
-Typeclass-based setoids. Definitions on Equivalence.
+Typeclass-based setoids. Definitions on Equivalence.
diff --git a/master/stdlib/Stdlib.Classes.DecidableClass.html b/master/stdlib/Stdlib.Classes.DecidableClass.html
index 0800f7bcf5..621e93396f 100644
--- a/master/stdlib/Stdlib.Classes.DecidableClass.html
+++ b/master/stdlib/Stdlib.Classes.DecidableClass.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.DecidableClass
-A typeclass to ease the handling of decidable properties.
+A typeclass to ease the handling of decidable properties.
diff --git a/master/stdlib/Stdlib.Classes.EquivDec.html b/master/stdlib/Stdlib.Classes.EquivDec.html
index 1cf59bb78a..de0eb7d770 100644
--- a/master/stdlib/Stdlib.Classes.EquivDec.html
+++ b/master/stdlib/Stdlib.Classes.EquivDec.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.EquivDec
-Decidable equivalences.
+Decidable equivalences.
diff --git a/master/stdlib/Stdlib.Classes.Morphisms_Relations.html b/master/stdlib/Stdlib.Classes.Morphisms_Relations.html
index a52426afb8..44162e9650 100644
--- a/master/stdlib/Stdlib.Classes.Morphisms_Relations.html
+++ b/master/stdlib/Stdlib.Classes.Morphisms_Relations.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.Morphisms_Relations
-Morphism instances for relations.
+Morphism instances for relations.
diff --git a/master/stdlib/Stdlib.Classes.RelationPairs.html b/master/stdlib/Stdlib.Classes.RelationPairs.html
index a59c22d3ce..caba9bf724 100644
--- a/master/stdlib/Stdlib.Classes.RelationPairs.html
+++ b/master/stdlib/Stdlib.Classes.RelationPairs.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.RelationPairs
diff --git a/master/stdlib/Stdlib.Classes.SetoidClass.html b/master/stdlib/Stdlib.Classes.SetoidClass.html
index c143f05d63..40e6df6f9c 100644
--- a/master/stdlib/Stdlib.Classes.SetoidClass.html
+++ b/master/stdlib/Stdlib.Classes.SetoidClass.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.SetoidClass
-Typeclass-based setoids, tactics and standard instances.
+Typeclass-based setoids, tactics and standard instances.
diff --git a/master/stdlib/Stdlib.Classes.SetoidDec.html b/master/stdlib/Stdlib.Classes.SetoidDec.html
index 7daab39ab6..0f1d38fbe7 100644
--- a/master/stdlib/Stdlib.Classes.SetoidDec.html
+++ b/master/stdlib/Stdlib.Classes.SetoidDec.html
@@ -48,7 +48,7 @@ Library Stdlib.Classes.SetoidDec
-Decidable setoid equality theory.
+Decidable setoid equality theory.
diff --git a/master/stdlib/Stdlib.FSets.FMapAVL.html b/master/stdlib/Stdlib.FSets.FMapAVL.html
index 72def82159..0daccf7df5 100644
--- a/master/stdlib/Stdlib.FSets.FMapAVL.html
+++ b/master/stdlib/Stdlib.FSets.FMapAVL.html
@@ -50,7 +50,7 @@ Library Stdlib.FSets.FMapAVL
@@ -172,7 +172,7 @@ Library Stdlib.FSets.FMapAVL
@@ -184,7 +184,7 @@ Library Stdlib.FSets.FMapAVL
@@ -196,7 +196,7 @@ Library Stdlib.FSets.FMapAVL
@@ -315,7 +315,7 @@ Library Stdlib.FSets.FMapAVL
-Extraction of minimum binding
+Extraction of minimum binding
@@ -340,7 +340,7 @@ Library Stdlib.FSets.FMapAVL
@@ -386,7 +386,7 @@ Library Stdlib.FSets.FMapAVL
@@ -526,7 +526,7 @@ Library Stdlib.FSets.FMapAVL
@@ -538,7 +538,7 @@ Library Stdlib.FSets.FMapAVL
@@ -637,7 +637,7 @@ Library Stdlib.FSets.FMapAVL
@@ -662,7 +662,7 @@ Library Stdlib.FSets.FMapAVL
@@ -683,7 +683,7 @@ Library Stdlib.FSets.FMapAVL
@@ -782,7 +782,7 @@ Library Stdlib.FSets.FMapAVL
@@ -812,7 +812,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1138,7 +1138,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1249,7 +1249,7 @@ Library Stdlib.FSets.FMapAVL
-Basic results about MapsTo, In, lt_tree, gt_tree, height
+Basic results about MapsTo, In, lt_tree, gt_tree, height
@@ -1353,7 +1353,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1371,7 +1371,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1386,7 +1386,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1440,7 +1440,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1480,7 +1480,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1514,7 +1514,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1557,7 +1557,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1579,7 +1579,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1606,7 +1606,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1630,7 +1630,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1669,7 +1669,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1695,7 +1695,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1749,7 +1749,7 @@ Library Stdlib.FSets.FMapAVL
@@ -1777,7 +1777,7 @@ Library Stdlib.FSets.FMapAVL
-Encapsulation
+Encapsulation
diff --git a/master/stdlib/Stdlib.FSets.FMapFacts.html b/master/stdlib/Stdlib.FSets.FMapFacts.html
index 7a7808a452..c9b56b4b0f 100644
--- a/master/stdlib/Stdlib.FSets.FMapFacts.html
+++ b/master/stdlib/Stdlib.FSets.FMapFacts.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FMapFacts
@@ -102,7 +102,7 @@ Library Stdlib.FSets.FMapFacts
@@ -259,7 +259,7 @@ Library Stdlib.FSets.FMapFacts
@@ -398,7 +398,7 @@ Library Stdlib.FSets.FMapFacts
-Relations between Equal, Equiv and Equivb.
+Relations between Equal, Equiv and Equivb.
@@ -460,7 +460,7 @@ Library Stdlib.FSets.FMapFacts
@@ -544,7 +544,7 @@ Library Stdlib.FSets.FMapFacts
-Same facts for self-contained weak sets and for full maps
+Same facts for self-contained weak sets and for full maps
@@ -557,7 +557,7 @@ Library Stdlib.FSets.FMapFacts
-Additional Properties for weak maps
+Additional Properties for weak maps
@@ -617,7 +617,7 @@ Library Stdlib.FSets.FMapFacts
@@ -632,7 +632,7 @@ Library Stdlib.FSets.FMapFacts
@@ -669,7 +669,7 @@ Library Stdlib.FSets.FMapFacts
-Induction principles about fold contributed by S. Lescuyer
+Induction principles about fold contributed by S. Lescuyer
@@ -798,7 +798,7 @@ Library Stdlib.FSets.FMapFacts
-Additional properties of fold
+Additional properties of fold
@@ -893,7 +893,7 @@ Library Stdlib.FSets.FMapFacts
@@ -939,7 +939,7 @@ Library Stdlib.FSets.FMapFacts
@@ -957,7 +957,7 @@ Library Stdlib.FSets.FMapFacts
-Emulation of some functions lacking in the interface
+Emulation of some functions lacking in the interface
@@ -1184,7 +1184,7 @@ Library Stdlib.FSets.FMapFacts
-Same Properties for self-contained weak maps and for full maps
+Same Properties for self-contained weak maps and for full maps
@@ -1197,7 +1197,7 @@ Library Stdlib.FSets.FMapFacts
diff --git a/master/stdlib/Stdlib.FSets.FMapFullAVL.html b/master/stdlib/Stdlib.FSets.FMapFullAVL.html
index 0d8e79e500..c1d1f02529 100644
--- a/master/stdlib/Stdlib.FSets.FMapFullAVL.html
+++ b/master/stdlib/Stdlib.FSets.FMapFullAVL.html
@@ -50,7 +50,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -181,7 +181,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -209,7 +209,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -221,7 +221,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -261,7 +261,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -279,7 +279,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -297,7 +297,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -316,7 +316,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -334,7 +334,7 @@ Library Stdlib.FSets.FMapFullAVL
@@ -453,7 +453,7 @@ Library Stdlib.FSets.FMapFullAVL
-As comparison function, we propose here a non-structural
+As comparison function, we propose here a non-structural
version faithful to the code of Ocaml's Map library, instead of
the structural version of FMapAVL
diff --git a/master/stdlib/Stdlib.FSets.FMapInterface.html b/master/stdlib/Stdlib.FSets.FMapInterface.html
index 9ec6b5f4a1..f5d48af4ba 100644
--- a/master/stdlib/Stdlib.FSets.FMapInterface.html
+++ b/master/stdlib/Stdlib.FSets.FMapInterface.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FMapInterface
-Weak signature for maps
+Weak signature for maps
@@ -555,7 +555,7 @@ Library Stdlib.FSets.FMapInterface
-Static signature for Weak Maps
+Static signature for Weak Maps
@@ -574,7 +574,7 @@ Library Stdlib.FSets.FMapInterface
@@ -601,7 +601,7 @@ Library Stdlib.FSets.FMapInterface
@@ -616,7 +616,7 @@ Library Stdlib.FSets.FMapInterface
diff --git a/master/stdlib/Stdlib.FSets.FMapList.html b/master/stdlib/Stdlib.FSets.FMapList.html
index 618ed691a9..c3874e7b36 100644
--- a/master/stdlib/Stdlib.FSets.FMapList.html
+++ b/master/stdlib/Stdlib.FSets.FMapList.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FMapList
@@ -115,7 +115,7 @@ Library Stdlib.FSets.FMapList
@@ -133,7 +133,7 @@ Library Stdlib.FSets.FMapList
@@ -160,7 +160,7 @@ Library Stdlib.FSets.FMapList
@@ -187,7 +187,7 @@ Library Stdlib.FSets.FMapList
@@ -228,7 +228,7 @@ Library Stdlib.FSets.FMapList
@@ -269,7 +269,7 @@ Library Stdlib.FSets.FMapList
@@ -295,7 +295,7 @@ Library Stdlib.FSets.FMapList
@@ -315,7 +315,7 @@ Library Stdlib.FSets.FMapList
@@ -365,7 +365,7 @@ Library Stdlib.FSets.FMapList
@@ -458,7 +458,7 @@ Library Stdlib.FSets.FMapList
diff --git a/master/stdlib/Stdlib.FSets.FMapPositive.html b/master/stdlib/Stdlib.FSets.FMapPositive.html
index a8c45fc424..8b3443089d 100644
--- a/master/stdlib/Stdlib.FSets.FMapPositive.html
+++ b/master/stdlib/Stdlib.FSets.FMapPositive.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FMapPositive
-FMapPositive : an implementation of FMapInterface for positive keys.
+FMapPositive : an implementation of FMapInterface for positive keys.
diff --git a/master/stdlib/Stdlib.FSets.FMapWeakList.html b/master/stdlib/Stdlib.FSets.FMapWeakList.html
index 998f7abea5..93cbb9c45e 100644
--- a/master/stdlib/Stdlib.FSets.FMapWeakList.html
+++ b/master/stdlib/Stdlib.FSets.FMapWeakList.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -115,7 +115,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -133,7 +133,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -155,7 +155,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -184,7 +184,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -228,7 +228,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -262,7 +262,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -283,7 +283,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -303,7 +303,7 @@ Library Stdlib.FSets.FMapWeakList
@@ -364,7 +364,7 @@ Library Stdlib.FSets.FMapWeakList
diff --git a/master/stdlib/Stdlib.FSets.FSetAVL.html b/master/stdlib/Stdlib.FSets.FSetAVL.html
index e2ae94f933..759b6336fd 100644
--- a/master/stdlib/Stdlib.FSets.FSetAVL.html
+++ b/master/stdlib/Stdlib.FSets.FSetAVL.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetAVL
-FSetAVL : Implementation of FSetInterface via AVL trees
+FSetAVL : Implementation of FSetInterface via AVL trees
diff --git a/master/stdlib/Stdlib.FSets.FSetBridge.html b/master/stdlib/Stdlib.FSets.FSetBridge.html
index c91598d2db..2b36a95abf 100644
--- a/master/stdlib/Stdlib.FSets.FSetBridge.html
+++ b/master/stdlib/Stdlib.FSets.FSetBridge.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetBridge
-From non-dependent signature S to dependent signature Sdep.
+From non-dependent signature S to dependent signature Sdep.
@@ -243,7 +243,7 @@ Library Stdlib.FSets.FSetBridge
-From dependent signature Sdep to non-dependent signature S.
+From dependent signature Sdep to non-dependent signature S.
diff --git a/master/stdlib/Stdlib.FSets.FSetCompat.html b/master/stdlib/Stdlib.FSets.FSetCompat.html
index e8487619a8..e3f9c1002b 100644
--- a/master/stdlib/Stdlib.FSets.FSetCompat.html
+++ b/master/stdlib/Stdlib.FSets.FSetCompat.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetCompat
-Compatibility functors between FSetInterface and MSetInterface.
+Compatibility functors between FSetInterface and MSetInterface.
@@ -64,7 +64,7 @@ Library Stdlib.FSets.FSetCompat
@@ -227,7 +227,7 @@ Library Stdlib.FSets.FSetCompat
@@ -285,7 +285,7 @@ Library Stdlib.FSets.FSetCompat
@@ -428,7 +428,7 @@ Library Stdlib.FSets.FSetCompat
diff --git a/master/stdlib/Stdlib.FSets.FSetDecide.html b/master/stdlib/Stdlib.FSets.FSetDecide.html
index 1e3d184497..305b808f70 100644
--- a/master/stdlib/Stdlib.FSets.FSetDecide.html
+++ b/master/stdlib/Stdlib.FSets.FSetDecide.html
@@ -74,7 +74,7 @@ Library Stdlib.FSets.FSetDecide
-Overview
+Overview
This functor defines the tactic fsetdec, which will
solve any valid goal of the form
@@ -180,7 +180,7 @@ Library Stdlib.FSets.FSetDecide
-Facts and Tactics for Propositional Logic
+Facts and Tactics for Propositional Logic
These lemmas and tactics are in a module so that they do
not affect the namespace if you import the enclosing
@@ -195,18 +195,18 @@ Library Stdlib.FSets.FSetDecide
-Lemmas and Tactics About Decidable Propositions
+Lemmas and Tactics About Decidable Propositions
-Propositional Equivalences Involving Negation
+Propositional Equivalences Involving Negation
These are all written with the unfolded form of
negation, since I am not sure if setoid rewriting will
always perform conversion.
-Tactics for Negations
+Tactics for Negations
@@ -457,7 +457,7 @@ Library Stdlib.FSets.FSetDecide
-Auxiliary Tactics
+Auxiliary Tactics
Again, these lemmas and tactics are in a module so that
they do not affect the namespace if you import the
@@ -470,7 +470,7 @@ Library Stdlib.FSets.FSetDecide
-Generic Tactics
+Generic Tactics
We begin by defining a few generic, useful tactics.
@@ -587,7 +587,7 @@ Library Stdlib.FSets.FSetDecide
-Discarding Irrelevant Hypotheses
+Discarding Irrelevant Hypotheses
We will want to clear the context of any
non-FSet-related hypotheses in order to increase the
@@ -667,7 +667,7 @@ Library Stdlib.FSets.FSetDecide
-Turning Set Operators into Propositional Connectives
+Turning Set Operators into Propositional Connectives
The lemmas from FSetFacts will be used to break down
set operations into propositional formulas built over
@@ -693,7 +693,7 @@ Library Stdlib.FSets.FSetDecide
-Decidability of FSet Propositions
+Decidability of FSet Propositions
@@ -728,7 +728,7 @@ Library Stdlib.FSets.FSetDecide
-Normalizing Propositions About Equality
+Normalizing Propositions About Equality
We have to deal with the fact that E.eq may be
convertible with Coq's equality. Thus, we will find the
@@ -811,7 +811,7 @@ Library Stdlib.FSets.FSetDecide
-Considering Decidability of Base Propositions
+Considering Decidability of Base Propositions
This tactic adds assertions about the decidability of
E.eq and In to the context. This is necessary for
@@ -860,7 +860,7 @@ Library Stdlib.FSets.FSetDecide
-Handling Empty, Subset, and Equal
+Handling Empty, Subset, and Equal
This tactic instantiates universally quantified
hypotheses (which arise from the unfolding of Empty,
@@ -908,7 +908,7 @@ Library Stdlib.FSets.FSetDecide
-The Core fsetdec Auxiliary Tactics
+The Core fsetdec Auxiliary Tactics
@@ -950,7 +950,7 @@ Library Stdlib.FSets.FSetDecide
-The fsetdec Tactic
+The fsetdec Tactic
Here is the top-level tactic (the only one intended for
clients of this library). It's specification is given at
@@ -1064,7 +1064,7 @@ Library Stdlib.FSets.FSetDecide
diff --git a/master/stdlib/Stdlib.FSets.FSetEqProperties.html b/master/stdlib/Stdlib.FSets.FSetEqProperties.html
index bff665e7e1..08d5a59c1e 100644
--- a/master/stdlib/Stdlib.FSets.FSetEqProperties.html
+++ b/master/stdlib/Stdlib.FSets.FSetEqProperties.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetEqProperties
-Finite sets library
+Finite sets library
diff --git a/master/stdlib/Stdlib.FSets.FSetInterface.html b/master/stdlib/Stdlib.FSets.FSetInterface.html
index f7459e5256..f28b845a05 100644
--- a/master/stdlib/Stdlib.FSets.FSetInterface.html
+++ b/master/stdlib/Stdlib.FSets.FSetInterface.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetInterface
-Non-dependent signatures
+Non-dependent signatures
@@ -113,7 +113,7 @@ Library Stdlib.FSets.FSetInterface
programs together with axioms
-Functorial signature for weak sets
+Functorial signature for weak sets
@@ -618,7 +618,7 @@ Library Stdlib.FSets.FSetInterface
-Static signature for weak sets
+Static signature for weak sets
@@ -638,7 +638,7 @@ Library Stdlib.FSets.FSetInterface
-Functorial signature for sets on ordered elements
+Functorial signature for sets on ordered elements
@@ -765,7 +765,7 @@ Library Stdlib.FSets.FSetInterface
-Static signature for sets on ordered elements
+Static signature for sets on ordered elements
@@ -785,7 +785,7 @@ Library Stdlib.FSets.FSetInterface
-Some subtyping tests
+Some subtyping tests
WSfun ---> WS
@@ -802,7 +802,7 @@ Library Stdlib.FSets.FSetInterface
-Dependent signature
+Dependent signature
diff --git a/master/stdlib/Stdlib.FSets.FSetList.html b/master/stdlib/Stdlib.FSets.FSetList.html
index fba26c95fd..1ed974abb6 100644
--- a/master/stdlib/Stdlib.FSets.FSetList.html
+++ b/master/stdlib/Stdlib.FSets.FSetList.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetList
-Finite sets library
+Finite sets library
diff --git a/master/stdlib/Stdlib.FSets.FSetProperties.html b/master/stdlib/Stdlib.FSets.FSetProperties.html
index bdbe51be44..e47e3e1cb4 100644
--- a/master/stdlib/Stdlib.FSets.FSetProperties.html
+++ b/master/stdlib/Stdlib.FSets.FSetProperties.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetProperties
@@ -355,7 +355,7 @@ Library Stdlib.FSets.FSetProperties
@@ -379,7 +379,7 @@ Library Stdlib.FSets.FSetProperties
@@ -407,7 +407,7 @@ Library Stdlib.FSets.FSetProperties
-Induction principles for fold (contributed by S. Lescuyer)
+Induction principles for fold (contributed by S. Lescuyer)
@@ -513,7 +513,7 @@ Library Stdlib.FSets.FSetProperties
-Alternative (weaker) specifications for fold
+Alternative (weaker) specifications for fold
@@ -585,7 +585,7 @@ Library Stdlib.FSets.FSetProperties
@@ -602,7 +602,7 @@ Library Stdlib.FSets.FSetProperties
@@ -654,11 +654,11 @@ Library Stdlib.FSets.FSetProperties
-Cardinal
+Cardinal
-Characterization of cardinal in terms of fold
+Characterization of cardinal in terms of fold
@@ -670,7 +670,7 @@ Library Stdlib.FSets.FSetProperties
@@ -693,7 +693,7 @@ Library Stdlib.FSets.FSetProperties
@@ -718,7 +718,7 @@ Library Stdlib.FSets.FSetProperties
@@ -737,7 +737,7 @@ Library Stdlib.FSets.FSetProperties
diff --git a/master/stdlib/Stdlib.FSets.FSetToFiniteSet.html b/master/stdlib/Stdlib.FSets.FSetToFiniteSet.html
index 3a5be933bd..d167ef05b1 100644
--- a/master/stdlib/Stdlib.FSets.FSetToFiniteSet.html
+++ b/master/stdlib/Stdlib.FSets.FSetToFiniteSet.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetToFiniteSet
-Finite sets library : conversion to old Finite_sets
+Finite sets library : conversion to old Finite_sets
@@ -61,7 +61,7 @@ Library Stdlib.FSets.FSetToFiniteSet
-Going from FSets with usual Leibniz equality
+Going from FSets with usual Leibniz equality
to the good old Ensembles and Finite_sets theory.
diff --git a/master/stdlib/Stdlib.FSets.FSetWeakList.html b/master/stdlib/Stdlib.FSets.FSetWeakList.html
index a960554790..304982c970 100644
--- a/master/stdlib/Stdlib.FSets.FSetWeakList.html
+++ b/master/stdlib/Stdlib.FSets.FSetWeakList.html
@@ -48,7 +48,7 @@ Library Stdlib.FSets.FSetWeakList
-Finite sets library
+Finite sets library
diff --git a/master/stdlib/Stdlib.Floats.FloatLemmas.html b/master/stdlib/Stdlib.Floats.FloatLemmas.html
index 8deaec344a..796cfa7cc5 100644
--- a/master/stdlib/Stdlib.Floats.FloatLemmas.html
+++ b/master/stdlib/Stdlib.Floats.FloatLemmas.html
@@ -52,7 +52,7 @@ Library Stdlib.Floats.FloatLemmas
diff --git a/master/stdlib/Stdlib.Lists.List.html b/master/stdlib/Stdlib.Lists.List.html
index 9b54082c5c..a4611817fd 100644
--- a/master/stdlib/Stdlib.Lists.List.html
+++ b/master/stdlib/Stdlib.Lists.List.html
@@ -56,7 +56,7 @@ Library Stdlib.Lists.List
-Basics: definition of polymorphic lists and some operations
+Basics: definition of polymorphic lists and some operations
@@ -148,7 +148,7 @@ Library Stdlib.Lists.List
@@ -198,7 +198,7 @@ Library Stdlib.Lists.List
@@ -418,7 +418,7 @@ Library Stdlib.Lists.List
@@ -614,7 +614,7 @@ Library Stdlib.Lists.List
@@ -720,7 +720,7 @@ Library Stdlib.Lists.List
@@ -784,7 +784,7 @@ Library Stdlib.Lists.List
@@ -799,7 +799,7 @@ Library Stdlib.Lists.List
@@ -896,7 +896,7 @@ Library Stdlib.Lists.List
@@ -925,7 +925,7 @@ Library Stdlib.Lists.List
@@ -946,11 +946,11 @@ Library Stdlib.Lists.List
-Applying functions to the elements of a list
+Applying functions to the elements of a list
-Map
+Map
@@ -1038,7 +1038,7 @@ Library Stdlib.Lists.List
@@ -1220,7 +1220,7 @@ Library Stdlib.Lists.List
@@ -1387,7 +1387,7 @@ Library Stdlib.Lists.List
@@ -1481,7 +1481,7 @@ Library Stdlib.Lists.List
@@ -1613,11 +1613,11 @@ Library Stdlib.Lists.List
-Miscellaneous operations on lists
+Miscellaneous operations on lists
-Length order of lists
+Length order of lists
@@ -1661,7 +1661,7 @@ Library Stdlib.Lists.List
@@ -1751,7 +1751,7 @@ Library Stdlib.Lists.List
@@ -1916,7 +1916,7 @@ Library Stdlib.Lists.List
-Combining pairs of lists of possibly-different lengths
+Combining pairs of lists of possibly-different lengths
@@ -1948,7 +1948,7 @@ Library Stdlib.Lists.List
-Predicate for List addition/removal (no need for decidability)
+Predicate for List addition/removal (no need for decidability)
@@ -1992,7 +1992,7 @@ Library Stdlib.Lists.List
@@ -2144,7 +2144,7 @@ Library Stdlib.Lists.List
@@ -2196,7 +2196,7 @@ Library Stdlib.Lists.List
@@ -2333,7 +2333,7 @@ Library Stdlib.Lists.List
@@ -2866,7 +2866,7 @@ Library Stdlib.Lists.List
-Inversion of predicates over lists based on head symbol
+Inversion of predicates over lists based on head symbol
@@ -2894,7 +2894,7 @@ Library Stdlib.Lists.List
diff --git a/master/stdlib/Stdlib.Lists.SetoidList.html b/master/stdlib/Stdlib.Lists.SetoidList.html
index 3482e5bb7f..1ee29d6a73 100644
--- a/master/stdlib/Stdlib.Lists.SetoidList.html
+++ b/master/stdlib/Stdlib.Lists.SetoidList.html
@@ -52,7 +52,7 @@ Library Stdlib.Lists.SetoidList
-Logical relations over lists with respect to a setoid equality
+Logical relations over lists with respect to a setoid equality
or ordering.
diff --git a/master/stdlib/Stdlib.Lists.StreamMemo.html b/master/stdlib/Stdlib.Lists.StreamMemo.html
index 2de37f401c..cb3ff9bcb7 100644
--- a/master/stdlib/Stdlib.Lists.StreamMemo.html
+++ b/master/stdlib/Stdlib.Lists.StreamMemo.html
@@ -52,7 +52,7 @@ Library Stdlib.Lists.StreamMemo
-Memoization
+Memoization
diff --git a/master/stdlib/Stdlib.Logic.ChoiceFacts.html b/master/stdlib/Stdlib.Logic.ChoiceFacts.html
index d4c56fb03b..64449922fa 100644
--- a/master/stdlib/Stdlib.Logic.ChoiceFacts.html
+++ b/master/stdlib/Stdlib.Logic.ChoiceFacts.html
@@ -49,7 +49,7 @@ Library Stdlib.Logic.ChoiceFacts
Some facts and definitions concerning choice and description in
- intuitionistic logic. References:
+ intuitionistic logic. References:
@@ -88,7 +88,7 @@ Library Stdlib.Logic.ChoiceFacts
-Constructive choice and description
+Constructive choice and description
@@ -345,7 +345,7 @@ Library Stdlib.Logic.ChoiceFacts
-Weakly classical choice and description
+Weakly classical choice and description
@@ -624,7 +624,7 @@ Library Stdlib.Logic.ChoiceFacts
-Table of contents
+Table of contents
@@ -681,7 +681,7 @@ Library Stdlib.Logic.ChoiceFacts
-AC_rel + AC! = AC_fun
+AC_rel + AC! = AC_fun
@@ -721,7 +721,7 @@ Library Stdlib.Logic.ChoiceFacts
-Connection between the guarded, non guarded and omniscient choices
+Connection between the guarded, non guarded and omniscient choices
@@ -732,7 +732,7 @@ Library Stdlib.Logic.ChoiceFacts
irrelevance)
-AC_rel + PI -> GAC_rel and AC_rel + IGP -> GAC_rel and GAC_rel = OAC_rel
+AC_rel + PI -> GAC_rel and AC_rel + IGP -> GAC_rel and GAC_rel = OAC_rel
@@ -770,7 +770,7 @@ Library Stdlib.Logic.ChoiceFacts
-AC_fun + IGP = GAC_fun = OAC_fun = AC_fun + Drinker
+AC_fun + IGP = GAC_fun = OAC_fun = AC_fun + Drinker
@@ -845,7 +845,7 @@ Library Stdlib.Logic.ChoiceFacts
-D_iota -> ID_iota and D_epsilon <-> ID_epsilon + Drinker
+D_iota -> ID_iota and D_epsilon <-> ID_epsilon + Drinker
@@ -889,7 +889,7 @@ Library Stdlib.Logic.ChoiceFacts
-Derivability of choice for decidable relations with well-ordered codomain
+Derivability of choice for decidable relations with well-ordered codomain
@@ -922,11 +922,11 @@ Library Stdlib.Logic.ChoiceFacts
-AC_fun = AC_fun_dep = AC_trunc
+AC_fun = AC_fun_dep = AC_trunc
-Choice on dependent and non dependent function types are equivalent
+Choice on dependent and non dependent function types are equivalent
@@ -965,7 +965,7 @@ Library Stdlib.Logic.ChoiceFacts
-Functional choice and truncation choice are equivalent
+Functional choice and truncation choice are equivalent
@@ -982,7 +982,7 @@ Library Stdlib.Logic.ChoiceFacts
-Reification of dependent and non dependent functional relation are equivalent
+Reification of dependent and non dependent functional relation are equivalent
@@ -1017,11 +1017,11 @@ Library Stdlib.Logic.ChoiceFacts
-Non contradiction of constructive descriptions wrt functional axioms of choice
+Non contradiction of constructive descriptions wrt functional axioms of choice
-Non contradiction of indefinite description
+Non contradiction of indefinite description
@@ -1039,7 +1039,7 @@ Library Stdlib.Logic.ChoiceFacts
@@ -1083,7 +1083,7 @@ Library Stdlib.Logic.ChoiceFacts
-Excluded-middle + definite description => computational excluded-middle
+Excluded-middle + definite description => computational excluded-middle
@@ -1127,7 +1127,7 @@ Library Stdlib.Logic.ChoiceFacts
@@ -1147,7 +1147,7 @@ Library Stdlib.Logic.ChoiceFacts
@@ -1159,7 +1159,7 @@ Library Stdlib.Logic.ChoiceFacts
-Consequences of the choice of a representative in an equivalence class
+Consequences of the choice of a representative in an equivalence class
@@ -1180,7 +1180,7 @@ Library Stdlib.Logic.ChoiceFacts
-This is a variant of Diaconescu and Goodman-Myhill theorems
+This is a variant of Diaconescu and Goodman-Myhill theorems
@@ -1197,7 +1197,7 @@ Library Stdlib.Logic.ChoiceFacts
-AC_fun_setoid = AC_fun_setoid_gen = AC_fun_setoid_simple
+AC_fun_setoid = AC_fun_setoid_gen = AC_fun_setoid_simple
@@ -1230,7 +1230,7 @@ Library Stdlib.Logic.ChoiceFacts
@@ -1266,7 +1266,7 @@ Library Stdlib.Logic.ChoiceFacts
functional forms, SetoidFunctionalChoice seems strictly stronger
-AC_fun_setoid = AC_fun + Ext_fun_repr + EM
+AC_fun_setoid = AC_fun + Ext_fun_repr + EM
@@ -1278,7 +1278,7 @@ Library Stdlib.Logic.ChoiceFacts
-This is the main theorem in [Carlström04]
+This is the main theorem in [Carlström04]
@@ -1302,7 +1302,7 @@ Library Stdlib.Logic.ChoiceFacts
-AC_fun_setoid = AC_fun + Ext_pred_repr + PI
+AC_fun_setoid = AC_fun + Ext_pred_repr + PI
@@ -1326,7 +1326,7 @@ Library Stdlib.Logic.ChoiceFacts
diff --git a/master/stdlib/Stdlib.Logic.ClassicalEpsilon.html b/master/stdlib/Stdlib.Logic.ClassicalEpsilon.html
index c80a9725eb..466b7e2a47 100644
--- a/master/stdlib/Stdlib.Logic.ClassicalEpsilon.html
+++ b/master/stdlib/Stdlib.Logic.ClassicalEpsilon.html
@@ -132,7 +132,7 @@ Library Stdlib.Logic.ClassicalEpsilon
diff --git a/master/stdlib/Stdlib.Logic.ClassicalFacts.html b/master/stdlib/Stdlib.Logic.ClassicalFacts.html
index be9f102346..cf71f9bdd0 100644
--- a/master/stdlib/Stdlib.Logic.ClassicalFacts.html
+++ b/master/stdlib/Stdlib.Logic.ClassicalFacts.html
@@ -117,7 +117,7 @@ Library Stdlib.Logic.ClassicalFacts
-Prop degeneracy = excluded-middle + prop extensionality
+Prop degeneracy = excluded-middle + prop extensionality
@@ -193,11 +193,11 @@ Library Stdlib.Logic.ClassicalFacts
-Classical logic and proof-irrelevance
+Classical logic and proof-irrelevance
-CC |- prop ext + A inhabited -> (A = A->A) -> A has fixpoint
+CC |- prop ext + A inhabited -> (A = A->A) -> A has fixpoint
@@ -250,7 +250,7 @@ Library Stdlib.Logic.ClassicalFacts
-CC |- prop_ext /\ dep elim on bool -> proof-irrelevance
+CC |- prop_ext /\ dep elim on bool -> proof-irrelevance
@@ -347,7 +347,7 @@ Library Stdlib.Logic.ClassicalFacts
-CIC |- prop. ext. -> proof-irrelevance
+CIC |- prop. ext. -> proof-irrelevance
@@ -401,7 +401,7 @@ Library Stdlib.Logic.ClassicalFacts
-CC |- excluded-middle + dep elim on bool -> proof-irrelevance
+CC |- excluded-middle + dep elim on bool -> proof-irrelevance
@@ -573,7 +573,7 @@ Library Stdlib.Logic.ClassicalFacts
-CIC |- excluded-middle -> proof-irrelevance
+CIC |- excluded-middle -> proof-irrelevance
@@ -638,7 +638,7 @@ Library Stdlib.Logic.ClassicalFacts
-Weak classical axioms
+Weak classical axioms
@@ -660,7 +660,7 @@ Library Stdlib.Logic.ClassicalFacts
-Weak excluded-middle
+Weak excluded-middle
@@ -715,7 +715,7 @@ Library Stdlib.Logic.ClassicalFacts
-Independence of general premises and drinker's paradox
+Independence of general premises and drinker's paradox
@@ -962,11 +962,11 @@ Library Stdlib.Logic.ClassicalFacts
-Axioms equivalent to classical logic
+Axioms equivalent to classical logic
-Principle of unrestricted minimization
+Principle of unrestricted minimization
@@ -1039,7 +1039,7 @@ Library Stdlib.Logic.ClassicalFacts
-Choice of representatives in a partition of bool
+Choice of representatives in a partition of bool
diff --git a/master/stdlib/Stdlib.Logic.Diaconescu.html b/master/stdlib/Stdlib.Logic.Diaconescu.html
index 2559c80aa4..c88f273a79 100644
--- a/master/stdlib/Stdlib.Logic.Diaconescu.html
+++ b/master/stdlib/Stdlib.Logic.Diaconescu.html
@@ -107,7 +107,7 @@ Library Stdlib.Logic.Diaconescu
-Pred. Ext. + Rel. Axiom of Choice -> Excluded-Middle
+Pred. Ext. + Rel. Axiom of Choice -> Excluded-Middle
@@ -203,7 +203,7 @@ Library Stdlib.Logic.Diaconescu
-Proof-Irrel. + Rel. Axiom of Choice -> Excl.-Middle for Equality
+Proof-Irrel. + Rel. Axiom of Choice -> Excl.-Middle for Equality
@@ -310,7 +310,7 @@ Library Stdlib.Logic.Diaconescu
-Extensional Hilbert's epsilon description operator -> Excluded-Middle
+Extensional Hilbert's epsilon description operator -> Excluded-Middle
diff --git a/master/stdlib/Stdlib.Logic.EqdepFacts.html b/master/stdlib/Stdlib.Logic.EqdepFacts.html
index 524f0f0660..1036d2b7a3 100644
--- a/master/stdlib/Stdlib.Logic.EqdepFacts.html
+++ b/master/stdlib/Stdlib.Logic.EqdepFacts.html
@@ -115,7 +115,7 @@ Library Stdlib.Logic.EqdepFacts
-Definition of dependent equality and equivalence with equality of dependent pairs
+Definition of dependent equality and equivalence with equality of dependent pairs
@@ -283,7 +283,7 @@ Library Stdlib.Logic.EqdepFacts
-Eq_rect_eq <-> Eq_dep_eq <-> UIP <-> UIP_refl <-> K
+Eq_rect_eq <-> Eq_dep_eq <-> UIP <-> UIP_refl <-> K
@@ -509,7 +509,7 @@ Library Stdlib.Logic.EqdepFacts
-Definition of the functor that builds properties of dependent equalities assuming axiom eq_rect_eq
+Definition of the functor that builds properties of dependent equalities assuming axiom eq_rect_eq
diff --git a/master/stdlib/Stdlib.Logic.Eqdep_dec.html b/master/stdlib/Stdlib.Logic.Eqdep_dec.html
index 86b4ef91ba..0e1a622aad 100644
--- a/master/stdlib/Stdlib.Logic.Eqdep_dec.html
+++ b/master/stdlib/Stdlib.Logic.Eqdep_dec.html
@@ -87,7 +87,7 @@ Library Stdlib.Logic.Eqdep_dec
-Streicher's K and injectivity of dependent pair hold on decidable types
+Streicher's K and injectivity of dependent pair hold on decidable types
@@ -245,7 +245,7 @@ Library Stdlib.Logic.Eqdep_dec
-Definition of the functor that builds properties of dependent equalities on decidable sets in Type
+Definition of the functor that builds properties of dependent equalities on decidable sets in Type
@@ -369,7 +369,7 @@ Library Stdlib.Logic.Eqdep_dec
-Definition of the functor that builds properties of dependent equalities on decidable sets in Set
+Definition of the functor that builds properties of dependent equalities on decidable sets in Set
diff --git a/master/stdlib/Stdlib.Logic.ExtensionalityFacts.html b/master/stdlib/Stdlib.Logic.ExtensionalityFacts.html
index 4b253f7424..8b7cd6cf9e 100644
--- a/master/stdlib/Stdlib.Logic.ExtensionalityFacts.html
+++ b/master/stdlib/Stdlib.Logic.ExtensionalityFacts.html
@@ -104,7 +104,7 @@ Library Stdlib.Logic.ExtensionalityFacts
-Functional extensionality <-> Equality of projections from diagonal
+Functional extensionality <-> Equality of projections from diagonal
@@ -208,7 +208,7 @@ Library Stdlib.Logic.ExtensionalityFacts
-Functional extensionality <-> Unicity of bijection inverse
+Functional extensionality <-> Unicity of bijection inverse
@@ -226,7 +226,7 @@ Library Stdlib.Logic.ExtensionalityFacts
-Functional extensionality <-> Bijectivity of bijective composition
+Functional extensionality <-> Bijectivity of bijective composition
diff --git a/master/stdlib/Stdlib.Logic.FinFun.html b/master/stdlib/Stdlib.Logic.FinFun.html
index dcda66c34b..1ae377f9e0 100644
--- a/master/stdlib/Stdlib.Logic.FinFun.html
+++ b/master/stdlib/Stdlib.Logic.FinFun.html
@@ -48,7 +48,7 @@ Library Stdlib.Logic.FinFun
-Functions on finite domains
+Functions on finite domains
diff --git a/master/stdlib/Stdlib.Logic.Hurkens.html b/master/stdlib/Stdlib.Logic.Hurkens.html
index 83296166e8..1e267df946 100644
--- a/master/stdlib/Stdlib.Logic.Hurkens.html
+++ b/master/stdlib/Stdlib.Logic.Hurkens.html
@@ -175,7 +175,7 @@ Library Stdlib.Logic.Hurkens
-A modular proof of Hurkens's paradox.
+A modular proof of Hurkens's paradox.
@@ -202,7 +202,7 @@ Library Stdlib.Logic.Hurkens
-Axiomatisation of impredicative universes in a Martin-Löf style
+Axiomatisation of impredicative universes in a Martin-Löf style
@@ -213,7 +213,7 @@ Library Stdlib.Logic.Hurkens
actual system U-.
-Large universe
+Large universe
@@ -222,7 +222,7 @@ Library Stdlib.Logic.Hurkens
@@ -238,7 +238,7 @@ Library Stdlib.Logic.Hurkens
@@ -255,7 +255,7 @@ Library Stdlib.Logic.Hurkens
@@ -265,7 +265,7 @@ Library Stdlib.Logic.Hurkens
@@ -279,7 +279,7 @@ Library Stdlib.Logic.Hurkens
@@ -294,7 +294,7 @@ Library Stdlib.Logic.Hurkens
@@ -312,7 +312,7 @@ Library Stdlib.Logic.Hurkens
@@ -354,7 +354,7 @@ Library Stdlib.Logic.Hurkens
@@ -439,7 +439,7 @@ Library Stdlib.Logic.Hurkens
-Impredicative universes are not retracts.
+Impredicative universes are not retracts.
@@ -466,7 +466,7 @@ Library Stdlib.Logic.Hurkens
@@ -493,7 +493,7 @@ Library Stdlib.Logic.Hurkens
@@ -506,7 +506,7 @@ Library Stdlib.Logic.Hurkens
@@ -570,7 +570,7 @@ Library Stdlib.Logic.Hurkens
-Modal fragments of Prop are not retracts
+Modal fragments of Prop are not retracts
@@ -589,7 +589,7 @@ Library Stdlib.Logic.Hurkens
@@ -612,7 +612,7 @@ Library Stdlib.Logic.Hurkens
@@ -642,7 +642,7 @@ Library Stdlib.Logic.Hurkens
-Retract of the modal fragment of Prop in a small type
+Retract of the modal fragment of Prop in a small type
@@ -662,7 +662,7 @@ Library Stdlib.Logic.Hurkens
@@ -721,7 +721,7 @@ Library Stdlib.Logic.Hurkens
-The negative fragment of Prop is not a retract
+The negative fragment of Prop is not a retract
@@ -738,7 +738,7 @@ Library Stdlib.Logic.Hurkens
@@ -754,7 +754,7 @@ Library Stdlib.Logic.Hurkens
-Retract of the negative fragment of Prop in a small type
+Retract of the negative fragment of Prop in a small type
@@ -774,7 +774,7 @@ Library Stdlib.Logic.Hurkens
@@ -805,7 +805,7 @@ Library Stdlib.Logic.Hurkens
@@ -838,7 +838,7 @@ Library Stdlib.Logic.Hurkens
-Retract of Prop in a small type, using the identity modality.
+Retract of Prop in a small type, using the identity modality.
@@ -854,7 +854,7 @@ Library Stdlib.Logic.Hurkens
@@ -885,7 +885,7 @@ Library Stdlib.Logic.Hurkens
-Retract of Prop in a small type
+Retract of Prop in a small type
@@ -903,7 +903,7 @@ Library Stdlib.Logic.Hurkens
@@ -930,7 +930,7 @@ Library Stdlib.Logic.Hurkens
-Large universes are not retracts of Prop.
+Large universes are not retracts of Prop.
@@ -955,7 +955,7 @@ Library Stdlib.Logic.Hurkens
@@ -969,7 +969,7 @@ Library Stdlib.Logic.Hurkens
@@ -1024,7 +1024,7 @@ Library Stdlib.Logic.Hurkens
@@ -1059,7 +1059,7 @@ Library Stdlib.Logic.Hurkens
-Universe U is a retract of A
+Universe U is a retract of A
@@ -1149,7 +1149,7 @@ Library Stdlib.Logic.Hurkens
-Prop<>Type.
+Prop<>Type.
diff --git a/master/stdlib/Stdlib.Logic.PropExtensionalityFacts.html b/master/stdlib/Stdlib.Logic.PropExtensionalityFacts.html
index 747a9cde50..ba666ee9fa 100644
--- a/master/stdlib/Stdlib.Logic.PropExtensionalityFacts.html
+++ b/master/stdlib/Stdlib.Logic.PropExtensionalityFacts.html
@@ -116,7 +116,7 @@ Library Stdlib.Logic.PropExtensionalityFacts
-Propositional and predicate extensionality
+Propositional and predicate extensionality
-Predicate extensionality <-> Propositional extensionality + Propositional functional extensionality
+Predicate extensionality <-> Propositional extensionality + Propositional functional extensionality
@@ -207,7 +207,7 @@ Library Stdlib.Logic.PropExtensionalityFacts
-Propositional extensionality and provable proposition extensionality
+Propositional extensionality and provable proposition extensionality
@@ -219,7 +219,7 @@ Library Stdlib.Logic.PropExtensionalityFacts
-Propositional extensionality and refutable proposition extensionality
+Propositional extensionality and refutable proposition extensionality
diff --git a/master/stdlib/Stdlib.Logic.PropFacts.html b/master/stdlib/Stdlib.Logic.PropFacts.html
index 71acffa0a2..eff5570671 100644
--- a/master/stdlib/Stdlib.Logic.PropFacts.html
+++ b/master/stdlib/Stdlib.Logic.PropFacts.html
@@ -48,7 +48,7 @@ Library Stdlib.Logic.PropFacts
-Basic facts about Prop as a type
+Basic facts about Prop as a type
diff --git a/master/stdlib/Stdlib.Logic.SetIsType.html b/master/stdlib/Stdlib.Logic.SetIsType.html
index e0a0bba750..51e960e3fb 100644
--- a/master/stdlib/Stdlib.Logic.SetIsType.html
+++ b/master/stdlib/Stdlib.Logic.SetIsType.html
@@ -48,7 +48,7 @@ Library Stdlib.Logic.SetIsType
-The Set universe seen as a synonym for Type
+The Set universe seen as a synonym for Type
diff --git a/master/stdlib/Stdlib.MSets.MSetAVL.html b/master/stdlib/Stdlib.MSets.MSetAVL.html
index a38ab60671..81e34ad41a 100644
--- a/master/stdlib/Stdlib.MSets.MSetAVL.html
+++ b/master/stdlib/Stdlib.MSets.MSetAVL.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetAVL
-MSetAVL : Implementation of MSetInterface via AVL trees
+MSetAVL : Implementation of MSetInterface via AVL trees
@@ -90,7 +90,7 @@ Library Stdlib.MSets.MSetAVL
@@ -104,7 +104,7 @@ Library Stdlib.MSets.MSetAVL
-Generic trees instantiated with integer height
+Generic trees instantiated with integer height
@@ -124,7 +124,7 @@ Library Stdlib.MSets.MSetAVL
@@ -140,7 +140,7 @@ Library Stdlib.MSets.MSetAVL
@@ -152,7 +152,7 @@ Library Stdlib.MSets.MSetAVL
@@ -235,7 +235,7 @@ Library Stdlib.MSets.MSetAVL
-Extraction of minimum element
+Extraction of minimum element
@@ -288,7 +288,7 @@ Library Stdlib.MSets.MSetAVL
@@ -332,7 +332,7 @@ Library Stdlib.MSets.MSetAVL
@@ -415,7 +415,7 @@ Library Stdlib.MSets.MSetAVL
@@ -434,7 +434,7 @@ Library Stdlib.MSets.MSetAVL
@@ -483,7 +483,7 @@ Library Stdlib.MSets.MSetAVL
@@ -506,7 +506,7 @@ Library Stdlib.MSets.MSetAVL
@@ -795,7 +795,7 @@ Library Stdlib.MSets.MSetAVL
@@ -822,7 +822,7 @@ Library Stdlib.MSets.MSetAVL
@@ -846,7 +846,7 @@ Library Stdlib.MSets.MSetAVL
@@ -909,7 +909,7 @@ Library Stdlib.MSets.MSetAVL
@@ -928,7 +928,7 @@ Library Stdlib.MSets.MSetAVL
@@ -945,7 +945,7 @@ Library Stdlib.MSets.MSetAVL
@@ -964,7 +964,7 @@ Library Stdlib.MSets.MSetAVL
@@ -996,7 +996,7 @@ Library Stdlib.MSets.MSetAVL
@@ -1026,7 +1026,7 @@ Library Stdlib.MSets.MSetAVL
@@ -1047,7 +1047,7 @@ Library Stdlib.MSets.MSetAVL
@@ -1064,7 +1064,7 @@ Library Stdlib.MSets.MSetAVL
@@ -1086,7 +1086,7 @@ Library Stdlib.MSets.MSetAVL
@@ -1123,7 +1123,7 @@ Library Stdlib.MSets.MSetAVL
-Encapsulation
+Encapsulation
diff --git a/master/stdlib/Stdlib.MSets.MSetDecide.html b/master/stdlib/Stdlib.MSets.MSetDecide.html
index f865d82c3e..5bd3894e69 100644
--- a/master/stdlib/Stdlib.MSets.MSetDecide.html
+++ b/master/stdlib/Stdlib.MSets.MSetDecide.html
@@ -74,7 +74,7 @@ Library Stdlib.MSets.MSetDecide
-Overview
+Overview
This functor defines the tactic fsetdec, which will
solve any valid goal of the form
@@ -180,7 +180,7 @@ Library Stdlib.MSets.MSetDecide
-Facts and Tactics for Propositional Logic
+Facts and Tactics for Propositional Logic
These lemmas and tactics are in a module so that they do
not affect the namespace if you import the enclosing
@@ -195,18 +195,18 @@ Library Stdlib.MSets.MSetDecide
-Lemmas and Tactics About Decidable Propositions
+Lemmas and Tactics About Decidable Propositions
-Propositional Equivalences Involving Negation
+Propositional Equivalences Involving Negation
These are all written with the unfolded form of
negation, since I am not sure if setoid rewriting will
always perform conversion.
-Tactics for Negations
+Tactics for Negations
@@ -457,7 +457,7 @@ Library Stdlib.MSets.MSetDecide
-Auxiliary Tactics
+Auxiliary Tactics
Again, these lemmas and tactics are in a module so that
they do not affect the namespace if you import the
@@ -470,7 +470,7 @@ Library Stdlib.MSets.MSetDecide
-Generic Tactics
+Generic Tactics
We begin by defining a few generic, useful tactics.
@@ -587,7 +587,7 @@ Library Stdlib.MSets.MSetDecide
-Discarding Irrelevant Hypotheses
+Discarding Irrelevant Hypotheses
We will want to clear the context of any
non-MSet-related hypotheses in order to increase the
@@ -667,7 +667,7 @@ Library Stdlib.MSets.MSetDecide
-Turning Set Operators into Propositional Connectives
+Turning Set Operators into Propositional Connectives
The lemmas from MSetFacts will be used to break down
set operations into propositional formulas built over
@@ -693,7 +693,7 @@ Library Stdlib.MSets.MSetDecide
-Decidability of MSet Propositions
+Decidability of MSet Propositions
@@ -728,7 +728,7 @@ Library Stdlib.MSets.MSetDecide
-Normalizing Propositions About Equality
+Normalizing Propositions About Equality
We have to deal with the fact that E.eq may be
convertible with Coq's equality. Thus, we will find the
@@ -811,7 +811,7 @@ Library Stdlib.MSets.MSetDecide
-Considering Decidability of Base Propositions
+Considering Decidability of Base Propositions
This tactic adds assertions about the decidability of
E.eq and In to the context. This is necessary for
@@ -860,7 +860,7 @@ Library Stdlib.MSets.MSetDecide
-Handling Empty, Subset, and Equal
+Handling Empty, Subset, and Equal
This tactic instantiates universally quantified
hypotheses (which arise from the unfolding of Empty,
@@ -908,7 +908,7 @@ Library Stdlib.MSets.MSetDecide
-The Core fsetdec Auxiliary Tactics
+The Core fsetdec Auxiliary Tactics
@@ -950,7 +950,7 @@ Library Stdlib.MSets.MSetDecide
-The fsetdec Tactic
+The fsetdec Tactic
Here is the top-level tactic (the only one intended for
clients of this library). It's specification is given at
@@ -1064,7 +1064,7 @@ Library Stdlib.MSets.MSetDecide
diff --git a/master/stdlib/Stdlib.MSets.MSetEqProperties.html b/master/stdlib/Stdlib.MSets.MSetEqProperties.html
index 39b820e6ca..7631040b98 100644
--- a/master/stdlib/Stdlib.MSets.MSetEqProperties.html
+++ b/master/stdlib/Stdlib.MSets.MSetEqProperties.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetEqProperties
-Finite sets library
+Finite sets library
diff --git a/master/stdlib/Stdlib.MSets.MSetFacts.html b/master/stdlib/Stdlib.MSets.MSetFacts.html
index 9f357adb8c..931e30112d 100644
--- a/master/stdlib/Stdlib.MSets.MSetFacts.html
+++ b/master/stdlib/Stdlib.MSets.MSetFacts.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetFacts
-Specifications written using implications :
+Specifications written using implications :
this used to be the default interface.
@@ -204,7 +204,7 @@ Library Stdlib.MSets.MSetFacts
-Specifications written using equivalences :
+Specifications written using equivalences :
this is now provided by the default interface.
@@ -293,7 +293,7 @@ Library Stdlib.MSets.MSetFacts
@@ -357,7 +357,7 @@ Library Stdlib.MSets.MSetFacts
-Declarations of morphisms with respects to E.eq and Equal
+Declarations of morphisms with respects to E.eq and Equal
diff --git a/master/stdlib/Stdlib.MSets.MSetGenTree.html b/master/stdlib/Stdlib.MSets.MSetGenTree.html
index 50c66be959..ef8782388c 100644
--- a/master/stdlib/Stdlib.MSets.MSetGenTree.html
+++ b/master/stdlib/Stdlib.MSets.MSetGenTree.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetGenTree
-MSetGenTree : sets via generic trees
+MSetGenTree : sets via generic trees
@@ -106,7 +106,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -128,7 +128,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -147,7 +147,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -200,7 +200,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -257,7 +257,7 @@ Library Stdlib.MSets.MSetGenTree
-Testing universal or existential properties.
+Testing universal or existential properties.
@@ -282,7 +282,7 @@ Library Stdlib.MSets.MSetGenTree
-Props : correctness proofs of these generic operations
+Props : correctness proofs of these generic operations
@@ -460,7 +460,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -478,7 +478,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -494,7 +494,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -584,7 +584,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -691,7 +691,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -789,7 +789,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -805,7 +805,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -817,7 +817,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -829,7 +829,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -869,7 +869,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -945,7 +945,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -962,7 +962,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -979,7 +979,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -1004,7 +1004,7 @@ Library Stdlib.MSets.MSetGenTree
@@ -1119,7 +1119,7 @@ Library Stdlib.MSets.MSetGenTree
diff --git a/master/stdlib/Stdlib.MSets.MSetInterface.html b/master/stdlib/Stdlib.MSets.MSetInterface.html
index 47405b0fe7..cc4e8fde6d 100644
--- a/master/stdlib/Stdlib.MSets.MSetInterface.html
+++ b/master/stdlib/Stdlib.MSets.MSetInterface.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetInterface
-Functorial signature for weak sets
+Functorial signature for weak sets
@@ -431,7 +431,7 @@ Library Stdlib.MSets.MSetInterface
-Static signature for weak sets
+Static signature for weak sets
@@ -451,7 +451,7 @@ Library Stdlib.MSets.MSetInterface
-Functorial signature for sets on ordered elements
+Functorial signature for sets on ordered elements
@@ -563,7 +563,7 @@ Library Stdlib.MSets.MSetInterface
-Static signature for sets on ordered elements
+Static signature for sets on ordered elements
@@ -586,7 +586,7 @@ Library Stdlib.MSets.MSetInterface
-Some subtyping tests
+Some subtyping tests
WSetsOn ---> WSets
@@ -603,7 +603,7 @@ Library Stdlib.MSets.MSetInterface
-Signatures for set representations with ill-formed values.
+Signatures for set representations with ill-formed values.
diff --git a/master/stdlib/Stdlib.MSets.MSetList.html b/master/stdlib/Stdlib.MSets.MSetList.html
index 3cfdd20b7a..4f5343d06e 100644
--- a/master/stdlib/Stdlib.MSets.MSetList.html
+++ b/master/stdlib/Stdlib.MSets.MSetList.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetList
@@ -301,7 +301,7 @@ Library Stdlib.MSets.MSetList
@@ -642,7 +642,7 @@ Library Stdlib.MSets.MSetList
-Encapsulation
+Encapsulation
diff --git a/master/stdlib/Stdlib.MSets.MSetProperties.html b/master/stdlib/Stdlib.MSets.MSetProperties.html
index 0a67345b7f..e6b65a2886 100644
--- a/master/stdlib/Stdlib.MSets.MSetProperties.html
+++ b/master/stdlib/Stdlib.MSets.MSetProperties.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetProperties
@@ -356,7 +356,7 @@ Library Stdlib.MSets.MSetProperties
@@ -380,7 +380,7 @@ Library Stdlib.MSets.MSetProperties
@@ -408,7 +408,7 @@ Library Stdlib.MSets.MSetProperties
-Induction principles for fold (contributed by S. Lescuyer)
+Induction principles for fold (contributed by S. Lescuyer)
@@ -514,7 +514,7 @@ Library Stdlib.MSets.MSetProperties
-Alternative (weaker) specifications for fold
+Alternative (weaker) specifications for fold
@@ -586,7 +586,7 @@ Library Stdlib.MSets.MSetProperties
@@ -603,7 +603,7 @@ Library Stdlib.MSets.MSetProperties
@@ -655,11 +655,11 @@ Library Stdlib.MSets.MSetProperties
-Cardinal
+Cardinal
-Characterization of cardinal in terms of fold
+Characterization of cardinal in terms of fold
@@ -671,7 +671,7 @@ Library Stdlib.MSets.MSetProperties
@@ -694,7 +694,7 @@ Library Stdlib.MSets.MSetProperties
@@ -719,7 +719,7 @@ Library Stdlib.MSets.MSetProperties
@@ -739,7 +739,7 @@ Library Stdlib.MSets.MSetProperties
diff --git a/master/stdlib/Stdlib.MSets.MSetRBT.html b/master/stdlib/Stdlib.MSets.MSetRBT.html
index 360c2067a0..ae288a84ad 100644
--- a/master/stdlib/Stdlib.MSets.MSetRBT.html
+++ b/master/stdlib/Stdlib.MSets.MSetRBT.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetRBT
-MSetRBT : Implementation of MSetInterface via Red-Black trees
+MSetRBT : Implementation of MSetInterface via Red-Black trees
@@ -152,7 +152,7 @@ Library Stdlib.MSets.MSetRBT
@@ -164,7 +164,7 @@ Library Stdlib.MSets.MSetRBT
-Generic trees instantiated with color
+Generic trees instantiated with color
@@ -186,7 +186,7 @@ Library Stdlib.MSets.MSetRBT
@@ -198,7 +198,7 @@ Library Stdlib.MSets.MSetRBT
@@ -221,7 +221,7 @@ Library Stdlib.MSets.MSetRBT
@@ -334,7 +334,7 @@ Library Stdlib.MSets.MSetRBT
@@ -394,7 +394,7 @@ Library Stdlib.MSets.MSetRBT
@@ -424,7 +424,7 @@ Library Stdlib.MSets.MSetRBT
@@ -525,7 +525,7 @@ Library Stdlib.MSets.MSetRBT
-Union, intersection, difference
+Union, intersection, difference
@@ -685,7 +685,7 @@ Library Stdlib.MSets.MSetRBT
-MakeRaw : the pure functions and their specifications
+MakeRaw : the pure functions and their specifications
@@ -723,7 +723,7 @@ Library Stdlib.MSets.MSetRBT
@@ -739,7 +739,7 @@ Library Stdlib.MSets.MSetRBT
@@ -762,7 +762,7 @@ Library Stdlib.MSets.MSetRBT
-Generic handling for red-matching and red-red-matching
+Generic handling for red-matching and red-red-matching
@@ -887,7 +887,7 @@ Library Stdlib.MSets.MSetRBT
@@ -933,7 +933,7 @@ Library Stdlib.MSets.MSetRBT
@@ -966,7 +966,7 @@ Library Stdlib.MSets.MSetRBT
@@ -996,7 +996,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1049,7 +1049,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1080,7 +1080,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1109,7 +1109,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1161,7 +1161,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1187,7 +1187,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1223,7 +1223,7 @@ Library Stdlib.MSets.MSetRBT
-An invariant for binary list functions with accumulator.
+An invariant for binary list functions with accumulator.
@@ -1270,7 +1270,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1318,7 +1318,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1359,7 +1359,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1408,7 +1408,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1537,7 +1537,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1563,7 +1563,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1575,7 +1575,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1591,7 +1591,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1628,7 +1628,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1739,7 +1739,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1760,7 +1760,7 @@ Library Stdlib.MSets.MSetRBT
@@ -1789,7 +1789,7 @@ Library Stdlib.MSets.MSetRBT
-Final Encapsulation
+Final Encapsulation
diff --git a/master/stdlib/Stdlib.MSets.MSetToFiniteSet.html b/master/stdlib/Stdlib.MSets.MSetToFiniteSet.html
index 9733dbc4d4..2a2b248e4b 100644
--- a/master/stdlib/Stdlib.MSets.MSetToFiniteSet.html
+++ b/master/stdlib/Stdlib.MSets.MSetToFiniteSet.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetToFiniteSet
-Finite sets library : conversion to old Finite_sets
+Finite sets library : conversion to old Finite_sets
@@ -61,7 +61,7 @@ Library Stdlib.MSets.MSetToFiniteSet
-Going from MSets with usual Leibniz equality
+Going from MSets with usual Leibniz equality
to the good old Ensembles and Finite_sets theory.
diff --git a/master/stdlib/Stdlib.MSets.MSetWeakList.html b/master/stdlib/Stdlib.MSets.MSetWeakList.html
index 001f3c8957..d1702af946 100644
--- a/master/stdlib/Stdlib.MSets.MSetWeakList.html
+++ b/master/stdlib/Stdlib.MSets.MSetWeakList.html
@@ -48,7 +48,7 @@ Library Stdlib.MSets.MSetWeakList
-Functions over lists
+Functions over lists
@@ -78,7 +78,7 @@ Library Stdlib.MSets.MSetWeakList
And the functions returning sets are proved to preserve this invariant.
-The set operations.
+The set operations.
@@ -193,7 +193,7 @@ Library Stdlib.MSets.MSetWeakList
@@ -425,7 +425,7 @@ Library Stdlib.MSets.MSetWeakList
-Encapsulation
+Encapsulation
diff --git a/master/stdlib/Stdlib.NArith.BinNat.html b/master/stdlib/Stdlib.NArith.BinNat.html
index 434e55add8..c967b43bb7 100644
--- a/master/stdlib/Stdlib.NArith.BinNat.html
+++ b/master/stdlib/Stdlib.NArith.BinNat.html
@@ -54,7 +54,7 @@ Library Stdlib.NArith.BinNat
-Binary natural numbers, operations and properties
+Binary natural numbers, operations and properties
@@ -894,7 +894,7 @@ Library Stdlib.NArith.BinNat
diff --git a/master/stdlib/Stdlib.NArith.BinNatDef.html b/master/stdlib/Stdlib.NArith.BinNatDef.html
index 8648319cd7..5f27d1df8f 100644
--- a/master/stdlib/Stdlib.NArith.BinNatDef.html
+++ b/master/stdlib/Stdlib.NArith.BinNatDef.html
@@ -61,7 +61,7 @@ Library Stdlib.NArith.BinNatDef
-Binary natural numbers, definitions of operations
+Binary natural numbers, definitions of operations
@@ -79,7 +79,7 @@ Library Stdlib.NArith.BinNatDef
@@ -91,7 +91,7 @@ Library Stdlib.NArith.BinNatDef
@@ -105,7 +105,7 @@ Library Stdlib.NArith.BinNatDef
@@ -121,7 +121,7 @@ Library Stdlib.NArith.BinNatDef
@@ -137,7 +137,7 @@ Library Stdlib.NArith.BinNatDef
diff --git a/master/stdlib/Stdlib.NArith.Nnat.html b/master/stdlib/Stdlib.NArith.Nnat.html
index 7dbeb68563..22a7af4450 100644
--- a/master/stdlib/Stdlib.NArith.Nnat.html
+++ b/master/stdlib/Stdlib.NArith.Nnat.html
@@ -51,7 +51,7 @@ Library Stdlib.NArith.Nnat
@@ -167,7 +167,7 @@ Library Stdlib.NArith.Nnat
diff --git a/master/stdlib/Stdlib.Numbers.AltBinNotations.html b/master/stdlib/Stdlib.Numbers.AltBinNotations.html
index 5c21c0237f..9fc08b8a2c 100644
--- a/master/stdlib/Stdlib.Numbers.AltBinNotations.html
+++ b/master/stdlib/Stdlib.Numbers.AltBinNotations.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.AltBinNotations
-Alternative Binary Number Notations
+Alternative Binary Number Notations
diff --git a/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.CyclicAxioms.html b/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.CyclicAxioms.html
index 3232e5a9f8..451f6317ab 100644
--- a/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.CyclicAxioms.html
+++ b/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.CyclicAxioms.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.Cyclic.Abstract.CyclicAxioms
-Signature and specification of bounded integers
+Signature and specification of bounded integers
diff --git a/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.NZCyclic.html b/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.NZCyclic.html
index 858be997df..57fc05f859 100644
--- a/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.NZCyclic.html
+++ b/master/stdlib/Stdlib.Numbers.Cyclic.Abstract.NZCyclic.html
@@ -56,7 +56,7 @@ Library Stdlib.Numbers.Cyclic.Abstract.NZCyclic
-From CyclicType to NZAxiomsSig
+From CyclicType to NZAxiomsSig
diff --git a/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Cyclic63.html b/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Cyclic63.html
index 1e54adef5f..b806c04fde 100644
--- a/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Cyclic63.html
+++ b/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Cyclic63.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.Cyclic.Int63.Cyclic63
-Uint63 numbers defines indeed a cyclic structure : Z/(2^63)Z
+Uint63 numbers defines indeed a cyclic structure : Z/(2^63)Z
diff --git a/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Ring63.html b/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Ring63.html
index 797b90c6b0..e8cc4e91d5 100644
--- a/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Ring63.html
+++ b/master/stdlib/Stdlib.Numbers.Cyclic.Int63.Ring63.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.Cyclic.Int63.Ring63
-Uint63 numbers defines Z/(2^63)Z, and can hence be equipped
+Uint63 numbers defines Z/(2^63)Z, and can hence be equipped
with a ring structure and a ring tactic
diff --git a/master/stdlib/Stdlib.Numbers.DecimalFacts.html b/master/stdlib/Stdlib.Numbers.DecimalFacts.html
index 86f27b3aec..94c3e455ef 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalFacts.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalFacts.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalFacts
diff --git a/master/stdlib/Stdlib.Numbers.DecimalN.html b/master/stdlib/Stdlib.Numbers.DecimalN.html
index 3acea63592..04b4ca8041 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalN.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalN.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalN
-DecimalN
+DecimalN
diff --git a/master/stdlib/Stdlib.Numbers.DecimalNat.html b/master/stdlib/Stdlib.Numbers.DecimalNat.html
index 163a37008f..9a913db6b8 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalNat.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalNat.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalNat
-DecimalNat
+DecimalNat
diff --git a/master/stdlib/Stdlib.Numbers.DecimalPos.html b/master/stdlib/Stdlib.Numbers.DecimalPos.html
index d79c25000d..bae2d449d6 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalPos.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalPos.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalPos
-DecimalPos
+DecimalPos
diff --git a/master/stdlib/Stdlib.Numbers.DecimalQ.html b/master/stdlib/Stdlib.Numbers.DecimalQ.html
index 01963a9950..be35b3a6bd 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalQ.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalQ.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalQ
-DecimalQ
+DecimalQ
diff --git a/master/stdlib/Stdlib.Numbers.DecimalR.html b/master/stdlib/Stdlib.Numbers.DecimalR.html
index 59824e94e5..cfd578c24c 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalR.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalR.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalR
-DecimalR
+DecimalR
diff --git a/master/stdlib/Stdlib.Numbers.DecimalString.html b/master/stdlib/Stdlib.Numbers.DecimalString.html
index f23dea974e..644598b60d 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalString.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalString.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.DecimalString
-Conversion between decimal numbers and Coq strings
+Conversion between decimal numbers and Coq strings
diff --git a/master/stdlib/Stdlib.Numbers.DecimalZ.html b/master/stdlib/Stdlib.Numbers.DecimalZ.html
index fd62b7c4f0..0db078e010 100644
--- a/master/stdlib/Stdlib.Numbers.DecimalZ.html
+++ b/master/stdlib/Stdlib.Numbers.DecimalZ.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.DecimalZ
-DecimalZ
+DecimalZ
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalFacts.html b/master/stdlib/Stdlib.Numbers.HexadecimalFacts.html
index 43fed7d6f2..4f0c66f08b 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalFacts.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalFacts.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalFacts
-HexadecimalFacts : some facts about Hexadecimal numbers
+HexadecimalFacts : some facts about Hexadecimal numbers
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalN.html b/master/stdlib/Stdlib.Numbers.HexadecimalN.html
index edf59dcbd5..0d43c77c30 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalN.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalN.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalN
-HexadecimalN
+HexadecimalN
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalNat.html b/master/stdlib/Stdlib.Numbers.HexadecimalNat.html
index 845fa04551..946e7b29d8 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalNat.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalNat.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalNat
-HexadecimalNat
+HexadecimalNat
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalPos.html b/master/stdlib/Stdlib.Numbers.HexadecimalPos.html
index 81b44fe5a1..c5dce1dcff 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalPos.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalPos.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalPos
-HexadecimalPos
+HexadecimalPos
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalQ.html b/master/stdlib/Stdlib.Numbers.HexadecimalQ.html
index 78b8f917da..f08bc5d597 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalQ.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalQ.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalQ
-HexadecimalQ
+HexadecimalQ
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalR.html b/master/stdlib/Stdlib.Numbers.HexadecimalR.html
index 7adc86be53..a85e989173 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalR.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalR.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalR
-HexadecimalR
+HexadecimalR
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalString.html b/master/stdlib/Stdlib.Numbers.HexadecimalString.html
index 56b1821fa1..049cbf3328 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalString.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalString.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.HexadecimalString
-Conversion between hexadecimal numbers and Coq strings
+Conversion between hexadecimal numbers and Coq strings
diff --git a/master/stdlib/Stdlib.Numbers.HexadecimalZ.html b/master/stdlib/Stdlib.Numbers.HexadecimalZ.html
index 77e00bf0a3..07c7bd7d6a 100644
--- a/master/stdlib/Stdlib.Numbers.HexadecimalZ.html
+++ b/master/stdlib/Stdlib.Numbers.HexadecimalZ.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.HexadecimalZ
-HexadecimalZ
+HexadecimalZ
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZBits.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZBits.html
index 76433745ad..b50bb22a25 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZBits.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZBits.html
@@ -472,7 +472,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZBits
-Properties of shifts
+Properties of shifts
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivEucl.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivEucl.html
index 7cd483f76a..d894886c5c 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivEucl.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivEucl.html
@@ -54,7 +54,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivEucl
-Euclidean Division for integers, Euclid convention
+Euclidean Division for integers, Euclid convention
@@ -245,7 +245,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivEucl
@@ -281,7 +281,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivEucl
-Order results about mod and div
+Order results about mod and div
@@ -410,7 +410,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivEucl
-Relations between usual operations and mod and div
+Relations between usual operations and mod and div
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivFloor.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivFloor.html
index 75944973db..e4ee711d00 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivFloor.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivFloor.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivFloor
-Euclidean Division for integers (Floor convention)
+Euclidean Division for integers (Floor convention)
@@ -283,7 +283,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivFloor
@@ -319,7 +319,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivFloor
-Order results about mod and div
+Order results about mod and div
@@ -456,7 +456,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivFloor
-Relations between usual operations and mod and div
+Relations between usual operations and mod and div
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivTrunc.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivTrunc.html
index 7880513fb5..3b77137b0f 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivTrunc.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZDivTrunc.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivTrunc
-Euclidean Division for integers (Trunc convention)
+Euclidean Division for integers (Trunc convention)
@@ -208,7 +208,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivTrunc
@@ -306,7 +306,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivTrunc
-Order results about rem and quot
+Order results about rem and quot
@@ -441,7 +441,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZDivTrunc
-Relations between usual operations and rem and quot
+Relations between usual operations and rem and quot
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZLcm.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZLcm.html
index 57594eed26..1389e2ef3c 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZLcm.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZLcm.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZLcm
-Least Common Multiple
+Least Common Multiple
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZMaxMin.html b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZMaxMin.html
index ffc6fc6c0a..f70c7d73b9 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZMaxMin.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Abstract.ZMaxMin.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Integer.Abstract.ZMaxMin
-Properties of minimum and maximum specific to integer numbers
+Properties of minimum and maximum specific to integer numbers
diff --git a/master/stdlib/Stdlib.Numbers.Integer.Binary.ZBinary.html b/master/stdlib/Stdlib.Numbers.Integer.Binary.ZBinary.html
index 9131feb6cc..56a56db8f2 100644
--- a/master/stdlib/Stdlib.Numbers.Integer.Binary.ZBinary.html
+++ b/master/stdlib/Stdlib.Numbers.Integer.Binary.ZBinary.html
@@ -70,7 +70,7 @@ Library Stdlib.Numbers.Integer.Binary.ZBinary
diff --git a/master/stdlib/Stdlib.Numbers.NaryFunctions.html b/master/stdlib/Stdlib.Numbers.NaryFunctions.html
index 04a41fe753..432b94da12 100644
--- a/master/stdlib/Stdlib.Numbers.NaryFunctions.html
+++ b/master/stdlib/Stdlib.Numbers.NaryFunctions.html
@@ -56,7 +56,7 @@ Library Stdlib.Numbers.NaryFunctions
-Generic dependently-typed operators about n-ary functions
+Generic dependently-typed operators about n-ary functions
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZAdd.html b/master/stdlib/Stdlib.Numbers.NatInt.NZAdd.html
index 117e4df7f3..f41f5f630d 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZAdd.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZAdd.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZAdd
-Some properties of the addition for modules implementing NZBasicFunsSig'
+Some properties of the addition for modules implementing NZBasicFunsSig'
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZAddOrder.html b/master/stdlib/Stdlib.Numbers.NatInt.NZAddOrder.html
index 7de4bee2e1..8a0c12e0bc 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZAddOrder.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZAddOrder.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZAddOrder
-Properties of orders and addition for modules implementing NZOrdAxiomsSig'
+Properties of orders and addition for modules implementing NZOrdAxiomsSig'
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZAxioms.html b/master/stdlib/Stdlib.Numbers.NatInt.NZAxioms.html
index 47e0279a93..03132f7bb8 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZAxioms.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZAxioms.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.NatInt.NZAxioms
Initial Author : Evgeny Makarov, INRIA, 2007
-Axioms for a domain with zero, succ, pred.
+Axioms for a domain with zero, succ, pred.
@@ -144,7 +144,7 @@ Library Stdlib.Numbers.NatInt.NZAxioms
-Axiomatization of a domain with zero, succ, pred and a bi-directional induction principle.
+Axiomatization of a domain with zero, succ, pred and a bi-directional induction principle.
@@ -226,7 +226,7 @@ Library Stdlib.Numbers.NatInt.NZAxioms
-Axiomatization of some more constants
+Axiomatization of some more constants
@@ -283,7 +283,7 @@ Library Stdlib.Numbers.NatInt.NZAxioms
-Axiomatization of basic operations : + - *
+Axiomatization of basic operations : + - *
@@ -339,7 +339,7 @@ Library Stdlib.Numbers.NatInt.NZAxioms
-Axiomatization of order
+Axiomatization of order
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZBase.html b/master/stdlib/Stdlib.Numbers.NatInt.NZBase.html
index 684dcf3672..4f5c1163e2 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZBase.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZBase.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZBase
-Basic lemmas about modules implementing NZDomainSig'
+Basic lemmas about modules implementing NZDomainSig'
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZDiv.html b/master/stdlib/Stdlib.Numbers.NatInt.NZDiv.html
index a673067de6..39e3440ddf 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZDiv.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZDiv.html
@@ -189,7 +189,7 @@ Library Stdlib.Numbers.NatInt.NZDiv
@@ -222,7 +222,7 @@ Library Stdlib.Numbers.NatInt.NZDiv
-Order results about mod and div
+Order results about mod and div
@@ -334,7 +334,7 @@ Library Stdlib.Numbers.NatInt.NZDiv
-Relations between usual operations and mod and div
+Relations between usual operations and mod and div
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZDomain.html b/master/stdlib/Stdlib.Numbers.NatInt.NZDomain.html
index 372fe26802..5badcb1cd7 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZDomain.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZDomain.html
@@ -77,7 +77,7 @@ Library Stdlib.Numbers.NatInt.NZDomain
-Relationship between points thanks to succ and pred.
+Relationship between points thanks to succ and pred.
@@ -128,7 +128,7 @@ Library Stdlib.Numbers.NatInt.NZDomain
@@ -252,7 +252,7 @@ Library Stdlib.Numbers.NatInt.NZDomain
-An alternative induction principle using S and P.
+An alternative induction principle using S and P.
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZLog.html b/master/stdlib/Stdlib.Numbers.NatInt.NZLog.html
index aeb7845680..a0a97fae81 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZLog.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZLog.html
@@ -417,7 +417,7 @@ Library Stdlib.Numbers.NatInt.NZLog
-log2_up : a binary logarithm that rounds up instead of down
+log2_up : a binary logarithm that rounds up instead of down
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZMul.html b/master/stdlib/Stdlib.Numbers.NatInt.NZMul.html
index 1e1075da5d..d4e04a9d16 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZMul.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZMul.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZMul
-Some properties of the multiplication for modules implementing NZBasicFunsSig'
+Some properties of the multiplication for modules implementing NZBasicFunsSig'
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZMulOrder.html b/master/stdlib/Stdlib.Numbers.NatInt.NZMulOrder.html
index 7daa764b58..012d60671e 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZMulOrder.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZMulOrder.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZMulOrder
-Properties of orders and multiplication for modules implementing NZOrdAxiomsSig'
+Properties of orders and multiplication for modules implementing NZOrdAxiomsSig'
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZOrder.html b/master/stdlib/Stdlib.Numbers.NatInt.NZOrder.html
index 47a541b061..cafdabeb4a 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZOrder.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZOrder.html
@@ -48,7 +48,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
-Lemmas about orders for modules implementing NZOrdSig'
+Lemmas about orders for modules implementing NZOrdSig'
@@ -104,11 +104,11 @@ Library Stdlib.Numbers.NatInt.NZOrder
-Basic facts about le, lt, eq and succ
+Basic facts about le, lt, eq and succ
-Direct consequences of the specifications of lt and le
+Direct consequences of the specifications of lt and le
@@ -166,7 +166,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
@@ -187,7 +187,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
@@ -208,7 +208,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
@@ -235,7 +235,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
@@ -280,7 +280,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
-More properties of < and <= with respect to S and 0
+More properties of < and <= with respect to S and 0
@@ -336,7 +336,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
-More Trichotomy, decidability and double negation elimination
+More Trichotomy, decidability and double negation elimination
@@ -447,7 +447,7 @@ Library Stdlib.Numbers.NatInt.NZOrder
diff --git a/master/stdlib/Stdlib.Numbers.NatInt.NZSqrt.html b/master/stdlib/Stdlib.Numbers.NatInt.NZSqrt.html
index b43cae94a5..e97022ee84 100644
--- a/master/stdlib/Stdlib.Numbers.NatInt.NZSqrt.html
+++ b/master/stdlib/Stdlib.Numbers.NatInt.NZSqrt.html
@@ -347,7 +347,7 @@ Library Stdlib.Numbers.NatInt.NZSqrt
-sqrt_up : a square root that rounds up instead of down
+sqrt_up : a square root that rounds up instead of down
diff --git a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NDiv.html b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NDiv.html
index bbe970bebc..96c5826a2b 100644
--- a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NDiv.html
+++ b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NDiv.html
@@ -157,7 +157,7 @@ Library Stdlib.Numbers.Natural.Abstract.NDiv
@@ -190,7 +190,7 @@ Library Stdlib.Numbers.Natural.Abstract.NDiv
-Order results about mod and div
+Order results about mod and div
@@ -288,7 +288,7 @@ Library Stdlib.Numbers.Natural.Abstract.NDiv
-Relations between usual operations and mod and div
+Relations between usual operations and mod and div
diff --git a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NLcm.html b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NLcm.html
index 9f73ddf488..5d9101b237 100644
--- a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NLcm.html
+++ b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NLcm.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Natural.Abstract.NLcm
-Least Common Multiple
+Least Common Multiple
diff --git a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NMaxMin.html b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NMaxMin.html
index 17c6760f9f..701b191a3c 100644
--- a/master/stdlib/Stdlib.Numbers.Natural.Abstract.NMaxMin.html
+++ b/master/stdlib/Stdlib.Numbers.Natural.Abstract.NMaxMin.html
@@ -51,7 +51,7 @@ Library Stdlib.Numbers.Natural.Abstract.NMaxMin
-Properties of minimum and maximum specific to natural numbers
+Properties of minimum and maximum specific to natural numbers
diff --git a/master/stdlib/Stdlib.Numbers.Natural.Binary.NBinary.html b/master/stdlib/Stdlib.Numbers.Natural.Binary.NBinary.html
index 32f800297c..ba8a3ca7d5 100644
--- a/master/stdlib/Stdlib.Numbers.Natural.Binary.NBinary.html
+++ b/master/stdlib/Stdlib.Numbers.Natural.Binary.NBinary.html
@@ -58,7 +58,7 @@ Library Stdlib.Numbers.Natural.Binary.NBinary
diff --git a/master/stdlib/Stdlib.PArith.BinPos.html b/master/stdlib/Stdlib.PArith.BinPos.html
index f3e304fcc8..0fd40dbcf9 100644
--- a/master/stdlib/Stdlib.PArith.BinPos.html
+++ b/master/stdlib/Stdlib.PArith.BinPos.html
@@ -56,7 +56,7 @@ Library Stdlib.PArith.BinPos
-Binary positive numbers, operations and properties
+Binary positive numbers, operations and properties
@@ -90,7 +90,7 @@ Library Stdlib.PArith.BinPos
-Definitions of operations, now in a separate file
+Definitions of operations, now in a separate file
@@ -112,7 +112,7 @@ Library Stdlib.PArith.BinPos
@@ -144,11 +144,11 @@ Library Stdlib.PArith.BinPos
-Properties of operations over positive numbers
+Properties of operations over positive numbers
-Decidability of equality on binary positive numbers
+Decidability of equality on binary positive numbers
@@ -160,11 +160,11 @@ Library Stdlib.PArith.BinPos
-Properties of successor on binary positive numbers
+Properties of successor on binary positive numbers
-Specification of xI in term of succ and xO
+Specification of xI in term of succ and xO
@@ -179,7 +179,7 @@ Library Stdlib.PArith.BinPos
@@ -203,7 +203,7 @@ Library Stdlib.PArith.BinPos
@@ -224,7 +224,7 @@ Library Stdlib.PArith.BinPos
@@ -236,7 +236,7 @@ Library Stdlib.PArith.BinPos
@@ -248,11 +248,11 @@ Library Stdlib.PArith.BinPos
-Properties of addition on binary positive numbers
+Properties of addition on binary positive numbers
-Specification of succ in term of add
+Specification of succ in term of add
@@ -267,7 +267,7 @@ Library Stdlib.PArith.BinPos
@@ -279,7 +279,7 @@ Library Stdlib.PArith.BinPos
@@ -291,7 +291,7 @@ Library Stdlib.PArith.BinPos
@@ -306,7 +306,7 @@ Library Stdlib.PArith.BinPos
@@ -316,7 +316,7 @@ Library Stdlib.PArith.BinPos
@@ -349,7 +349,7 @@ Library Stdlib.PArith.BinPos
@@ -361,7 +361,7 @@ Library Stdlib.PArith.BinPos
@@ -381,7 +381,7 @@ Library Stdlib.PArith.BinPos
@@ -393,7 +393,7 @@ Library Stdlib.PArith.BinPos
-Peano induction and recursion on binary positive positive numbers
+Peano induction and recursion on binary positive positive numbers
@@ -511,11 +511,11 @@ Library Stdlib.PArith.BinPos
-Properties of multiplication on binary positive numbers
+Properties of multiplication on binary positive numbers
-One is neutral for multiplication
+One is neutral for multiplication
@@ -530,7 +530,7 @@ Library Stdlib.PArith.BinPos
@@ -545,7 +545,7 @@ Library Stdlib.PArith.BinPos
@@ -557,7 +557,7 @@ Library Stdlib.PArith.BinPos
@@ -574,7 +574,7 @@ Library Stdlib.PArith.BinPos
@@ -586,7 +586,7 @@ Library Stdlib.PArith.BinPos
@@ -601,7 +601,7 @@ Library Stdlib.PArith.BinPos
@@ -616,7 +616,7 @@ Library Stdlib.PArith.BinPos
@@ -637,7 +637,7 @@ Library Stdlib.PArith.BinPos
@@ -655,7 +655,7 @@ Library Stdlib.PArith.BinPos
@@ -670,7 +670,7 @@ Library Stdlib.PArith.BinPos
@@ -716,7 +716,7 @@ Library Stdlib.PArith.BinPos
@@ -731,7 +731,7 @@ Library Stdlib.PArith.BinPos
@@ -743,7 +743,7 @@ Library Stdlib.PArith.BinPos
@@ -790,7 +790,7 @@ Library Stdlib.PArith.BinPos
@@ -819,7 +819,7 @@ Library Stdlib.PArith.BinPos
-Properties of comparison on binary positive numbers
+Properties of comparison on binary positive numbers
@@ -1013,7 +1013,7 @@ Library Stdlib.PArith.BinPos
@@ -1072,7 +1072,7 @@ Library Stdlib.PArith.BinPos
@@ -1090,7 +1090,7 @@ Library Stdlib.PArith.BinPos
@@ -1163,7 +1163,7 @@ Library Stdlib.PArith.BinPos
@@ -1178,7 +1178,7 @@ Library Stdlib.PArith.BinPos
@@ -1208,7 +1208,7 @@ Library Stdlib.PArith.BinPos
@@ -1223,7 +1223,7 @@ Library Stdlib.PArith.BinPos
@@ -1259,7 +1259,7 @@ Library Stdlib.PArith.BinPos
-Properties of subtraction on binary positive numbers
+Properties of subtraction on binary positive numbers
@@ -1277,7 +1277,7 @@ Library Stdlib.PArith.BinPos
@@ -1375,7 +1375,7 @@ Library Stdlib.PArith.BinPos
@@ -1393,7 +1393,7 @@ Library Stdlib.PArith.BinPos
-Properties of min and max
+Properties of min and max
@@ -1489,7 +1489,7 @@ Library Stdlib.PArith.BinPos
@@ -1510,7 +1510,7 @@ Library Stdlib.PArith.BinPos
@@ -1528,7 +1528,7 @@ Library Stdlib.PArith.BinPos
@@ -1554,7 +1554,7 @@ Library Stdlib.PArith.BinPos
diff --git a/master/stdlib/Stdlib.PArith.BinPosDef.html b/master/stdlib/Stdlib.PArith.BinPosDef.html
index c276fad83c..b9b689e1bc 100644
--- a/master/stdlib/Stdlib.PArith.BinPosDef.html
+++ b/master/stdlib/Stdlib.PArith.BinPosDef.html
@@ -48,7 +48,7 @@ Library Stdlib.PArith.BinPosDef
-Binary positive numbers, operations
+Binary positive numbers, operations
@@ -79,7 +79,7 @@ Library Stdlib.PArith.BinPosDef
@@ -91,7 +91,7 @@ Library Stdlib.PArith.BinPosDef
@@ -108,7 +108,7 @@ Library Stdlib.PArith.BinPosDef
@@ -132,7 +132,7 @@ Library Stdlib.PArith.BinPosDef
@@ -147,7 +147,7 @@ Library Stdlib.PArith.BinPosDef
@@ -164,7 +164,7 @@ Library Stdlib.PArith.BinPosDef
@@ -214,7 +214,7 @@ Library Stdlib.PArith.BinPosDef
@@ -232,7 +232,7 @@ Library Stdlib.PArith.BinPosDef
@@ -397,7 +397,7 @@ Library Stdlib.PArith.BinPosDef
-From Peano natural numbers to binary positive numbers
+From Peano natural numbers to binary positive numbers
@@ -417,7 +417,7 @@ Library Stdlib.PArith.BinPosDef
-Conversion with a decimal representation for printing/parsing
+Conversion with a decimal representation for printing/parsing
diff --git a/master/stdlib/Stdlib.PArith.POrderedType.html b/master/stdlib/Stdlib.PArith.POrderedType.html
index 3657a2d94e..1266851bcb 100644
--- a/master/stdlib/Stdlib.PArith.POrderedType.html
+++ b/master/stdlib/Stdlib.PArith.POrderedType.html
@@ -54,7 +54,7 @@ Library Stdlib.PArith.POrderedType
@@ -70,7 +70,7 @@ Library Stdlib.PArith.POrderedType
interfaces, such as DecidableType or EqualityType.
-OrderedType structure for positive numbers
+OrderedType structure for positive numbers
@@ -86,7 +86,7 @@ Library Stdlib.PArith.POrderedType
and a OrderedType (and also as a DecidableType).
-An order tactic for positive numbers
+An order tactic for positive numbers
diff --git a/master/stdlib/Stdlib.Program.Combinators.html b/master/stdlib/Stdlib.Program.Combinators.html
index 9e93dd2ed6..e4b8bc1dbf 100644
--- a/master/stdlib/Stdlib.Program.Combinators.html
+++ b/master/stdlib/Stdlib.Program.Combinators.html
@@ -46,7 +46,7 @@ Library Stdlib.Program.Combinators
-Proofs about standard combinators, exports functional extensionality.
+Proofs about standard combinators, exports functional extensionality.
diff --git a/master/stdlib/Stdlib.QArith.QArith_base.html b/master/stdlib/Stdlib.QArith.QArith_base.html
index 601fbe618e..d030421750 100644
--- a/master/stdlib/Stdlib.QArith.QArith_base.html
+++ b/master/stdlib/Stdlib.QArith.QArith_base.html
@@ -58,7 +58,7 @@ Library Stdlib.QArith.QArith_base
-Definition of Q and basic properties
+Definition of Q and basic properties
@@ -201,7 +201,7 @@ Library Stdlib.QArith.QArith_base
@@ -293,7 +293,7 @@ Library Stdlib.QArith.QArith_base
-Addition, multiplication and opposite
+Addition, multiplication and opposite
@@ -560,7 +560,7 @@ Library Stdlib.QArith.QArith_base
@@ -634,7 +634,7 @@ Library Stdlib.QArith.QArith_base
@@ -705,7 +705,7 @@ Library Stdlib.QArith.QArith_base
@@ -805,7 +805,7 @@ Library Stdlib.QArith.QArith_base
@@ -857,11 +857,11 @@ Library Stdlib.QArith.QArith_base
-Reduction and construction of Q
+Reduction and construction of Q
-Removal/introduction of common factor in both numerator and denominator.
+Removal/introduction of common factor in both numerator and denominator.
@@ -906,7 +906,7 @@ Library Stdlib.QArith.QArith_base
-Construction of a new rational by multiplication with an integer or pure fraction
+Construction of a new rational by multiplication with an integer or pure fraction
@@ -932,7 +932,7 @@ Library Stdlib.QArith.QArith_base
@@ -1046,7 +1046,7 @@ Library Stdlib.QArith.QArith_base
@@ -1064,7 +1064,7 @@ Library Stdlib.QArith.QArith_base
@@ -1117,7 +1117,7 @@ Library Stdlib.QArith.QArith_base
@@ -1176,7 +1176,7 @@ Library Stdlib.QArith.QArith_base
-Compatibility of inversion and division with order
+Compatibility of inversion and division with order
@@ -1227,7 +1227,7 @@ Library Stdlib.QArith.QArith_base
diff --git a/master/stdlib/Stdlib.QArith.QOrderedType.html b/master/stdlib/Stdlib.QArith.QOrderedType.html
index 4728166d04..81f55fd3b4 100644
--- a/master/stdlib/Stdlib.QArith.QOrderedType.html
+++ b/master/stdlib/Stdlib.QArith.QOrderedType.html
@@ -54,7 +54,7 @@ Library Stdlib.QArith.QOrderedType
@@ -92,7 +92,7 @@ Library Stdlib.QArith.QOrderedType
interfaces, such as DecidableType or EqualityType.
-OrderedType structure for rational numbers
+OrderedType structure for rational numbers
@@ -123,7 +123,7 @@ Library Stdlib.QArith.QOrderedType
diff --git a/master/stdlib/Stdlib.QArith.Qcabs.html b/master/stdlib/Stdlib.QArith.Qcabs.html
index ae2200e425..0b3cfebf91 100644
--- a/master/stdlib/Stdlib.QArith.Qcabs.html
+++ b/master/stdlib/Stdlib.QArith.Qcabs.html
@@ -48,7 +48,7 @@ Library Stdlib.QArith.Qcabs
-An absolute value for normalized rational numbers.
+An absolute value for normalized rational numbers.
diff --git a/master/stdlib/Stdlib.QArith.Qfield.html b/master/stdlib/Stdlib.QArith.Qfield.html
index 71a5adae0a..05c5c075d0 100644
--- a/master/stdlib/Stdlib.QArith.Qfield.html
+++ b/master/stdlib/Stdlib.QArith.Qfield.html
@@ -53,7 +53,7 @@ Library Stdlib.QArith.Qfield
diff --git a/master/stdlib/Stdlib.QArith.Qminmax.html b/master/stdlib/Stdlib.QArith.Qminmax.html
index 1b39f9d14c..ed3e3cb6da 100644
--- a/master/stdlib/Stdlib.QArith.Qminmax.html
+++ b/master/stdlib/Stdlib.QArith.Qminmax.html
@@ -51,7 +51,7 @@ Library Stdlib.QArith.Qminmax
@@ -100,7 +100,7 @@ Library Stdlib.QArith.Qminmax
-Properties specific to the Q domain
+Properties specific to the Q domain
diff --git a/master/stdlib/Stdlib.QArith.Qpower.html b/master/stdlib/Stdlib.QArith.Qpower.html
index 6a9d659398..d4b3883c9e 100644
--- a/master/stdlib/Stdlib.QArith.Qpower.html
+++ b/master/stdlib/Stdlib.QArith.Qpower.html
@@ -51,11 +51,11 @@ Library Stdlib.QArith.Qpower
-Properties of Qpower_positive
+Properties of Qpower_positive
-Values of Qpower_positive for specific arguments
+Values of Qpower_positive for specific arguments
@@ -70,7 +70,7 @@ Library Stdlib.QArith.Qpower
@@ -85,7 +85,7 @@ Library Stdlib.QArith.Qpower
-Qpower_positive and multiplication, exponent subtraction
+Qpower_positive and multiplication, exponent subtraction
@@ -100,7 +100,7 @@ Library Stdlib.QArith.Qpower
-Qpower_positive and inversion, division, exponent subtraction
+Qpower_positive and inversion, division, exponent subtraction
@@ -117,7 +117,7 @@ Library Stdlib.QArith.Qpower
@@ -130,7 +130,7 @@ Library Stdlib.QArith.Qpower
@@ -146,11 +146,11 @@ Library Stdlib.QArith.Qpower
-Properties of Qpower
+Properties of Qpower
-Values of Qpower for specific arguments
+Values of Qpower for specific arguments
@@ -173,7 +173,7 @@ Library Stdlib.QArith.Qpower
@@ -195,7 +195,7 @@ Library Stdlib.QArith.Qpower
@@ -220,7 +220,7 @@ Library Stdlib.QArith.Qpower
@@ -238,7 +238,7 @@ Library Stdlib.QArith.Qpower
-Qpower and inversion, division, exponent subtraction
+Qpower and inversion, division, exponent subtraction
@@ -271,7 +271,7 @@ Library Stdlib.QArith.Qpower
@@ -283,7 +283,7 @@ Library Stdlib.QArith.Qpower
@@ -304,7 +304,7 @@ Library Stdlib.QArith.Qpower
-Compatibility of Qpower with relational operators
+Compatibility of Qpower with relational operators
@@ -329,7 +329,7 @@ Library Stdlib.QArith.Qpower
@@ -341,7 +341,7 @@ Library Stdlib.QArith.Qpower
@@ -353,7 +353,7 @@ Library Stdlib.QArith.Qpower
diff --git a/master/stdlib/Stdlib.Reals.AltSeries.html b/master/stdlib/Stdlib.Reals.AltSeries.html
index ee287ce0c9..3049e3cbb2 100644
--- a/master/stdlib/Stdlib.Reals.AltSeries.html
+++ b/master/stdlib/Stdlib.Reals.AltSeries.html
@@ -58,7 +58,7 @@ Library Stdlib.Reals.AltSeries
@@ -121,7 +121,7 @@ Library Stdlib.Reals.AltSeries
@@ -143,7 +143,7 @@ Library Stdlib.Reals.AltSeries
diff --git a/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyReals.html b/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyReals.html
index 1caf185a4e..9206c5b7d0 100644
--- a/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyReals.html
+++ b/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyReals.html
@@ -407,7 +407,7 @@ Library Stdlib.Reals.Cauchy.ConstructiveCauchyReals
-Algebraic operations
+Algebraic operations
diff --git a/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyRealsMult.html b/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyRealsMult.html
index 1b13f3b72e..195321bc13 100644
--- a/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyRealsMult.html
+++ b/master/stdlib/Stdlib.Reals.Cauchy.ConstructiveCauchyRealsMult.html
@@ -297,7 +297,7 @@ Library Stdlib.Reals.Cauchy.ConstructiveCauchyRealsMult
diff --git a/master/stdlib/Stdlib.Reals.Cauchy.QExtra.html b/master/stdlib/Stdlib.Reals.Cauchy.QExtra.html
index 7eb3ed4946..b58d8e0136 100644
--- a/master/stdlib/Stdlib.Reals.Cauchy.QExtra.html
+++ b/master/stdlib/Stdlib.Reals.Cauchy.QExtra.html
@@ -55,7 +55,7 @@ Library Stdlib.Reals.Cauchy.QExtra
-Power of 2 open and closed upper and lower bounds for q : Q
+Power of 2 open and closed upper and lower bounds for q : Q
@@ -96,7 +96,7 @@ Library Stdlib.Reals.Cauchy.QExtra
@@ -125,7 +125,7 @@ Library Stdlib.Reals.Cauchy.QExtra
-Power of two open upper bound q < 2^z and Qabs q < 2^z
+Power of two open upper bound q < 2^z and Qabs q < 2^z
@@ -171,7 +171,7 @@ Library Stdlib.Reals.Cauchy.QExtra
-Power of 2 open lower bounds for 2^z < q and 2^z < Qabs q
+Power of 2 open lower bounds for 2^z < q and 2^z < Qabs q
@@ -202,7 +202,7 @@ Library Stdlib.Reals.Cauchy.QExtra
-Existential formulations of power of 2 lower and upper bounds
+Existential formulations of power of 2 lower and upper bounds
diff --git a/master/stdlib/Stdlib.Reals.ClassicalDedekindReals.html b/master/stdlib/Stdlib.Reals.ClassicalDedekindReals.html
index 6ea22f72c3..1b101e3c42 100644
--- a/master/stdlib/Stdlib.Reals.ClassicalDedekindReals.html
+++ b/master/stdlib/Stdlib.Reals.ClassicalDedekindReals.html
@@ -64,7 +64,7 @@ Library Stdlib.Reals.ClassicalDedekindReals
@@ -87,11 +87,11 @@ Library Stdlib.Reals.ClassicalDedekindReals
-Dedekind cuts
+Dedekind cuts
-Definition
+Definition
@@ -133,7 +133,7 @@ Library Stdlib.Reals.ClassicalDedekindReals
@@ -165,11 +165,11 @@ Library Stdlib.Reals.ClassicalDedekindReals
@@ -182,7 +182,7 @@ Library Stdlib.Reals.ClassicalDedekindReals
@@ -196,11 +196,11 @@ Library Stdlib.Reals.ClassicalDedekindReals
-Conversion to and from constructive Cauchy real CReal
+Conversion to and from constructive Cauchy real CReal
-Conversion from CReal to DReal
+Conversion from CReal to DReal
@@ -219,7 +219,7 @@ Library Stdlib.Reals.ClassicalDedekindReals
@@ -270,7 +270,7 @@ Library Stdlib.Reals.ClassicalDedekindReals
diff --git a/master/stdlib/Stdlib.Reals.RIneq.html b/master/stdlib/Stdlib.Reals.RIneq.html
index 572b083825..0f000251f8 100644
--- a/master/stdlib/Stdlib.Reals.RIneq.html
+++ b/master/stdlib/Stdlib.Reals.RIneq.html
@@ -48,7 +48,7 @@ Library Stdlib.Reals.RIneq
-Basic lemmas for the classical real numbers
+Basic lemmas for the classical real numbers
@@ -136,7 +136,7 @@ Library Stdlib.Reals.RIneq
-Relation between orders and equality
+Relation between orders and equality
@@ -226,7 +226,7 @@ Library Stdlib.Reals.RIneq
@@ -238,11 +238,11 @@ Library Stdlib.Reals.RIneq
-Relating <, >, <= and >=
+Relating <, >, <= and >=
-Relating strict and large orders
+Relating strict and large orders
@@ -347,7 +347,7 @@ Library Stdlib.Reals.RIneq
@@ -397,7 +397,7 @@ Library Stdlib.Reals.RIneq
@@ -414,7 +414,7 @@ Library Stdlib.Reals.RIneq
@@ -508,7 +508,7 @@ Library Stdlib.Reals.RIneq
-Same theorems with disjunctions instead of sumbools
+Same theorems with disjunctions instead of sumbools
@@ -562,7 +562,7 @@ Library Stdlib.Reals.RIneq
@@ -636,7 +636,7 @@ Library Stdlib.Reals.RIneq
@@ -678,7 +678,7 @@ Library Stdlib.Reals.RIneq
@@ -794,7 +794,7 @@ Library Stdlib.Reals.RIneq
@@ -822,7 +822,7 @@ Library Stdlib.Reals.RIneq
@@ -934,7 +934,7 @@ Library Stdlib.Reals.RIneq
@@ -988,7 +988,7 @@ Library Stdlib.Reals.RIneq
@@ -1010,11 +1010,11 @@ Library Stdlib.Reals.RIneq
-Order and addition
+Order and addition
-Compatibility
+Compatibility
@@ -1115,7 +1115,7 @@ Library Stdlib.Reals.RIneq
@@ -1167,7 +1167,7 @@ Library Stdlib.Reals.RIneq
@@ -1188,7 +1188,7 @@ Library Stdlib.Reals.RIneq
@@ -1221,11 +1221,11 @@ Library Stdlib.Reals.RIneq
@@ -1301,7 +1301,7 @@ Library Stdlib.Reals.RIneq
@@ -1326,7 +1326,7 @@ Library Stdlib.Reals.RIneq
@@ -1341,14 +1341,14 @@ Library Stdlib.Reals.RIneq
-Order and multiplication
+Order and multiplication
Remark: Rmult_lt_compat_l is in Raxioms.v
-Covariant compatibility
+Covariant compatibility
@@ -1419,7 +1419,7 @@ Library Stdlib.Reals.RIneq
@@ -1444,7 +1444,7 @@ Library Stdlib.Reals.RIneq
@@ -1479,7 +1479,7 @@ Library Stdlib.Reals.RIneq
@@ -1500,7 +1500,7 @@ Library Stdlib.Reals.RIneq
@@ -1517,7 +1517,7 @@ Library Stdlib.Reals.RIneq
@@ -1536,7 +1536,7 @@ Library Stdlib.Reals.RIneq
@@ -1563,7 +1563,7 @@ Library Stdlib.Reals.RIneq
@@ -1594,7 +1594,7 @@ Library Stdlib.Reals.RIneq
@@ -1609,7 +1609,7 @@ Library Stdlib.Reals.RIneq
@@ -1653,7 +1653,7 @@ Library Stdlib.Reals.RIneq
@@ -1753,7 +1753,7 @@ Library Stdlib.Reals.RIneq
@@ -1778,7 +1778,7 @@ Library Stdlib.Reals.RIneq
@@ -1832,7 +1832,7 @@ Library Stdlib.Reals.RIneq
@@ -1931,7 +1931,7 @@ Library Stdlib.Reals.RIneq
@@ -2012,7 +2012,7 @@ Library Stdlib.Reals.RIneq
@@ -2154,7 +2154,7 @@ Library Stdlib.Reals.RIneq
@@ -2181,7 +2181,7 @@ Library Stdlib.Reals.RIneq
@@ -2197,7 +2197,7 @@ Library Stdlib.Reals.RIneq
diff --git a/master/stdlib/Stdlib.Reals.ROrderedType.html b/master/stdlib/Stdlib.Reals.ROrderedType.html
index 0d448fa4f7..c9c8a3e3f7 100644
--- a/master/stdlib/Stdlib.Reals.ROrderedType.html
+++ b/master/stdlib/Stdlib.Reals.ROrderedType.html
@@ -54,7 +54,7 @@ Library Stdlib.Reals.ROrderedType
@@ -89,7 +89,7 @@ Library Stdlib.Reals.ROrderedType
and a DecidableTypeOrig.
-OrderedType structure for binary integers
+OrderedType structure for binary integers
@@ -137,7 +137,7 @@ Library Stdlib.Reals.ROrderedType
and a OrderedType (and also as a DecidableType).
-An order tactic for real numbers
+An order tactic for real numbers
diff --git a/master/stdlib/Stdlib.Reals.R_Ifp.html b/master/stdlib/Stdlib.Reals.R_Ifp.html
index 51c5aa5706..b263da0b7c 100644
--- a/master/stdlib/Stdlib.Reals.R_Ifp.html
+++ b/master/stdlib/Stdlib.Reals.R_Ifp.html
@@ -61,7 +61,7 @@ Library Stdlib.Reals.R_Ifp
-Properties
+Properties
diff --git a/master/stdlib/Stdlib.Reals.R_sqrt.html b/master/stdlib/Stdlib.Reals.R_sqrt.html
index 5f8fd155d5..c62fbe9f62 100644
--- a/master/stdlib/Stdlib.Reals.R_sqrt.html
+++ b/master/stdlib/Stdlib.Reals.R_sqrt.html
@@ -54,7 +54,7 @@ Library Stdlib.Reals.R_sqrt
@@ -195,7 +195,7 @@ Library Stdlib.Reals.R_sqrt
diff --git a/master/stdlib/Stdlib.Reals.Ranalysis1.html b/master/stdlib/Stdlib.Reals.Ranalysis1.html
index 9cd3e708ca..26741c4d31 100644
--- a/master/stdlib/Stdlib.Reals.Ranalysis1.html
+++ b/master/stdlib/Stdlib.Reals.Ranalysis1.html
@@ -56,7 +56,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -105,7 +105,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -126,7 +126,7 @@ Library Stdlib.Reals.Ranalysis1
-Definition of continuity as a limit
+Definition of continuity as a limit
@@ -230,7 +230,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -270,7 +270,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -326,7 +326,7 @@ Library Stdlib.Reals.Ranalysis1
-Equivalence of this definition with the one using limit concept
+Equivalence of this definition with the one using limit concept
@@ -357,7 +357,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -375,11 +375,11 @@ Library Stdlib.Reals.Ranalysis1
-Main rules
+Main rules
-Rules for derivable_pt_lim (value of the derivative at a point)
+Rules for derivable_pt_lim (value of the derivative at a point)
@@ -457,7 +457,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -523,7 +523,7 @@ Library Stdlib.Reals.Ranalysis1
-Rules for derivable (derivability on whole domain)
+Rules for derivable (derivability on whole domain)
@@ -567,7 +567,7 @@ Library Stdlib.Reals.Ranalysis1
-Rules for derive_pt (derivative function on whole domain)
+Rules for derive_pt (derivative function on whole domain)
@@ -637,7 +637,7 @@ Library Stdlib.Reals.Ranalysis1
-Definition and derivative of power function with natural number exponent
+Definition and derivative of power function with natural number exponent
@@ -671,7 +671,7 @@ Library Stdlib.Reals.Ranalysis1
@@ -699,7 +699,7 @@ Library Stdlib.Reals.Ranalysis1
diff --git a/master/stdlib/Stdlib.Reals.Ranalysis5.html b/master/stdlib/Stdlib.Reals.Ranalysis5.html
index f61b79cec1..1e4719e336 100644
--- a/master/stdlib/Stdlib.Reals.Ranalysis5.html
+++ b/master/stdlib/Stdlib.Reals.Ranalysis5.html
@@ -62,7 +62,7 @@ Library Stdlib.Reals.Ranalysis5
@@ -138,11 +138,11 @@ Library Stdlib.Reals.Ranalysis5
-The derivative of a reciprocal function
+The derivative of a reciprocal function
-Continuity of the reciprocal function
+Continuity of the reciprocal function
@@ -170,7 +170,7 @@ Library Stdlib.Reals.Ranalysis5
@@ -244,7 +244,7 @@ Library Stdlib.Reals.Ranalysis5
-Value of the derivative of the reciprocal function
+Value of the derivative of the reciprocal function
@@ -320,7 +320,7 @@ Library Stdlib.Reals.Ranalysis5
-Existence of the derivative of a function which is the limit of a sequence of functions
+Existence of the derivative of a function which is the limit of a sequence of functions
diff --git a/master/stdlib/Stdlib.Reals.Ratan.html b/master/stdlib/Stdlib.Reals.Ratan.html
index 5e664a6eb8..5a62f74e39 100644
--- a/master/stdlib/Stdlib.Reals.Ratan.html
+++ b/master/stdlib/Stdlib.Reals.Ratan.html
@@ -69,11 +69,11 @@ Library Stdlib.Reals.Ratan
-Preliminaries
+Preliminaries
-Various generic lemmas which probably should go somewhere else
+Various generic lemmas which probably should go somewhere else
@@ -121,11 +121,11 @@ Library Stdlib.Reals.Ratan
@@ -143,7 +143,7 @@ Library Stdlib.Reals.Ratan
@@ -193,11 +193,11 @@ Library Stdlib.Reals.Ratan
-Definition of arctangent
+Definition of arctangent
-Definition of arctangent as the reciprocal function of tangent and proof of this status
+Definition of arctangent as the reciprocal function of tangent and proof of this status
@@ -270,7 +270,7 @@ Library Stdlib.Reals.Ratan
@@ -287,7 +287,7 @@ Library Stdlib.Reals.Ratan
-Definition of the arctangent function as the sum of the arctan power series
+Definition of the arctangent function as the sum of the arctan power series
@@ -335,7 +335,7 @@ Library Stdlib.Reals.Ratan
-Proof of the equivalence of the two definitions between -1 and 1
+Proof of the equivalence of the two definitions between -1 and 1
@@ -474,7 +474,7 @@ Library Stdlib.Reals.Ratan
@@ -491,7 +491,7 @@ Library Stdlib.Reals.Ratan
-Definition of arcsine based on arctangent
+Definition of arcsine based on arctangent
@@ -509,7 +509,7 @@ Library Stdlib.Reals.Ratan
@@ -522,7 +522,7 @@ Library Stdlib.Reals.Ratan
@@ -544,7 +544,7 @@ Library Stdlib.Reals.Ratan
@@ -561,7 +561,7 @@ Library Stdlib.Reals.Ratan
@@ -578,7 +578,7 @@ Library Stdlib.Reals.Ratan
@@ -595,7 +595,7 @@ Library Stdlib.Reals.Ratan
@@ -612,7 +612,7 @@ Library Stdlib.Reals.Ratan
-Definition of arccosine based on arctangent
+Definition of arccosine based on arctangent
@@ -630,7 +630,7 @@ Library Stdlib.Reals.Ratan
-Relation between arccosine, arcsine and arctangent
+Relation between arccosine, arcsine and arctangent
@@ -651,7 +651,7 @@ Library Stdlib.Reals.Ratan
@@ -673,7 +673,7 @@ Library Stdlib.Reals.Ratan
@@ -690,7 +690,7 @@ Library Stdlib.Reals.Ratan
-arccosine is the left and right inverse of cosine
+arccosine is the left and right inverse of cosine
@@ -707,7 +707,7 @@ Library Stdlib.Reals.Ratan
@@ -724,7 +724,7 @@ Library Stdlib.Reals.Ratan
diff --git a/master/stdlib/Stdlib.Reals.Raxioms.html b/master/stdlib/Stdlib.Reals.Raxioms.html
index ed79875aad..fd77077888 100644
--- a/master/stdlib/Stdlib.Reals.Raxioms.html
+++ b/master/stdlib/Stdlib.Reals.Raxioms.html
@@ -69,11 +69,11 @@ Library Stdlib.Reals.Raxioms
@@ -141,7 +141,7 @@ Library Stdlib.Reals.Raxioms
@@ -269,7 +269,7 @@ Library Stdlib.Reals.Raxioms
-R Complete
+R Complete
diff --git a/master/stdlib/Stdlib.Reals.Rbasic_fun.html b/master/stdlib/Stdlib.Reals.Rbasic_fun.html
index cd2c8ab629..9a48f77e02 100644
--- a/master/stdlib/Stdlib.Reals.Rbasic_fun.html
+++ b/master/stdlib/Stdlib.Reals.Rbasic_fun.html
@@ -64,7 +64,7 @@ Library Stdlib.Reals.Rbasic_fun
-Rabsolu
+Rabsolu
diff --git a/master/stdlib/Stdlib.Reals.Rdefinitions.html b/master/stdlib/Stdlib.Reals.Rdefinitions.html
index 0bc140efff..44fa2d8a2b 100644
--- a/master/stdlib/Stdlib.Reals.Rdefinitions.html
+++ b/master/stdlib/Stdlib.Reals.Rdefinitions.html
@@ -178,7 +178,7 @@ Library Stdlib.Reals.Rdefinitions
@@ -266,7 +266,7 @@ Library Stdlib.Reals.Rdefinitions
diff --git a/master/stdlib/Stdlib.Reals.Rfunctions.html b/master/stdlib/Stdlib.Reals.Rfunctions.html
index f02141f092..82cdfb161f 100644
--- a/master/stdlib/Stdlib.Reals.Rfunctions.html
+++ b/master/stdlib/Stdlib.Reals.Rfunctions.html
@@ -74,7 +74,7 @@ Library Stdlib.Reals.Rfunctions
@@ -91,7 +91,7 @@ Library Stdlib.Reals.Rfunctions
@@ -230,7 +230,7 @@ Library Stdlib.Reals.Rfunctions
@@ -379,7 +379,7 @@ Library Stdlib.Reals.Rfunctions
@@ -403,7 +403,7 @@ Library Stdlib.Reals.Rfunctions
@@ -431,7 +431,7 @@ Library Stdlib.Reals.Rfunctions
diff --git a/master/stdlib/Stdlib.Reals.Rgeom.html b/master/stdlib/Stdlib.Reals.Rgeom.html
index fcdbc8504f..0c92899183 100644
--- a/master/stdlib/Stdlib.Reals.Rgeom.html
+++ b/master/stdlib/Stdlib.Reals.Rgeom.html
@@ -56,7 +56,7 @@ Library Stdlib.Reals.Rgeom
@@ -90,7 +90,7 @@ Library Stdlib.Reals.Rgeom
@@ -112,7 +112,7 @@ Library Stdlib.Reals.Rgeom
@@ -146,7 +146,7 @@ Library Stdlib.Reals.Rgeom
diff --git a/master/stdlib/Stdlib.Reals.RiemannInt_SF.html b/master/stdlib/Stdlib.Reals.RiemannInt_SF.html
index 75318f40c7..8178d9d3e1 100644
--- a/master/stdlib/Stdlib.Reals.RiemannInt_SF.html
+++ b/master/stdlib/Stdlib.Reals.RiemannInt_SF.html
@@ -62,7 +62,7 @@ Library Stdlib.Reals.RiemannInt_SF
@@ -84,7 +84,7 @@ Library Stdlib.Reals.RiemannInt_SF
@@ -124,7 +124,7 @@ Library Stdlib.Reals.RiemannInt_SF
@@ -156,7 +156,7 @@ Library Stdlib.Reals.RiemannInt_SF
@@ -170,7 +170,7 @@ Library Stdlib.Reals.RiemannInt_SF
diff --git a/master/stdlib/Stdlib.Reals.Rlimit.html b/master/stdlib/Stdlib.Reals.Rlimit.html
index a63c9db13c..751f6703e1 100644
--- a/master/stdlib/Stdlib.Reals.Rlimit.html
+++ b/master/stdlib/Stdlib.Reals.Rlimit.html
@@ -62,7 +62,7 @@ Library Stdlib.Reals.Rlimit
@@ -100,7 +100,7 @@ Library Stdlib.Reals.Rlimit
diff --git a/master/stdlib/Stdlib.Reals.Rlogic.html b/master/stdlib/Stdlib.Reals.Rlogic.html
index 7e84942d19..2c06bae070 100644
--- a/master/stdlib/Stdlib.Reals.Rlogic.html
+++ b/master/stdlib/Stdlib.Reals.Rlogic.html
@@ -77,7 +77,7 @@ Library Stdlib.Reals.Rlogic
-Decidability of arithmetical statements
+Decidability of arithmetical statements
@@ -103,7 +103,7 @@ Library Stdlib.Reals.Rlogic
-Derivability of the Archimedean axiom
+Derivability of the Archimedean axiom
@@ -123,7 +123,7 @@ Library Stdlib.Reals.Rlogic
diff --git a/master/stdlib/Stdlib.Reals.Rminmax.html b/master/stdlib/Stdlib.Reals.Rminmax.html
index 82b6f98612..a71707dca9 100644
--- a/master/stdlib/Stdlib.Reals.Rminmax.html
+++ b/master/stdlib/Stdlib.Reals.Rminmax.html
@@ -54,7 +54,7 @@ Library Stdlib.Reals.Rminmax
@@ -111,7 +111,7 @@ Library Stdlib.Reals.Rminmax
-Properties specific to the R domain
+Properties specific to the R domain
diff --git a/master/stdlib/Stdlib.Reals.Rpower.html b/master/stdlib/Stdlib.Reals.Rpower.html
index 92b80a2743..9f4decb0bb 100644
--- a/master/stdlib/Stdlib.Reals.Rpower.html
+++ b/master/stdlib/Stdlib.Reals.Rpower.html
@@ -76,7 +76,7 @@ Library Stdlib.Reals.Rpower
@@ -129,7 +129,7 @@ Library Stdlib.Reals.Rpower
@@ -169,7 +169,7 @@ Library Stdlib.Reals.Rpower
@@ -181,7 +181,7 @@ Library Stdlib.Reals.Rpower
diff --git a/master/stdlib/Stdlib.Reals.Rseries.html b/master/stdlib/Stdlib.Reals.Rseries.html
index bb01a7a01f..1ac0f28a3a 100644
--- a/master/stdlib/Stdlib.Reals.Rseries.html
+++ b/master/stdlib/Stdlib.Reals.Rseries.html
@@ -57,7 +57,7 @@ Library Stdlib.Reals.Rseries
@@ -129,7 +129,7 @@ Library Stdlib.Reals.Rseries
diff --git a/master/stdlib/Stdlib.Reals.Rtopology.html b/master/stdlib/Stdlib.Reals.Rtopology.html
index 21ac7da5f2..d19f496bcb 100644
--- a/master/stdlib/Stdlib.Reals.Rtopology.html
+++ b/master/stdlib/Stdlib.Reals.Rtopology.html
@@ -58,7 +58,7 @@ Library Stdlib.Reals.Rtopology
@@ -306,7 +306,7 @@ Library Stdlib.Reals.Rtopology
@@ -379,7 +379,7 @@ Library Stdlib.Reals.Rtopology
diff --git a/master/stdlib/Stdlib.Reals.Rtrigo1.html b/master/stdlib/Stdlib.Reals.Rtrigo1.html
index 4d4ed8fcf9..0f8e20a6c4 100644
--- a/master/stdlib/Stdlib.Reals.Rtrigo1.html
+++ b/master/stdlib/Stdlib.Reals.Rtrigo1.html
@@ -165,7 +165,7 @@ Library Stdlib.Reals.Rtrigo1
@@ -259,7 +259,7 @@ Library Stdlib.Reals.Rtrigo1
@@ -293,7 +293,7 @@ Library Stdlib.Reals.Rtrigo1
diff --git a/master/stdlib/Stdlib.Reals.Rtrigo_def.html b/master/stdlib/Stdlib.Reals.Rtrigo_def.html
index 89d4203ced..bdf24533ac 100644
--- a/master/stdlib/Stdlib.Reals.Rtrigo_def.html
+++ b/master/stdlib/Stdlib.Reals.Rtrigo_def.html
@@ -54,7 +54,7 @@ Library Stdlib.Reals.Rtrigo_def
@@ -80,7 +80,7 @@ Library Stdlib.Reals.Rtrigo_def
@@ -154,7 +154,7 @@ Library Stdlib.Reals.Rtrigo_def
diff --git a/master/stdlib/Stdlib.Reals.Rtrigo_facts.html b/master/stdlib/Stdlib.Reals.Rtrigo_facts.html
index 25545359e1..86f7a91bd1 100644
--- a/master/stdlib/Stdlib.Reals.Rtrigo_facts.html
+++ b/master/stdlib/Stdlib.Reals.Rtrigo_facts.html
@@ -60,7 +60,7 @@ Library Stdlib.Reals.Rtrigo_facts
-Bounds of expressions with trigonometric functions
+Bounds of expressions with trigonometric functions
@@ -77,11 +77,11 @@ Library Stdlib.Reals.Rtrigo_facts
-Express trigonometric functions with each other
+Express trigonometric functions with each other
-Express sin and cos with each other
+Express sin and cos with each other
@@ -114,7 +114,7 @@ Library Stdlib.Reals.Rtrigo_facts
@@ -147,7 +147,7 @@ Library Stdlib.Reals.Rtrigo_facts
@@ -164,7 +164,7 @@ Library Stdlib.Reals.Rtrigo_facts
diff --git a/master/stdlib/Stdlib.Relations.Operators_Properties.html b/master/stdlib/Stdlib.Relations.Operators_Properties.html
index 45d5ae02a0..ec164bf752 100644
--- a/master/stdlib/Stdlib.Relations.Operators_Properties.html
+++ b/master/stdlib/Stdlib.Relations.Operators_Properties.html
@@ -48,8 +48,8 @@ Library Stdlib.Relations.Operators_Properties
-Some properties of the operators on relations
-Initial version by Bruno Barras
+Some properties of the operators on relations
+Initial version by Bruno Barras
@@ -184,12 +184,12 @@ Library Stdlib.Relations.Operators_Properties
-Equivalences between the different definition of the reflexive,
+Equivalences between the different definition of the reflexive,
symmetric, transitive closures
-Contributed by P. Castéran
+Contributed by P. Castéran
diff --git a/master/stdlib/Stdlib.Relations.Relation_Operators.html b/master/stdlib/Stdlib.Relations.Relation_Operators.html
index 3e51774176..ec113f2c9f 100644
--- a/master/stdlib/Stdlib.Relations.Relation_Operators.html
+++ b/master/stdlib/Stdlib.Relations.Relation_Operators.html
@@ -48,14 +48,14 @@ Library Stdlib.Relations.Relation_Operators
-Some operators on relations
-Initial authors: Bruno Barras, Cristina Cornes
-
-Some of the initial definitions were taken from :
-Constructing Recursion Operators in Type Theory
-L. Paulson JSC (1986) 2, 325-355
-
-Further extensions by Pierre Castéran
+Some operators on relations
+Initial authors: Bruno Barras, Cristina Cornes
+
+Some of the initial definitions were taken from :
+Constructing Recursion Operators in Type Theory
+L. Paulson JSC (1986) 2, 325-355
+
+Further extensions by Pierre Castéran
@@ -67,7 +67,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -123,7 +123,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -153,7 +153,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -213,7 +213,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -275,7 +275,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -293,7 +293,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -311,7 +311,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -335,7 +335,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -368,7 +368,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -403,7 +403,7 @@ Library Stdlib.Relations.Relation_Operators
@@ -429,7 +429,7 @@ Library Stdlib.Relations.Relation_Operators
diff --git a/master/stdlib/Stdlib.Sorting.CPermutation.html b/master/stdlib/Stdlib.Sorting.CPermutation.html
index a4f1d0cc23..fb6346c308 100644
--- a/master/stdlib/Stdlib.Sorting.CPermutation.html
+++ b/master/stdlib/Stdlib.Sorting.CPermutation.html
@@ -48,7 +48,7 @@ Library Stdlib.Sorting.CPermutation
-Circular Shifts (aka Cyclic Permutations)
+Circular Shifts (aka Cyclic Permutations)
diff --git a/master/stdlib/Stdlib.Sorting.Heap.html b/master/stdlib/Stdlib.Sorting.Heap.html
index 74d8c44c56..8cdc18ce29 100644
--- a/master/stdlib/Stdlib.Sorting.Heap.html
+++ b/master/stdlib/Stdlib.Sorting.Heap.html
@@ -73,11 +73,11 @@ Library Stdlib.Sorting.Heap
-Trees and heap trees
+Trees and heap trees
-Definition of trees over an ordered set
+Definition of trees over an ordered set
@@ -142,7 +142,7 @@ Library Stdlib.Sorting.Heap
@@ -194,7 +194,7 @@ Library Stdlib.Sorting.Heap
@@ -226,7 +226,7 @@ Library Stdlib.Sorting.Heap
-From lists to sorted lists
+From lists to sorted lists
-Specification of heap insertion
+Specification of heap insertion
@@ -288,7 +288,7 @@ Library Stdlib.Sorting.Heap
@@ -308,7 +308,7 @@ Library Stdlib.Sorting.Heap
@@ -329,7 +329,7 @@ Library Stdlib.Sorting.Heap
diff --git a/master/stdlib/Stdlib.Sorting.PermutSetoid.html b/master/stdlib/Stdlib.Sorting.PermutSetoid.html
index 68585daaa1..5f0bb7c06f 100644
--- a/master/stdlib/Stdlib.Sorting.PermutSetoid.html
+++ b/master/stdlib/Stdlib.Sorting.PermutSetoid.html
@@ -88,7 +88,7 @@ Library Stdlib.Sorting.PermutSetoid
@@ -127,7 +127,7 @@ Library Stdlib.Sorting.PermutSetoid
@@ -201,7 +201,7 @@ Library Stdlib.Sorting.PermutSetoid
diff --git a/master/stdlib/Stdlib.Sorting.Permutation.html b/master/stdlib/Stdlib.Sorting.Permutation.html
index 812e61f0e9..d63eaa0150 100644
--- a/master/stdlib/Stdlib.Sorting.Permutation.html
+++ b/master/stdlib/Stdlib.Sorting.Permutation.html
@@ -48,7 +48,7 @@ Library Stdlib.Sorting.Permutation
-List permutations as a composition of adjacent transpositions
+List permutations as a composition of adjacent transpositions
diff --git a/master/stdlib/Stdlib.Strings.Ascii.html b/master/stdlib/Stdlib.Strings.Ascii.html
index 6c183554a1..ada657720c 100644
--- a/master/stdlib/Stdlib.Strings.Ascii.html
+++ b/master/stdlib/Stdlib.Strings.Ascii.html
@@ -61,7 +61,7 @@ Library Stdlib.Strings.Ascii
-Definition of ascii characters
+Definition of ascii characters
@@ -141,7 +141,7 @@ Library Stdlib.Strings.Ascii
-Conversion between natural numbers modulo 256 and ascii characters
+Conversion between natural numbers modulo 256 and ascii characters
@@ -283,7 +283,7 @@ Library Stdlib.Strings.Ascii
-Concrete syntax
+Concrete syntax
diff --git a/master/stdlib/Stdlib.Strings.PString.html b/master/stdlib/Stdlib.Strings.PString.html
index 5857d14907..66e53f29dd 100644
--- a/master/stdlib/Stdlib.Strings.PString.html
+++ b/master/stdlib/Stdlib.Strings.PString.html
@@ -127,7 +127,7 @@ Library Stdlib.Strings.PString
@@ -168,7 +168,7 @@ Library Stdlib.Strings.PString
@@ -211,7 +211,7 @@ Library Stdlib.Strings.PString
@@ -292,7 +292,7 @@ Library Stdlib.Strings.PString
@@ -304,7 +304,7 @@ Library Stdlib.Strings.PString
@@ -326,7 +326,7 @@ Library Stdlib.Strings.PString
@@ -374,7 +374,7 @@ Library Stdlib.Strings.PString
diff --git a/master/stdlib/Stdlib.Strings.String.html b/master/stdlib/Stdlib.Strings.String.html
index f8119eb947..7aa08bc6d3 100644
--- a/master/stdlib/Stdlib.Strings.String.html
+++ b/master/stdlib/Stdlib.Strings.String.html
@@ -64,7 +64,7 @@ Library Stdlib.Strings.String
@@ -185,7 +185,7 @@ Library Stdlib.Strings.String
@@ -276,7 +276,7 @@ Library Stdlib.Strings.String
-Concatenating lists of strings
+Concatenating lists of strings
@@ -346,7 +346,7 @@ Library Stdlib.Strings.String
@@ -541,7 +541,7 @@ Library Stdlib.Strings.String
-Concrete syntax
+Concrete syntax
diff --git a/master/stdlib/Stdlib.Structures.DecidableType.html b/master/stdlib/Stdlib.Structures.DecidableType.html
index 95606d0c41..ef4184788e 100644
--- a/master/stdlib/Stdlib.Structures.DecidableType.html
+++ b/master/stdlib/Stdlib.Structures.DecidableType.html
@@ -59,7 +59,7 @@ Library Stdlib.Structures.DecidableType
FSets and FMap. Please use Structures/Equalities.v directly now.
-Types with Equalities, and nothing more (for subtyping purpose)
+Types with Equalities, and nothing more (for subtyping purpose)
@@ -71,7 +71,7 @@ Library Stdlib.Structures.DecidableType
-Types with decidable Equalities (but no ordering)
+Types with decidable Equalities (but no ordering)
@@ -83,7 +83,7 @@ Library Stdlib.Structures.DecidableType
-Additional notions about keys and datas used in FMap
+Additional notions about keys and datas used in FMap
diff --git a/master/stdlib/Stdlib.Structures.DecidableTypeEx.html b/master/stdlib/Stdlib.Structures.DecidableTypeEx.html
index 5cf8937e25..bb6b9b8890 100644
--- a/master/stdlib/Stdlib.Structures.DecidableTypeEx.html
+++ b/master/stdlib/Stdlib.Structures.DecidableTypeEx.html
@@ -56,7 +56,7 @@ Library Stdlib.Structures.DecidableTypeEx
FSets and FMap. Please use Structures/Equalities.v directly now.
-Examples of Decidable Type structures.
+Examples of Decidable Type structures.
diff --git a/master/stdlib/Stdlib.Structures.Equalities.html b/master/stdlib/Stdlib.Structures.Equalities.html
index f0c932be8f..dbfd3b79df 100644
--- a/master/stdlib/Stdlib.Structures.Equalities.html
+++ b/master/stdlib/Stdlib.Structures.Equalities.html
@@ -68,7 +68,7 @@ Library Stdlib.Structures.Equalities
@@ -82,7 +82,7 @@ Library Stdlib.Structures.Equalities
@@ -108,7 +108,7 @@ Library Stdlib.Structures.Equalities
-Specification of the equality via the Equivalence type class
+Specification of the equality via the Equivalence type class
@@ -123,7 +123,7 @@ Library Stdlib.Structures.Equalities
-Earlier specification of equality by three separate lemmas.
+Earlier specification of equality by three separate lemmas.
@@ -143,7 +143,7 @@ Library Stdlib.Structures.Equalities
@@ -157,7 +157,7 @@ Library Stdlib.Structures.Equalities
-Compatibility wrapper from/to the old version of
+Compatibility wrapper from/to the old version of
EqualityType and DecidableType
@@ -291,7 +291,7 @@ Library Stdlib.Structures.Equalities
-Having eq_dec is equivalent to having eqb and its spec.
+Having eq_dec is equivalent to having eqb and its spec.
@@ -389,7 +389,7 @@ Library Stdlib.Structures.Equalities
-UsualDecidableType
+UsualDecidableType
diff --git a/master/stdlib/Stdlib.Structures.EqualitiesFacts.html b/master/stdlib/Stdlib.Structures.EqualitiesFacts.html
index 742448106c..914d816b9d 100644
--- a/master/stdlib/Stdlib.Structures.EqualitiesFacts.html
+++ b/master/stdlib/Stdlib.Structures.EqualitiesFacts.html
@@ -54,7 +54,7 @@ Library Stdlib.Structures.EqualitiesFacts
@@ -226,7 +226,7 @@ Library Stdlib.Structures.EqualitiesFacts
-PairDecidableType
+PairDecidableType
diff --git a/master/stdlib/Stdlib.Structures.GenericMinMax.html b/master/stdlib/Stdlib.Structures.GenericMinMax.html
index 3e2ceeb850..d6b805110c 100644
--- a/master/stdlib/Stdlib.Structures.GenericMinMax.html
+++ b/master/stdlib/Stdlib.Structures.GenericMinMax.html
@@ -51,11 +51,11 @@ Library Stdlib.Structures.GenericMinMax
-A Generic construction of min and max
+A Generic construction of min and max
-First, an interface for types with max and/or min
+First, an interface for types with max and/or min
@@ -81,7 +81,7 @@ Library Stdlib.Structures.GenericMinMax
-Any OrderedTypeFull can be equipped by max and min
+Any OrderedTypeFull can be equipped by max and min
based on the compare function.
@@ -122,7 +122,7 @@ Library Stdlib.Structures.GenericMinMax