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 @@ -Env (rocq-runtime.Boot.Env)

Module 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:

  1. coqlibsuffix given in configure
  2. coqlib given in configure

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.

type t

Coq runtime enviroment, including location of Coq's stdlib

val init : unit -> t

init () will initialize the Coq environment.

val stdlib : t -> Path.t

stdlib directory

val plugins : t -> Path.t

plugins directory

val user_contrib : t -> Path.t

user contrib directory

val tool : t -> string -> Path.t

tool-specific directory

val native_cmi : t -> string -> Path.t

.cmi files needed for native compilation

val revision : t -> Path.t

The location of the revision file

val corelib : t -> Path.t

rocq-runtime/lib directory, not sure if to keep this

val coqlib : t -> Path.t

coq/lib directory, not sure if to keep this

val set_coqlib : string -> unit

Internal, should be set automatically by passing cmdline args to init; note that this will set both coqlib and corelib for now.

\ No newline at end of file +Env (rocq-runtime.Boot.Env)

Module 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:

  1. coqlibsuffix given in configure
  2. coqlib given in configure

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.

type t

Rocq runtime enviroment, including location of Rocq's stdlib

val init : unit -> t

init () will initialize the Rocq environment.

val stdlib : t -> Path.t

stdlib directory

val plugins : t -> Path.t

plugins directory

val user_contrib : t -> Path.t

user contrib directory

val tool : t -> string -> Path.t

tool-specific directory

val native_cmi : t -> string -> Path.t

.cmi files needed for native compilation

val revision : t -> Path.t

The location of the revision file

val corelib : t -> Path.t

rocq-runtime/lib directory, not sure if to keep this

val coqlib : t -> Path.t

coq/lib directory, not sure if to keep this

val set_coqlib : string -> unit

Internal, should be set automatically by passing cmdline args to init; note that this will set both coqlib and corelib for now.

\ No newline at end of file diff --git a/master/api/rocq-runtime/Boot/index.html b/master/api/rocq-runtime/Boot/index.html index 194b368cfb..b9f9a65760 100644 --- a/master/api/rocq-runtime/Boot/index.html +++ b/master/api/rocq-runtime/Boot/index.html @@ -1,2 +1,2 @@ -Boot (rocq-runtime.Boot)

Module Boot

module Env : sig ... end

Coq runtime enviroment API.

module Path : sig ... end
module Usage : sig ... end
module Util : sig ... end
\ No newline at end of file +Boot (rocq-runtime.Boot)

Module Boot

module Env : sig ... end

Rocq runtime enviroment API.

module Path : sig ... end
module Usage : sig ... end
module Util : sig ... end
\ No newline at end of file diff --git a/master/api/rocq-runtime/CErrors/index.html b/master/api/rocq-runtime/CErrors/index.html index 660680601c..45581088d8 100644 --- a/master/api/rocq-runtime/CErrors/index.html +++ b/master/api/rocq-runtime/CErrors/index.html @@ -1,5 +1,5 @@ -CErrors (rocq-runtime.CErrors)

Module CErrors

This modules implements basic manipulations of errors for use throughout Coq'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.

val is_anomaly : exn -> bool

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

exception Timeout

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
val noncritical : exn -> bool

"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.

val is_anomaly : exn -> bool

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

exception Timeout

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
val noncritical : exn -> bool

"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

type starts_quotation =
| NoQuotation
| Quotation

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 ':'

type keyword_state
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 check_ident : string -> unit
val is_ident : string -> bool
val check_keyword : string -> unit
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)

val after : Loc.t -> Loc.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 S = module type of Stdlib.String

Module type S is the one from OCaml Stdlib.

module type ExtS = sig ... end
include ExtS

We include the standard library

include S
val length : string -> int
val get : string -> int -> char
val set : bytes -> int -> char -> unit
val create : int -> bytes
val make : int -> char -> string
val init : int -> (int -> char) -> string
val copy : string -> string
val sub : string -> int -> int -> string
val fill : bytes -> int -> int -> char -> unit
val blit : string -> int -> bytes -> int -> int -> unit
val concat : string -> string list -> string
val iter : (char -> unit) -> string -> unit
val iteri : (int -> char -> unit) -> string -> unit
val map : (char -> char) -> string -> string
val mapi : (int -> char -> char) -> string -> string
val trim : string -> string
val escaped : string -> string
val index : string -> char -> int
val index_opt : string -> char -> int option
val rindex : string -> char -> int
val rindex_opt : string -> char -> int option
val index_from : string -> int -> char -> int
val index_from_opt : string -> int -> char -> int option
val rindex_from : string -> int -> char -> int
val rindex_from_opt : string -> int -> char -> int option
val contains : string -> char -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val uppercase : string -> string
val lowercase : string -> string
val capitalize : string -> string
val uncapitalize : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
type t = string
val compare : t -> t -> int
val equal : t -> t -> bool
val split_on_char : char -> string -> string list
val to_seq : t -> char Stdlib.Seq.t
val to_seqi : t -> (int * char) Stdlib.Seq.t
val of_seq : char Stdlib.Seq.t -> t
val unsafe_get : string -> int -> char
val unsafe_set : bytes -> int -> char -> unit
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val unsafe_fill : bytes -> int -> int -> char -> unit

Equality on strings

val hash : string -> int

Hashing on strings. Should be compatible with generic one.

val is_empty : string -> bool

Test whether a string is empty.

val explode : string -> string list

explode "x1...xn" returns ["x1"; ...; "xn"]

val implode : string list -> string

implode [s1; ...; sn] returns s1 ^ ... ^ sn

val drop_simple_quotes : string -> string

Remove the eventual first surrounding simple quotes of a string.

val quote_coq_string : string -> string

Quote a string according to Coq conventions (i.e. doubling double quotes and surrounding by double quotes)

val unquote_coq_string : string -> string option

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

val html_escape : string -> string

replace HTML reserved characters with escape sequences, e.g. `&` -> "&"

val string_index_from : string -> int -> string -> int

As index_from, but takes a string instead of a char as pattern argument

val string_contains : where:string -> what:string -> bool

As contains, but takes a string instead of a char as pattern argument

val plural : int -> string -> string

plural n s adds a optional 's' to the s when 2 <= n.

val lplural : _ list -> string -> string

lplural l s is plural (List.length l) s.

val conjugate_verb_to_be : int -> string

conjugate_verb_to_be returns "is" when n=1 and "are" otherwise

val ordinal : int -> string

Generate the ordinal number in English.

val is_sub : string -> string -> int -> bool

is_sub p s off tests whether s contains p at offset off.

val is_prefix : string -> string -> bool

is_prefix p s tests whether p is a prefix of s.

val is_suffix : string -> string -> bool

is_suffix suf s tests whether suf is a suffix of s.

Generic operations

*

module Set : CSet.ExtS with type elt = t

Finite sets on string

module Map : CMap.ExtS with type key = t and module Set := Set

Finite maps on string

module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t

Association lists with string as keys

val hcons : string -> string

Hashconsing on string

\ No newline at end of file +CString (rocq-runtime.CString)

Module CString

module type S = module type of Stdlib.String

Module type S is the one from OCaml Stdlib.

module type ExtS = sig ... end
include ExtS

We include the standard library

include S
val length : string -> int
val get : string -> int -> char
val set : bytes -> int -> char -> unit
val create : int -> bytes
val make : int -> char -> string
val init : int -> (int -> char) -> string
val copy : string -> string
val sub : string -> int -> int -> string
val fill : bytes -> int -> int -> char -> unit
val blit : string -> int -> bytes -> int -> int -> unit
val concat : string -> string list -> string
val iter : (char -> unit) -> string -> unit
val iteri : (int -> char -> unit) -> string -> unit
val map : (char -> char) -> string -> string
val mapi : (int -> char -> char) -> string -> string
val trim : string -> string
val escaped : string -> string
val index : string -> char -> int
val index_opt : string -> char -> int option
val rindex : string -> char -> int
val rindex_opt : string -> char -> int option
val index_from : string -> int -> char -> int
val index_from_opt : string -> int -> char -> int option
val rindex_from : string -> int -> char -> int
val rindex_from_opt : string -> int -> char -> int option
val contains : string -> char -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val uppercase : string -> string
val lowercase : string -> string
val capitalize : string -> string
val uncapitalize : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
type t = string
val compare : t -> t -> int
val equal : t -> t -> bool
val split_on_char : char -> string -> string list
val to_seq : t -> char Stdlib.Seq.t
val to_seqi : t -> (int * char) Stdlib.Seq.t
val of_seq : char Stdlib.Seq.t -> t
val unsafe_get : string -> int -> char
val unsafe_set : bytes -> int -> char -> unit
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val unsafe_fill : bytes -> int -> int -> char -> unit

Equality on strings

val hash : string -> int

Hashing on strings. Should be compatible with generic one.

val is_empty : string -> bool

Test whether a string is empty.

val explode : string -> string list

explode "x1...xn" returns ["x1"; ...; "xn"]

val implode : string list -> string

implode [s1; ...; sn] returns s1 ^ ... ^ sn

val drop_simple_quotes : string -> string

Remove the eventual first surrounding simple quotes of a string.

val quote_coq_string : string -> string

Quote a string according to Rocq conventions (i.e. doubling double quotes and surrounding by double quotes)

val unquote_coq_string : string -> string option

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

val html_escape : string -> string

replace HTML reserved characters with escape sequences, e.g. `&` -> "&#38;"

val string_index_from : string -> int -> string -> int

As index_from, but takes a string instead of a char as pattern argument

val string_contains : where:string -> what:string -> bool

As contains, but takes a string instead of a char as pattern argument

val plural : int -> string -> string

plural n s adds a optional 's' to the s when 2 <= n.

val lplural : _ list -> string -> string

lplural l s is plural (List.length l) s.

val conjugate_verb_to_be : int -> string

conjugate_verb_to_be returns "is" when n=1 and "are" otherwise

val ordinal : int -> string

Generate the ordinal number in English.

val is_sub : string -> string -> int -> bool

is_sub p s off tests whether s contains p at offset off.

val is_prefix : string -> string -> bool

is_prefix p s tests whether p is a prefix of s.

val is_suffix : string -> string -> bool

is_suffix suf s tests whether suf is a suffix of s.

Generic operations

*

module Set : CSet.ExtS with type elt = t

Finite sets on string

module Map : CMap.ExtS with type key = t and module Set := Set

Finite maps on string

module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t

Association lists with string as keys

val hcons : string -> string

Hashconsing on string

\ 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

include S
val length : string -> int
val get : string -> int -> char
val set : bytes -> int -> char -> unit
val create : int -> bytes
val make : int -> char -> string
val init : int -> (int -> char) -> string
val copy : string -> string
val sub : string -> int -> int -> string
val fill : bytes -> int -> int -> char -> unit
val blit : string -> int -> bytes -> int -> int -> unit
val concat : string -> string list -> string
val iter : (char -> unit) -> string -> unit
val iteri : (int -> char -> unit) -> string -> unit
val map : (char -> char) -> string -> string
val mapi : (int -> char -> char) -> string -> string
val trim : string -> string
val escaped : string -> string
val index : string -> char -> int
val index_opt : string -> char -> int option
val rindex : string -> char -> int
val rindex_opt : string -> char -> int option
val index_from : string -> int -> char -> int
val index_from_opt : string -> int -> char -> int option
val rindex_from : string -> int -> char -> int
val rindex_from_opt : string -> int -> char -> int option
val contains : string -> char -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val uppercase : string -> string
val lowercase : string -> string
val capitalize : string -> string
val uncapitalize : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
type t = string
val compare : t -> t -> int
val equal : t -> t -> bool
val split_on_char : char -> string -> string list
val to_seq : t -> char Stdlib.Seq.t
val to_seqi : t -> (int * char) Stdlib.Seq.t
val of_seq : char Stdlib.Seq.t -> t
val unsafe_get : string -> int -> char
val unsafe_set : bytes -> int -> char -> unit
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val unsafe_fill : bytes -> int -> int -> char -> unit

Equality on strings

val hash : string -> int

Hashing on strings. Should be compatible with generic one.

val is_empty : string -> bool

Test whether a string is empty.

val explode : string -> string list

explode "x1...xn" returns ["x1"; ...; "xn"]

val implode : string list -> string

implode [s1; ...; sn] returns s1 ^ ... ^ sn

val drop_simple_quotes : string -> string

Remove the eventual first surrounding simple quotes of a string.

val quote_coq_string : string -> string

Quote a string according to Coq conventions (i.e. doubling double quotes and surrounding by double quotes)

val unquote_coq_string : string -> string option

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

val html_escape : string -> string

replace HTML reserved characters with escape sequences, e.g. `&` -> "&#38;"

val string_index_from : string -> int -> string -> int

As index_from, but takes a string instead of a char as pattern argument

val string_contains : where:string -> what:string -> bool

As contains, but takes a string instead of a char as pattern argument

val plural : int -> string -> string

plural n s adds a optional 's' to the s when 2 <= n.

val lplural : _ list -> string -> string

lplural l s is plural (List.length l) s.

val conjugate_verb_to_be : int -> string

conjugate_verb_to_be returns "is" when n=1 and "are" otherwise

val ordinal : int -> string

Generate the ordinal number in English.

val is_sub : string -> string -> int -> bool

is_sub p s off tests whether s contains p at offset off.

val is_prefix : string -> string -> bool

is_prefix p s tests whether p is a prefix of s.

val is_suffix : string -> string -> bool

is_suffix suf s tests whether suf is a suffix of s.

Generic operations

*

module Set : CSet.ExtS with type elt = t

Finite sets on string

module Map : CMap.ExtS with type key = t and module Set := Set

Finite maps on string

module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t

Association lists with string as keys

val hcons : string -> string

Hashconsing on string

\ No newline at end of file +ExtS (rocq-runtime.CString.ExtS)

Module type CString.ExtS

We include the standard library

include S
val length : string -> int
val get : string -> int -> char
val set : bytes -> int -> char -> unit
val create : int -> bytes
val make : int -> char -> string
val init : int -> (int -> char) -> string
val copy : string -> string
val sub : string -> int -> int -> string
val fill : bytes -> int -> int -> char -> unit
val blit : string -> int -> bytes -> int -> int -> unit
val concat : string -> string list -> string
val iter : (char -> unit) -> string -> unit
val iteri : (int -> char -> unit) -> string -> unit
val map : (char -> char) -> string -> string
val mapi : (int -> char -> char) -> string -> string
val trim : string -> string
val escaped : string -> string
val index : string -> char -> int
val index_opt : string -> char -> int option
val rindex : string -> char -> int
val rindex_opt : string -> char -> int option
val index_from : string -> int -> char -> int
val index_from_opt : string -> int -> char -> int option
val rindex_from : string -> int -> char -> int
val rindex_from_opt : string -> int -> char -> int option
val contains : string -> char -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val uppercase : string -> string
val lowercase : string -> string
val capitalize : string -> string
val uncapitalize : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
type t = string
val compare : t -> t -> int
val equal : t -> t -> bool
val split_on_char : char -> string -> string list
val to_seq : t -> char Stdlib.Seq.t
val to_seqi : t -> (int * char) Stdlib.Seq.t
val of_seq : char Stdlib.Seq.t -> t
val unsafe_get : string -> int -> char
val unsafe_set : bytes -> int -> char -> unit
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val unsafe_fill : bytes -> int -> int -> char -> unit

Equality on strings

val hash : string -> int

Hashing on strings. Should be compatible with generic one.

val is_empty : string -> bool

Test whether a string is empty.

val explode : string -> string list

explode "x1...xn" returns ["x1"; ...; "xn"]

val implode : string list -> string

implode [s1; ...; sn] returns s1 ^ ... ^ sn

val drop_simple_quotes : string -> string

Remove the eventual first surrounding simple quotes of a string.

val quote_coq_string : string -> string

Quote a string according to Rocq conventions (i.e. doubling double quotes and surrounding by double quotes)

val unquote_coq_string : string -> string option

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

val html_escape : string -> string

replace HTML reserved characters with escape sequences, e.g. `&` -> "&#38;"

val string_index_from : string -> int -> string -> int

As index_from, but takes a string instead of a char as pattern argument

val string_contains : where:string -> what:string -> bool

As contains, but takes a string instead of a char as pattern argument

val plural : int -> string -> string

plural n s adds a optional 's' to the s when 2 <= n.

val lplural : _ list -> string -> string

lplural l s is plural (List.length l) s.

val conjugate_verb_to_be : int -> string

conjugate_verb_to_be returns "is" when n=1 and "are" otherwise

val ordinal : int -> string

Generate the ordinal number in English.

val is_sub : string -> string -> int -> bool

is_sub p s off tests whether s contains p at offset off.

val is_prefix : string -> string -> bool

is_prefix p s tests whether p is a prefix of s.

val is_suffix : string -> string -> bool

is_suffix suf s tests whether suf is a suffix of s.

Generic operations

*

module Set : CSet.ExtS with type elt = t

Finite sets on string

module Map : CMap.ExtS with type key = t and module Set := Set

Finite maps on string

module Pred : Predicate.S with type elt = t
module List : CList.MonoS with type elt = t

Association lists with string as keys

val hcons : string -> string

Hashconsing on string

\ 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.

Simply type aliases

type metavariable = int

Existential variables

type case_style =
| LetStyle
| IfStyle
| LetPatternStyle
| MatchStyle
| RegularStyle(*

infer printing form from number of constructor

*)

Case annotation

type case_printing = {
style : case_style;
}
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 t
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 mkInt : Uint63.t -> constr

Constructs a machine integer

val mkArray : (UVars.Instance.t * constr array * constr * types) -> constr

Constructs an array

val mkFloat : Float64.t -> constr

Constructs a machine float number

val mkString : Pstring.t -> constr

Constructs a machine string.

val mkMeta : metavariable -> constr

Constructs an patvar named "?n"

type existential = Evar.t * constr SList.t

Constructs an existential variable

val mkEvar : existential -> constr
val mkSort : Sorts.t -> types

Construct a sort

val mkSProp : types
val mkProp : types
val mkSet : types
val mkType : Univ.Universe.t -> types
type cast_kind =
| VMcast
| NATIVEcast
| DEFAULTcast

This defines the strategy to use for verifiying a Cast

val mkCast : (constr * cast_kind * constr) -> constr

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 = ('aSorts.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

Constructs the product let x = t1 : t2 in t3

val mkApp : (constr * constr array) -> constr

mkApp (f, [|t1; ...; tN|] constructs the application (f t1 ... tn) .

val map_puniverses : ('a -> 'b) -> 'a UVars.puniverses -> 'b UVars.puniverses
val mkConstU : pconstant -> constr

Constructs a Constant.t

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

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"

acith 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 pcase_invert =
| NoInvert(*

Normal reduction: match when the scrutinee is a constructor.

*)
| CaseInvert of {
indices : 'constr array;
}
(*

SProp to non SProp only: No constructors or reduce when the indices match those of the unique constructor.

*)
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 = (typesSorts.relevance) pcase_return
type case_branch = (constrSorts.relevance) pcase_branch
val mkCase : case -> constr
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.

Simply type aliases

type metavariable = int

Existential variables

type case_style =
| LetStyle
| IfStyle
| LetPatternStyle
| MatchStyle
| RegularStyle(*

infer printing form from number of constructor

*)

Case annotation

type case_printing = {
style : case_style;
}
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 t
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 mkInt : Uint63.t -> constr

Constructs a machine integer

val mkArray : (UVars.Instance.t * constr array * constr * types) -> constr

Constructs an array

val mkFloat : Float64.t -> constr

Constructs a machine float number

val mkString : Pstring.t -> constr

Constructs a machine string.

val mkMeta : metavariable -> constr

Constructs an patvar named "?n"

type existential = Evar.t * constr SList.t

Constructs an existential variable

val mkEvar : existential -> constr
val mkSort : Sorts.t -> types

Construct a sort

val mkSProp : types
val mkProp : types
val mkSet : types
val mkType : Univ.Universe.t -> types
type cast_kind =
| VMcast
| NATIVEcast
| DEFAULTcast

This defines the strategy to use for verifiying a Cast

val mkCast : (constr * cast_kind * constr) -> constr

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 = ('aSorts.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

Constructs the product let x = t1 : t2 in t3

val mkApp : (constr * constr array) -> constr

mkApp (f, [|t1; ...; tN|] constructs the application (f t1 ... tn) .

val map_puniverses : ('a -> 'b) -> 'a UVars.puniverses -> 'b UVars.puniverses
val mkConstU : pconstant -> constr

Constructs a Constant.t

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

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"

acith 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 pcase_invert =
| NoInvert(*

Normal reduction: match when the scrutinee is a constructor.

*)
| CaseInvert of {
indices : 'constr array;
}
(*

SProp to non SProp only: No constructors or reduce when the indices match those of the unique constructor.

*)
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 = (typesSorts.relevance) pcase_return
type case_branch = (constrSorts.relevance) pcase_branch
val mkCase : case -> constr
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 = (constrtypesSorts.relevance) prec_declaration
type fixpoint = (constrtypesSorts.relevance) pfixpoint
val mkFix : fixpoint -> constr
type cofixpoint = (constrtypesSorts.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.

exception Timeout

Used to convert signals to exceptions

val enable_thread_delay : bool Stdlib.ref

Will periodically call Thread.delay if set to true

val interrupt : bool Stdlib.ref

Coq interruption: set the following boolean reference to interrupt Coq (it eventually raises Break, simulating a Ctrl-C)

val check_for_interrupt : unit -> unit

Use this function as a potential yield function. If interrupt has been set, il will raise Sys.Break.

val timeout : float -> ('a -> 'b) -> 'a -> 'b option

timeout n f x tries to compute Some (f x), and if it fails to do so before n seconds, returns None instead.

type timeout = {
timeout : a b. float -> ('a -> 'b) -> 'a -> 'b option;
}

Set a particular timeout function; warning, this is an internal API and it is scheduled to go away.

val set_timeout : timeout -> unit
val protect_sigalrm : ('a -> 'b) -> 'a -> 'b

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.

exception Timeout

Used to convert signals to exceptions

val enable_thread_delay : bool Stdlib.ref

Will periodically call Thread.delay if set to true

val interrupt : bool Stdlib.ref

Rocq interruption: set the following boolean reference to interrupt Rocq (it eventually raises Break, simulating a Ctrl-C)

val check_for_interrupt : unit -> unit

Use this function as a potential yield function. If interrupt has been set, il will raise Sys.Break.

val timeout : float -> ('a -> 'b) -> 'a -> 'b option

timeout n f x tries to compute Some (f x), and if it fails to do so before n seconds, returns None instead.

type timeout = {
timeout : a b. float -> ('a -> 'b) -> 'a -> 'b option;
}

Set a particular timeout function; warning, this is an internal API and it is scheduled to go away.

val set_timeout : timeout -> unit
val protect_sigalrm : ('a -> 'b) -> 'a -> 'b

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.

type input_buffer

The input buffer of stdin.

val top_buffer : input_buffer
val set_prompt : (unit -> string) -> unit
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

val ml_toplevel_include_ran : bool Stdlib.ref

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.

type input_buffer

The input buffer of stdin.

val top_buffer : input_buffer
val set_prompt : (unit -> string) -> unit
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

val ml_toplevel_include_ran : bool Stdlib.ref

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

The specific characterization of the coqtop_toplevel

type query =
| PrintTags
| PrintModUid of string list
type run_mode =
| Interactive
| Batch
| Query of query
type toplevel_options = {
run_mode : run_mode;
color_mode : Colors.color;
}
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

The specific characterization of the coqtop_toplevel

type query =
| PrintTags
| PrintModUid of string list
type run_mode =
| Interactive
| Batch
| Query of query
type toplevel_options = {
run_mode : run_mode;
color_mode : Colors.color;
}
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.

type t =
| StepIn
| StepOver
| StepOut
| Continue
| Skip
| Interrupt
| Help
| UpdBpts of ((string * int) * bool) list
| Configd
| GetStack
| GetVars of int
| RunCnt of int
| RunBreakpoint of string
| Command of string
| Failed
| Ignore
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.

type t =
| StepIn
| StepOver
| StepOut
| Continue
| Skip
| Interrupt
| Help
| UpdBpts of ((string * int) * bool) list
| Configd
| GetStack
| GetVars of int
| RunCnt of int
| RunBreakpoint of string
| Command of string
| Failed
| Ignore
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

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 Programed 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.

val create_custom_entry : local:bool -> string -> unit
val exists_custom_entry : string -> bool
val locality_of_custom_entry : string -> bool
\ 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.

val create_custom_entry : local:bool -> string -> unit
val exists_custom_entry : string -> bool
val locality_of_custom_entry : string -> bool
\ 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).

val getenv_rocq : string -> string option

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.

val expand_path_macros : warn:(string -> unit) -> string -> string

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.

val home : warn:(string -> unit) -> string

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.

val docdir : unit -> string

docdir is the path to the installed documentation.

val datadir : unit -> string

datadir is the path to the installed data directory.

val configdir : unit -> string

configdir is the path to the installed config directory.

val coqbin : string

coqbin is the name of the current executable.

val coqroot : string

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).

val coqpath : string list

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.

val ocamlfind : unit -> string

camlfind () is the path to the ocamlfind binary.

val xdg_config_home : (string -> unit) -> string

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

val xdg_data_home : (string -> unit) -> string
val xdg_data_dirs : (string -> unit) -> string list
val xdg_dirs : warn:(string -> unit) -> string list
val print_config : ?prefix_var_name:string -> Stdlib.out_channel -> unit

Prints the configuration information

\ 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).

val getenv_rocq : string -> string option

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.

val expand_path_macros : warn:(string -> unit) -> string -> string

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.

val home : warn:(string -> unit) -> string

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.

val docdir : unit -> string

docdir is the path to the installed documentation.

val datadir : unit -> string

datadir is the path to the installed data directory.

val configdir : unit -> string

configdir is the path to the installed config directory.

val coqbin : string

coqbin is the name of the current executable.

val coqroot : string

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).

val coqpath : string list

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.

val ocamlfind : unit -> string

camlfind () is the path to the ocamlfind binary.

val xdg_config_home : (string -> unit) -> string

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

val xdg_data_home : (string -> unit) -> string
val xdg_data_dirs : (string -> unit) -> string list
val xdg_dirs : warn:(string -> unit) -> string list
val print_config : ?prefix_var_name:string -> Stdlib.out_channel -> unit

Prints the configuration information

\ 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 econstr
type etypes = econstr
type esorts
type erelevance
Existential variables and unification states
Evar filters
module Filter : sig ... end
module Abstraction : sig ... end
Evar infos
type defined = [
| `defined
]
type undefined = [
| `undefined
]
type _ evar_body =
| Evar_empty : undefined evar_body
| Evar_defined : econstr -> defined evar_body
type 'a evar_info
type any_evar_info =
| EvarInfo : 'a evar_info -> any_evar_info
Projections from evar infos
val evar_concl : undefined evar_info -> econstr

Type of the evar.

val evar_context : 'a evar_info -> (econstretypeserelevance) Context.Named.pt

Context of the evar.

val evar_hyps : 'a evar_info -> Environ.named_context_val

Context of the evar.

val evar_body : 'a evar_info -> 'a evar_body

Optional content of the evar.

val evar_candidates : undefined evar_info -> econstr list option

List of possible solutions when known that it is a finite list

val evar_source : 'a evar_info -> Evar_kinds.t Loc.located
val evar_filter : 'a evar_info -> Filter.t

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 -> (econstretypeserelevance) 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
val evar_identity_subst : 'a evar_info -> econstr SList.t
val map_evar_body : (econstr -> econstr) -> 'a evar_body -> 'a evar_body
val map_evar_info : (econstr -> econstr) -> 'a evar_info -> 'a evar_info
Unification state

*

type evar_map

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).

val from_ctx : UState.t -> evar_map

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 econstr
type etypes = econstr
type esorts
type erelevance
Existential variables and unification states
Evar filters
module Filter : sig ... end
module Abstraction : sig ... end
Evar infos
type defined = [
| `defined
]
type undefined = [
| `undefined
]
type _ evar_body =
| Evar_empty : undefined evar_body
| Evar_defined : econstr -> defined evar_body
type 'a evar_info
type any_evar_info =
| EvarInfo : 'a evar_info -> any_evar_info
Projections from evar infos
val evar_concl : undefined evar_info -> econstr

Type of the evar.

val evar_context : 'a evar_info -> (econstretypeserelevance) Context.Named.pt

Context of the evar.

val evar_hyps : 'a evar_info -> Environ.named_context_val

Context of the evar.

val evar_body : 'a evar_info -> 'a evar_body

Optional content of the evar.

val evar_candidates : undefined evar_info -> econstr list option

List of possible solutions when known that it is a finite list

val evar_source : 'a evar_info -> Evar_kinds.t Loc.located
val evar_filter : 'a evar_info -> Filter.t

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 -> (econstretypeserelevance) 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
val evar_identity_subst : 'a evar_info -> econstr SList.t
val map_evar_body : (econstr -> econstr) -> 'a evar_body -> 'a evar_body
val map_evar_info : (econstr -> econstr) -> 'a evar_info -> 'a evar_info
Unification state

*

type evar_map

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).

val from_ctx : UState.t -> evar_map

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.

  • parameter src

    User-facing source for the evar

  • parameter filter

    See Evd.Filter, must be the same length as named_context_val

  • parameter name

    A name for the evar

  • parameter named_context_val

    The context of the evar

  • parameter types

    The type of conclusion of the evar

val add : evar_map -> Evar.t -> 'a evar_info -> evar_map

add sigma ev info adds ev with evar info info in sigma. Precondition: ev must not preexist in sigma.

val find_defined : evar_map -> Evar.t -> defined evar_info option
val find : evar_map -> Evar.t -> any_evar_info

Recover the data associated to an evar.

val find_undefined : evar_map -> Evar.t -> undefined evar_info

Same as find but restricted to undefined evars. For efficiency reasons.

val remove : evar_map -> Evar.t -> evar_map

Remove an evar from an evar map. Use with caution.

val undefine : evar_map -> Evar.t -> etypes -> evar_map

Remove the body of an evar. Only there for backward compat, do not use.

val mem : evar_map -> Evar.t -> bool

Whether an evar is present in an evarmap.

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.

val fold_undefined : (Evar.t -> undefined evar_info -> 'a -> 'a) -> evar_map -> 'a -> 'a

Same as fold, but restricted to undefined evars. For efficiency reasons.

type map = {
map : r. Evar.t -> 'r evar_info -> 'r evar_info;
}
val raw_map : map -> evar_map -> evar_map

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.

val define : Evar.t -> econstr -> evar_map -> evar_map

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.
val define_with_evar : Evar.t -> econstr -> evar_map -> 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.

val cmap : (econstr -> econstr) -> evar_map -> evar_map

Map the function on all terms in the evar map.

val is_evar : evar_map -> Evar.t -> bool

Alias for mem.

val is_defined : evar_map -> Evar.t -> bool

Whether an evar is defined in an evarmap.

val is_undefined : evar_map -> Evar.t -> bool

Whether an evar is not defined in an evarmap.

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.

val drop_all_defined : evar_map -> evar_map
val drop_new_defined : original:evar_map -> evar_map -> evar_map

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
exception NotInstantiatedEvar
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 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
val instantiate_evar_array : evar_map -> 'a evar_info -> econstr -> econstr SList.t -> econstr
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

val is_aliased_evar : evar_map -> Evar.t -> Evar.t option

Tell if an evar has been aliased to another evar, and if yes, which

val max_undefined_with_candidates : evar_map -> Evar.t option

If any, the evar with highest id with a non-empty list of candidates.

val set_typeclass_evars : evar_map -> Evar.Set.t -> evar_map

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

val is_typeclass_evar : evar_map -> Evar.t -> bool

Is the evar declared resolvable for typeclass resolution

val get_obligation_evars : evar_map -> Evar.Set.t

The set of obligation evars

val set_obligation_evar : evar_map -> Evar.t -> evar_map

Declare an evar as an obligation

val is_obligation_evar : evar_map -> Evar.t -> bool

Is the evar declared as an obligation

val get_impossible_case_evars : evar_map -> Evar.Set.t

Set of undefined evars with ImpossibleCase evar source.

val downcast : Evar.t -> etypes -> evar_map -> evar_map

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_effect_role =
| Schema of Names.inductive * string
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.

val drop_side_effects : evar_map -> evar_map

This should not be used. For hacking purposes.

Future goals
val declare_future_goal : Evar.t -> evar_map -> evar_map

Adds an existential variable to the list of future goals. For internal uses only.

module FutureGoals : sig ... end
val push_future_goals : evar_map -> evar_map
val pop_future_goals : evar_map -> FutureGoals.t * evar_map
val fold_future_goals : (evar_map -> Evar.t -> evar_map) -> evar_map -> evar_map
val remove_future_goal : evar_map -> Evar.t -> evar_map
val pr_future_goals_stack : evar_map -> Pp.t
val push_shelf : evar_map -> evar_map
val pop_shelf : evar_map -> Evar.t list * evar_map
val filter_shelf : (Evar.t -> bool) -> evar_map -> evar_map
val give_up : Evar.t -> evar_map -> evar_map
val shelve : evar_map -> Evar.t list -> evar_map
val unshelve : evar_map -> Evar.t list -> evar_map
val given_up : evar_map -> Evar.Set.t
val shelf : evar_map -> Evar.t list
val pr_shelf : evar_map -> Pp.t
Sort variables

Evar maps also keep track of the universe constraints defined at a given point. This section defines the relevant manipulation functions.

exception UniversesDiffer
val add_universe_constraints : evar_map -> UnivProblem.Set.t -> evar_map

Add the given universe unification constraints to the evar map.

  • raises UniversesDiffer

    in case a first-order unification fails.

  • raises UniverseInconsistency

    .

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.

module Store : Store.S

Datatype used to store additional information in evar maps.

val get_extra_data : evar_map -> Store.t
val set_extra_data : Store.t -> evar_map -> evar_map
The state monad with state an evar map
module MonadR : Monad.S with type +'a t = evar_map -> evar_map * 'a
module Monad : Monad.S with type +'a t = evar_map -> 'a * 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_term : evar_map -> econstr -> Evar.Set.t

including evars in instances of evars

val evars_of_named_context : evar_map -> (econstretypeserelevance) Context.Named.pt -> Evar.Set.t
val evars_of_filtered_evar_info : evar_map -> 'a evar_info -> 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 new_sort_variable : ?loc:Loc.t -> rigid -> evar_map -> evar_map * esorts
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_eq : evar_map -> esorts -> esorts -> bool
val check_leq : evar_map -> esorts -> esorts -> bool
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 ustate : evar_map -> UState.t
val evar_universe_context : evar_map -> UState.t
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 universes : evar_map -> UGraph.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_universe_context : evar_map -> UState.t -> evar_map
val set_universe_context : evar_map -> UState.t -> evar_map
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 nf_univ_variables : evar_map -> evar_map
val collapse_sort_variables : evar_map -> evar_map
val fix_undefined_variables : evar_map -> evar_map
val minimize_universes : ?lbound:UGraph.Bound.t -> evar_map -> evar_map

Universe minimization

val update_sigma_univs : UGraph.t -> evar_map -> evar_map

Lift UState.update_sigma_univs

Polymorphic universes

val fresh_sort_in_family : ?loc:Loc.t -> ?rigid:rigid -> evar_map -> Sorts.family -> evar_map * esorts
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
type open_constr = evar_map * econstr

Partially constructed constrs.

type unsolvability_explanation =
| SeveralInstancesFound of int(*

Failure explanation.

*)
Summary names
val evar_counter_summary_tag : int Summary.Dyn.tag
val create_evar_defs : evar_map -> evar_map

Deprecated functions

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

type level =
| Debug
| Info
| Notice
| Warning
| Error
type doc_id = int

Document unique identifier for serialization

type route_id = int

Coq "semantic" infos obtained during execution

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
type feedback = {
doc_id : doc_id;
span_id : Stateid.t;
route : route_id;
contents : feedback_content;
}
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 del_feeder : int -> unit

del_feeder fid removes the feeder with id fid

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

val set_id_for_feedback : ?route:route_id -> doc_id -> Stateid.t -> unit

set_id_for_feedback route id Set the defaults for feedback

output functions
val msg_info : ?loc:Loc.t -> Pp.t -> unit

Message that displays information, usually in verbose mode, such as Foobar - is defined

val msg_notice : ?loc:Loc.t -> Pp.t -> unit

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 msg_debug : ?loc:Loc.t -> Pp.t -> unit

For debugging purposes

val console_feedback_listener : Stdlib.Format.formatter -> feedback -> unit

Helper for tools willing to print to the feedback system

val warn_no_listeners : bool Stdlib.ref

The library will print a warning to the console if no listener is available by default; ML-clients willing to use Coq without a feedback handler should set this to false.

\ No newline at end of file +Feedback (rocq-runtime.Feedback)

Module Feedback

type level =
| Debug
| Info
| Notice
| Warning
| Error
type doc_id = int

Document unique identifier for serialization

type route_id = int

Rocq "semantic" infos obtained during execution

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
type feedback = {
doc_id : doc_id;
span_id : Stateid.t;
route : route_id;
contents : feedback_content;
}
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 del_feeder : int -> unit

del_feeder fid removes the feeder with id fid

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

val set_id_for_feedback : ?route:route_id -> doc_id -> Stateid.t -> unit

set_id_for_feedback route id Set the defaults for feedback

output functions
val msg_info : ?loc:Loc.t -> Pp.t -> unit

Message that displays information, usually in verbose mode, such as Foobar + is defined

val msg_notice : ?loc:Loc.t -> Pp.t -> unit

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 msg_debug : ?loc:Loc.t -> Pp.t -> unit

For debugging purposes

val console_feedback_listener : Stdlib.Format.formatter -> feedback -> unit

Helper for tools willing to print to the feedback system

val warn_no_listeners : bool Stdlib.ref

The library will print a warning to the console if no listener is available by default; ML-clients willing to use Rocq without a feedback handler should set this to false.

\ 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

val async_proofs_worker_id : string Stdlib.ref

Async-related flags

val async_proofs_is_worker : unit -> bool
val load_vos_libraries : bool Stdlib.ref

Flag to indicate that .vos files should be loaded for dependencies instead of .vo files. Used by -vos and -vok options.

val xml_debug : bool Stdlib.ref

Debug flags

val in_debugger : bool Stdlib.ref
val in_ml_toplevel : bool Stdlib.ref
val in_synterp_phase : bool Stdlib.ref
val raw_print : bool Stdlib.ref
val beautify : bool Stdlib.ref
val beautify_file : bool Stdlib.ref
val record_comments : bool Stdlib.ref
val quiet : bool Stdlib.ref
val silently : ('a -> 'b) -> 'a -> 'b
val verbosely : ('a -> 'b) -> 'a -> 'b
val if_silent : ('a -> unit) -> 'a -> unit
val if_verbose : ('a -> unit) -> 'a -> unit
val warn : bool Stdlib.ref
val make_warn : bool -> unit
val if_warn : ('a -> unit) -> 'a -> unit
val with_modified_ref : 'c Stdlib.ref -> ('c -> 'c) -> ('a -> 'b) -> 'a -> 'b

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

val with_option : bool Stdlib.ref -> ('a -> 'b) -> 'a -> 'b

Temporarily activate an option (to activate option o on f x y z, use with_option o (f x y) z)

val with_options : bool Stdlib.ref list -> ('a -> 'b) -> 'a -> 'b

As with_option, but on several flags.

val without_option : bool Stdlib.ref -> ('a -> 'b) -> 'a -> 'b

Temporarily deactivate an option

val with_extra_values : 'c list Stdlib.ref -> 'c list -> ('a -> 'b) -> 'a -> 'b

Temporarily extends the reference to a list

val set_inline_level : int -> unit

Level of inlining during a functor application

val get_inline_level : unit -> int
val default_inline_level : int
val output_directory : CUnix.physical_path option Stdlib.ref

Default output directory

val test_mode : bool Stdlib.ref

Flag set when the test-suite is called. Its only effect to display verbose information for Fail

\ 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

val async_proofs_worker_id : string Stdlib.ref

Async-related flags

val async_proofs_is_worker : unit -> bool
val load_vos_libraries : bool Stdlib.ref

Flag to indicate that .vos files should be loaded for dependencies instead of .vo files. Used by -vos and -vok options.

val xml_debug : bool Stdlib.ref

Debug flags

val in_debugger : bool Stdlib.ref
val in_ml_toplevel : bool Stdlib.ref
val in_synterp_phase : bool Stdlib.ref
val raw_print : bool Stdlib.ref
val beautify : bool Stdlib.ref
val beautify_file : bool Stdlib.ref
val record_comments : bool Stdlib.ref
val quiet : bool Stdlib.ref
val silently : ('a -> 'b) -> 'a -> 'b
val verbosely : ('a -> 'b) -> 'a -> 'b
val if_silent : ('a -> unit) -> 'a -> unit
val if_verbose : ('a -> unit) -> 'a -> unit
val warn : bool Stdlib.ref
val make_warn : bool -> unit
val if_warn : ('a -> unit) -> 'a -> unit
val with_modified_ref : 'c Stdlib.ref -> ('c -> 'c) -> ('a -> 'b) -> 'a -> 'b

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

val with_option : bool Stdlib.ref -> ('a -> 'b) -> 'a -> 'b

Temporarily activate an option (to activate option o on f x y z, use with_option o (f x y) z)

val with_options : bool Stdlib.ref list -> ('a -> 'b) -> 'a -> 'b

As with_option, but on several flags.

val without_option : bool Stdlib.ref -> ('a -> 'b) -> 'a -> 'b

Temporarily deactivate an option

val with_extra_values : 'c list Stdlib.ref -> 'c list -> ('a -> 'b) -> 'a -> 'b

Temporarily extends the reference to a list

val set_inline_level : int -> unit

Level of inlining during a functor application

val get_inline_level : unit -> int
val default_inline_level : int
val output_directory : CUnix.physical_path option Stdlib.ref

Default output directory

val test_mode : bool Stdlib.ref

Flag set when the test-suite is called. Its only effect to display verbose information for Fail

\ 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

type t

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.

  • since 8.15
val sign : t -> bool

Return true for "-", false for "+".

val opp : t -> t
val abs : t -> t
type float_comparison =
| FEq
| FLt
| FGt
| FNotComparable
val eq : t -> t -> bool
val lt : t -> t -> bool
val le : t -> t -> bool
val compare : t -> t -> float_comparison

The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments

type float_class =
| PNormal
| NNormal
| PSubn
| NSubn
| PZero
| NZero
| PInf
| NInf
| NaN
val classify : t -> float_class
val mul : t -> t -> t
val add : t -> t -> t
val sub : t -> t -> t
val div : t -> t -> t
val sqrt : t -> t
val of_uint63 : Uint63.t -> t

Link with integers

val normfr_mantissa : t -> Uint63.t
val eshift : int

Shifted exponent extraction

val frshiftexp : t -> t * Uint63.t
val ldshiftexp : t -> Uint63.t -> t
val next_up : t -> t
val next_down : t -> t
val equal : t -> t -> bool

Return true if two floats are equal. * All NaN values are considered equal.

val hash : t -> int
val total_compare : t -> t -> int

Total order relation over float values. Behaves like Pervasives.compare.

val is_float64 : Stdlib.Obj.t -> bool
\ No newline at end of file +Float64 (rocq-runtime.Float64)

Module Float64

type t

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.

  • since 8.15
val sign : t -> bool

Return true for "-", false for "+".

val opp : t -> t
val abs : t -> t
type float_comparison =
| FEq
| FLt
| FGt
| FNotComparable
val eq : t -> t -> bool
val lt : t -> t -> bool
val le : t -> t -> bool
val compare : t -> t -> float_comparison

The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments

type float_class =
| PNormal
| NNormal
| PSubn
| NSubn
| PZero
| NZero
| PInf
| NInf
| NaN
val classify : t -> float_class
val mul : t -> t -> t
val add : t -> t -> t
val sub : t -> t -> t
val div : t -> t -> t
val sqrt : t -> t
val of_uint63 : Uint63.t -> t

Link with integers

val normfr_mantissa : t -> Uint63.t
val eshift : int

Shifted exponent extraction

val frshiftexp : t -> t * Uint63.t
val ldshiftexp : t -> Uint63.t -> t
val next_up : t -> t
val next_down : t -> t
val equal : t -> t -> bool

Return true if two floats are equal. * All NaN values are considered equal.

val hash : t -> int
val total_compare : t -> t -> int

Total order relation over float values. Behaves like Pervasives.compare.

val is_float64 : Stdlib.Obj.t -> bool
\ 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

type t = float

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.

  • since 8.15
val sign : t -> bool

Return true for "-", false for "+".

val opp : t -> t
val abs : t -> t
type float_comparison =
| FEq
| FLt
| FGt
| FNotComparable
val eq : t -> t -> bool
val lt : t -> t -> bool
val le : t -> t -> bool
val compare : t -> t -> float_comparison

The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments

type float_class =
| PNormal
| NNormal
| PSubn
| NSubn
| PZero
| NZero
| PInf
| NInf
| NaN
val classify : t -> float_class
val of_uint63 : Uint63.t -> t

Link with integers

val normfr_mantissa : t -> Uint63.t
val eshift : int

Shifted exponent extraction

val frshiftexp : t -> t * Uint63.t
val ldshiftexp : t -> Uint63.t -> t
val next_up : t -> t
val next_down : t -> t
val equal : t -> t -> bool

Return true if two floats are equal. * All NaN values are considered equal.

val hash : t -> int
val total_compare : t -> t -> int

Total order relation over float values. Behaves like Pervasives.compare.

val is_float64 : Stdlib.Obj.t -> bool
\ No newline at end of file +Float64_common (rocq-runtime.Float64_common)

Module Float64_common

type t = float

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.

  • since 8.15
val sign : t -> bool

Return true for "-", false for "+".

val opp : t -> t
val abs : t -> t
type float_comparison =
| FEq
| FLt
| FGt
| FNotComparable
val eq : t -> t -> bool
val lt : t -> t -> bool
val le : t -> t -> bool
val compare : t -> t -> float_comparison

The IEEE 754 float comparison. * NotComparable is returned if there is a NaN in the arguments

type float_class =
| PNormal
| NNormal
| PSubn
| NSubn
| PZero
| NZero
| PInf
| NInf
| NaN
val classify : t -> float_class
val of_uint63 : Uint63.t -> t

Link with integers

val normfr_mantissa : t -> Uint63.t
val eshift : int

Shifted exponent extraction

val frshiftexp : t -> t * Uint63.t
val ldshiftexp : t -> Uint63.t -> t
val next_up : t -> t
val next_down : t -> t
val equal : t -> t -> bool

Return true if two floats are equal. * All NaN values are considered equal.

val hash : t -> int
val total_compare : t -> t -> int

Total order relation over float values. Behaves like Pervasives.compare.

val is_float64 : Stdlib.Obj.t -> bool
\ 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 = ('aUtil.Empty.tUtil.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 rlevel = [
| `rlevel
]
type glevel = [
| `glevel
]
type tlevel = [
| `tlevel
]
type (_, _) abstract_argument_type =
| Rawwit : ('a'b'c) genarg_type -> ('arlevel) abstract_argument_type
| Glbwit : ('a'b'c) genarg_type -> ('bglevel) abstract_argument_type
| Topwit : ('a'b'c) genarg_type -> ('ctlevel) 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 = ('arlevel) abstract_argument_type

Specialized type at raw level.

type 'a glob_abstract_argument_type = ('aglevel) abstract_argument_type

Specialized type at globalized level.

type 'a typed_abstract_argument_type = ('atlevel) abstract_argument_type

Specialized type at internalized level.

Projections
val rawwit : ('a'b'c) genarg_type -> ('arlevel) abstract_argument_type

Projection on the raw type constructor.

val glbwit : ('a'b'c) genarg_type -> ('bglevel) abstract_argument_type

Projection on the globalized type constructor.

val topwit : ('a'b'c) genarg_type -> ('ctlevel) 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
type argument_type =
| ArgumentType : ('a'b'c) genarg_type -> argument_type
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
module Register (M : 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 = ('aUtil.Empty.tUtil.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 rlevel = [
| `rlevel
]
type glevel = [
| `glevel
]
type tlevel = [
| `tlevel
]
type (_, _) abstract_argument_type =
| Rawwit : ('a'b'c) genarg_type -> ('arlevel) abstract_argument_type
| Glbwit : ('a'b'c) genarg_type -> ('bglevel) abstract_argument_type
| Topwit : ('a'b'c) genarg_type -> ('ctlevel) 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 = ('arlevel) abstract_argument_type

Specialized type at raw level.

type 'a glob_abstract_argument_type = ('aglevel) abstract_argument_type

Specialized type at globalized level.

type 'a typed_abstract_argument_type = ('atlevel) abstract_argument_type

Specialized type at internalized level.

Projections
val rawwit : ('a'b'c) genarg_type -> ('arlevel) abstract_argument_type

Projection on the raw type constructor.

val glbwit : ('a'b'c) genarg_type -> ('bglevel) abstract_argument_type

Projection on the globalized type constructor.

val topwit : ('a'b'c) genarg_type -> ('ctlevel) 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
type argument_type =
| ArgumentType : ('a'b'c) genarg_type -> argument_type
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
module Register (M : 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_impredicative_set : bool -> unit

Changing the (im)predicativity of the system

val set_indices_matter : bool -> unit
val set_typing_flags : Declarations.typing_flags -> unit
val set_check_guarded : bool -> unit
val set_check_positive : bool -> unit
val set_check_universes : bool -> unit
val typing_flags : unit -> Declarations.typing_flags
val set_allow_sprop : bool -> unit
val sprop_allowed : unit -> bool
val set_rewrite_rules_allowed : bool -> unit
val rewrite_rules_allowed : unit -> bool

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 fill_opaque : Safe_typing.opaque_certificate -> unit
val add_rewrite_rules : Names.Id.t -> Declarations.rewrite_rules_body -> unit
val add_constraints : Univ.Constraints.t -> unit

Extra universe constraints

val push_context_set : Univ.ContextSet.t -> unit

Non-interactive modules and module types

Sections

val open_section : unit -> unit

poly is true when the section should be universe polymorphic

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.

val sections_are_opened : unit -> bool

Interactive modules and module types

val start_module : Names.Id.t -> Names.ModPath.t
val start_modtype : Names.Id.t -> Names.ModPath.t
Queries in the global environment
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;
}

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.

Same as body_of_constant but on constant_body.

Compiled libraries
val start_library : Names.DirPath.t -> 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_joined_environment : unit -> bool
val is_curmod_library : unit -> bool
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 set_share_reduction : bool -> unit
val set_VM : bool -> unit
val set_native_compiler : bool -> unit
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_impredicative_set : bool -> unit

Changing the (im)predicativity of the system

val set_indices_matter : bool -> unit
val set_typing_flags : Declarations.typing_flags -> unit
val set_check_guarded : bool -> unit
val set_check_positive : bool -> unit
val set_check_universes : bool -> unit
val typing_flags : unit -> Declarations.typing_flags
val set_allow_sprop : bool -> unit
val sprop_allowed : unit -> bool
val set_rewrite_rules_allowed : bool -> unit
val rewrite_rules_allowed : unit -> bool

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 fill_opaque : Safe_typing.opaque_certificate -> unit
val add_rewrite_rules : Names.Id.t -> Declarations.rewrite_rules_body -> unit
val add_constraints : Univ.Constraints.t -> unit

Extra universe constraints

val push_context_set : Univ.ContextSet.t -> unit

Non-interactive modules and module types

Sections

val open_section : unit -> unit

poly is true when the section should be universe polymorphic

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.

val sections_are_opened : unit -> bool

Interactive modules and module types

val start_module : Names.Id.t -> Names.ModPath.t
val start_modtype : Names.Id.t -> Names.ModPath.t
Queries in the global environment
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;
}

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.

Same as body_of_constant but on constant_body.

Compiled libraries
val start_library : Names.DirPath.t -> 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_joined_environment : unit -> bool
val is_curmod_library : unit -> bool
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 set_share_reduction : bool -> unit
val set_VM : bool -> unit
val set_native_compiler : bool -> unit
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 mutual
type individual
type 'a scheme_kind
type handle
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 mutual
type individual
type 'a scheme_kind
type handle
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 is_declared_scheme_object : string -> bool

Is the string used as the name of a 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

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
type t =
| LibUnmappedDir
| LibNotFound
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
type t =
| LibUnmappedDir
| LibNotFound
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).

type t

Type of loadpath bindings.

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 pp : t -> Pp.t

Print a load path

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.

  • raises UserError

    if the file is not found

val locate_file : string -> string

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_pathError.t) Stdlib.Result.t
val locate_absolute_library : Names.DirPath.t -> (CUnix.physical_pathError.t) Stdlib.Result.t

Locates a library by implicit name.

  • returns

    LibUnmappedDir if the library is not in the path

  • returns

    LibNotFound if there is no corresponding file in the path

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).

type t

Type of loadpath bindings.

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 pp : t -> Pp.t

Print a load path

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.

  • raises UserError

    if the file is not found

val locate_file : string -> string

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_pathError.t) Stdlib.Result.t
val locate_absolute_library : Names.DirPath.t -> (CUnix.physical_pathError.t) Stdlib.Result.t

Locates a library by implicit name.

  • returns

    LibUnmappedDir if the library is not in the path

  • returns

    LibNotFound if there is no corresponding file in the path

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
exception Exception of exn

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).

exception Tac_Timeout

This exception is used to signal abortion in timeout functions.

exception TacticFailure of exn

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)

type ('a, 'b, 'e) list_view_ =
| Nil of 'e
| Cons of 'a * 'b

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.

module Logical (P : Param) : sig ... end
\ 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
exception Exception of exn

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).

exception Tac_Timeout

This exception is used to signal abortion in timeout functions.

exception TacticFailure of exn

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)

type ('a, 'b, 'e) list_view_ =
| Nil of 'e
| Cons of 'a * 'b

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.

module Logical (P : Param) : sig ... end
\ 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.

type t

Values of this type represent (Coq) identifiers.

val equal : t -> t -> bool

Equality over identifiers.

val compare : t -> t -> int

Comparison over identifiers.

val hash : t -> int

Hash over identifiers.

val is_valid : string -> bool

Check that a string may be converted to an identifier.

val is_valid_ident_part : string -> bool

Check that a string is a valid part of an identifier

val of_bytes : bytes -> t
val of_string : string -> t

Converts a string into an identifier.

  • raises UserError

    if the string is invalid as an identifier.

val of_string_soft : string -> t

Same as of_string except that any string made of supported UTF-8 characters is accepted.

  • raises UserError

    if the string is invalid as an UTF-8 string.

val to_string : t -> string

Converts a identifier into an string.

val print : t -> Pp.t

Pretty-printer.

module Set : Util.Set.ExtS with type elt = t

Finite sets of identifiers.

module Map : Util.Map.ExtS with type key = t and module Set := Set

Finite maps 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.

val hcons : t -> t

Hashconsing of identifiers.

\ No newline at end of file +Id (rocq-runtime.Names.Id)

Module Names.Id

Representation and operations on identifiers.

type t

Values of this type represent (Rocq) identifiers.

val equal : t -> t -> bool

Equality over identifiers.

val compare : t -> t -> int

Comparison over identifiers.

val hash : t -> int

Hash over identifiers.

val is_valid : string -> bool

Check that a string may be converted to an identifier.

val is_valid_ident_part : string -> bool

Check that a string is a valid part of an identifier

val of_bytes : bytes -> t
val of_string : string -> t

Converts a string into an identifier.

  • raises UserError

    if the string is invalid as an identifier.

val of_string_soft : string -> t

Same as of_string except that any string made of supported UTF-8 characters is accepted.

  • raises UserError

    if the string is invalid as an UTF-8 string.

val to_string : t -> string

Converts a identifier into an string.

val print : t -> Pp.t

Pretty-printer.

module Set : Util.Set.ExtS with type elt = t

Finite sets of identifiers.

module Map : Util.Map.ExtS with type key = t and module Set := Set

Finite maps 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.

val hcons : t -> t

Hashconsing 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 name = Name.t =
| Anonymous
| Name of Id.t
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
module DPmap : Util.Map.ExtS with type key = DirPath.t and module Set := DPset
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
module MBImap : Util.Map.ExtS with type key = MBId.t and module Set := MBIset
The module part of the kernel name
module ModPath : sig ... end
module MPset : Util.Set.ExtS with type elt = ModPath.t
module MPmap : Util.Map.ExtS with type key = ModPath.t and module Set := MPset
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
module KNmap : Util.Map.UExtS with type key = KerName.t and module Set := KNset
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 : Util.Map.UExtS with type key = MutInd.t and module Set := Mindset
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 Indset : CSet.ExtS with type elt = inductive
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 : CMap.ExtS with type key = inductive and module Set := Indset
module Constrmap : CMap.ExtS with type key = constructor and module Set := Constrset
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_mutual_inductive : inductive -> int -> inductive
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_mind : MutInd.t -> MutInd.t
val hcons_ind : inductive -> inductive
val hcons_construct : constructor -> constructor
type 'a tableKey =
| ConstKey of 'a
| VarKey of Id.t
| RelKey of Int.t
type inv_rel_key = int

index in the rel_context part of environment starting by the end, inverse of de Bruijn indice

val eq_table_key : ('a -> 'a -> bool) -> 'a tableKey -> 'a tableKey -> bool
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)

val eq_ind_chk : inductive -> inductive -> bool
Module paths
type module_path = ModPath.t =
| MPfile of DirPath.t
| MPbound of MBId.t
| MPdot of ModPath.t * Label.t
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

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 lident = Id.t CAst.t
type lname = Name.t CAst.t
type lstring = string CAst.t
val lident_eq : lident -> lident -> bool
\ 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 name = Name.t =
| Anonymous
| Name of Id.t
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
module DPmap : Util.Map.ExtS with type key = DirPath.t and module Set := DPset
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
module MBImap : Util.Map.ExtS with type key = MBId.t and module Set := MBIset
The module part of the kernel name
module ModPath : sig ... end
module MPset : Util.Set.ExtS with type elt = ModPath.t
module MPmap : Util.Map.ExtS with type key = ModPath.t and module Set := MPset
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
module KNmap : Util.Map.UExtS with type key = KerName.t and module Set := KNset
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 : Util.Map.UExtS with type key = MutInd.t and module Set := Mindset
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 Indset : CSet.ExtS with type elt = inductive
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 : CMap.ExtS with type key = inductive and module Set := Indset
module Constrmap : CMap.ExtS with type key = constructor and module Set := Constrset
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_mutual_inductive : inductive -> int -> inductive
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_mind : MutInd.t -> MutInd.t
val hcons_ind : inductive -> inductive
val hcons_construct : constructor -> constructor
type 'a tableKey =
| ConstKey of 'a
| VarKey of Id.t
| RelKey of Int.t
type inv_rel_key = int

index in the rel_context part of environment starting by the end, inverse of de Bruijn indice

val eq_table_key : ('a -> 'a -> bool) -> 'a tableKey -> 'a tableKey -> bool
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)

val eq_ind_chk : inductive -> inductive -> bool
Module paths
type module_path = ModPath.t =
| MPfile of DirPath.t
| MPbound of MBId.t
| MPdot of ModPath.t * Label.t
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

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 lident = Id.t CAst.t
type lname = Name.t CAst.t
type lstring = string CAst.t
val lident_eq : lident -> lident -> bool
\ 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

type t

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.

module CanOrd : EqType with type t = t

Equality functions over the canonical name. Their use should be restricted to the kernel.

module UserOrd : EqType with type t = t

Equality functions over the user name.

module SyntacticOrd : EqType with type t = t

Equality functions using both names, for low-level uses.

val canonize : t -> t

Returns the canonical version of the name

\ No newline at end of file +QNameS (rocq-runtime.Names.QNameS)

Module type Names.QNameS

type t

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.

module CanOrd : EqType with type t = t

Equality functions over the canonical name. Their use should be restricted to the kernel.

module UserOrd : EqType with type t = t

Equality functions over the user name.

module SyntacticOrd : EqType with type t = t

Equality functions using both names, for low-level uses.

val canonize : t -> t

Returns the canonical version of the name

\ 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.

type object_prefix = {
obj_dir : Names.DirPath.t;
obj_mp : Names.ModPath.t;
}

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)
type visibility =
| Until of int
| Exactly of int
val map_visibility : (int -> int) -> visibility -> visibility
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_universe : visibility -> Libnames.full_path -> Univ.UGlobal.t -> unit

Deprecation and user warn info

The following functions perform globalization of qualified names

These functions globalize a (partially) qualified name or fail with Not_found

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

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_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
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.

  • raises Not_found

    if the universe was not introduced by the user.

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.

  • raises Not_found

    when the reference is not in the global tables.

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.

  • raises Not_found

    for unknown objects.

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

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 Make (U : UserName) (E : EqualityType) : NAMETREE with type user_name = U.t and type elt = E.t
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.

type object_prefix = {
obj_dir : Names.DirPath.t;
obj_mp : Names.ModPath.t;
}

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)
type visibility =
| Until of int
| Exactly of int
val map_visibility : (int -> int) -> visibility -> visibility
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_universe : visibility -> Libnames.full_path -> Univ.UGlobal.t -> unit

Deprecation and user warn info

The following functions perform globalization of qualified names

These functions globalize a (partially) qualified name or fail with Not_found

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

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_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
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.

  • raises Not_found

    if the universe was not introduced by the user.

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.

  • raises Not_found

    when the reference is not in the global tables.

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.

  • raises Not_found

    for unknown objects.

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

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 Make (U : UserName) (E : EqualityType) : NAMETREE with type user_name = U.t and type elt = E.t
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 get_load_paths : (unit -> string list) Stdlib.ref
val load_obj : (string -> unit) Stdlib.ref
val get_ml_filename : unit -> string * string
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 get_load_paths : (unit -> string list) Stdlib.ref
val load_obj : (string -> unit) Stdlib.ref
val get_ml_filename : unit -> string * string
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 equal : t -> t -> bool
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 print : t -> Pp.t

sprint and print returns the number as it was parsed, for printing

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 of_bigint : num_class -> Z.t -> t
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 of_bigint_and_exponent : Z.t -> Z.t exp -> t
val to_bigint_and_exponent : t -> Z.t * Z.t exp

n and p such that the number is n*10^p or n*2^p

val classify : t -> num_class
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 equal : t -> t -> bool
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 print : t -> Pp.t

sprint and print returns the number as it was parsed, for printing

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 of_bigint : num_class -> Z.t -> t
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 of_bigint_and_exponent : Z.t -> Z.t exp -> t
val to_bigint_and_exponent : t -> Z.t * Z.t exp

n and p such that the number is n*10^p or n*2^p

val classify : t -> num_class
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

type t
val equal : t -> t -> bool
val is_nat : t -> bool
val to_nat : t -> string option
val sprint : t -> string
val print : t -> Pp.t

sprint and print returns the number as it was parsed, for printing

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

val classify : t -> num_class
\ No newline at end of file +Unsigned (rocq-runtime.NumTok.Unsigned)

Module NumTok.Unsigned

type t
val equal : t -> t -> bool
val is_nat : t -> bool
val to_nat : t -> string option
val sprint : t -> string
val print : t -> Pp.t

sprint and print returns the number as it was parsed, for printing

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

val classify : t -> num_class
\ 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 noccurn_pattern : int -> _ Pattern.constr_pattern_r -> bool
exception BoundPattern

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 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 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

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 noccurn_pattern : int -> _ Pattern.constr_pattern_r -> bool
exception BoundPattern

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 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 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

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 ty_pattern = Procq.ty_pattern =
| TPattern : 'a Tok.p -> ty_pattern

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 -> ('bGramlib.Grammar.norec'c) Symbol.t option
val level_of_nonterm : ('aGramlib.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 ty_pattern = Procq.ty_pattern =
    | TPattern : 'a Tok.p -> ty_pattern

    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 -> ('bGramlib.Grammar.norec'c) Symbol.t option
    val level_of_nonterm : ('aGramlib.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 parse_string : 'a Entry.t -> ?loc:Loc.t -> string -> 'a
val eoi_entry : 'a Entry.t -> 'a Entry.t
val create_generic_entry2 : string -> ('aGenarg.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 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.

  • raises Not_found

    if non-existent.

Protection w.r.t. backtrack
val with_grammar_rule_protection : ('a -> 'b) -> 'a -> 'b
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 list

Parse a string

val parse_string : 'a Entry.t -> ?loc:Loc.t -> string -> 'a
val eoi_entry : 'a Entry.t -> 'a Entry.t
val create_generic_entry2 : string -> ('aGenarg.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 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.

  • raises Not_found

    if non-existent.

Protection w.r.t. backtrack
val with_grammar_rule_protection : ('a -> 'b) -> 'a -> 'b
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 pp_tag = string
type t
type block_type =
| Pp_hbox
| Pp_vbox of int
| Pp_hvbox of int
| Pp_hovbox of int(*

Pp_hovbox produces boxes according to Format.open_box not Format.open_hovbox

*)
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
val repr : t -> doc_view
val unrepr : doc_view -> t
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
val app : t -> t -> t

Concatenation.

val seq : t list -> t

Multi-Concatenation.

val (++) : t -> t -> t

Infix alias for app.

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 quote : t -> t
val strbrk : string -> t
Boxing commands
val h : t -> t
val v : int -> t -> t
val hv : int -> t -> t
val hov : int -> t -> t

hov produces boxes according to Format.open_box not Format.open_hovbox

Tagging
val tag : pp_tag -> t -> t
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.

val pr_arg : ('a -> t) -> 'a -> t

Adds a space in front of its argument.

val pr_non_empty_arg : ('a -> t) -> 'a -> t

Adds a space in front of its argument if non empty.

val pr_opt : ('a -> t) -> 'a option -> t

Inner object preceded with a space if Some, nothing otherwise.

val pr_opt_no_spc : ('a -> t) -> 'a option -> t

Same as pr_opt but without the leading space.

val pr_opt_default : (unit -> t) -> ('a -> t) -> 'a option -> t

Prints pr v if ov is Some v, else prdf ().

val pr_opt_no_spc_default : (unit -> t) -> ('a -> t) -> 'a option -> t

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.).

val prlist : ('a -> t) -> 'a list -> t

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.

val prlist_strict : ('a -> t) -> 'a list -> t

Same as prlist, but strict.

val prlist_with_sep : (unit -> t) -> ('a -> t) -> 'a list -> t

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.

val prvect : ('a -> t) -> 'a array -> t

As prlist, but on arrays.

val prvecti : (int -> 'a -> t) -> 'a array -> t

Indexed version of prvect.

val prvect_with_sep : (unit -> t) -> ('a -> t) -> 'a array -> t

As prlist_with_sep, but on arrays.

val prvecti_with_sep : (unit -> t) -> (int -> 'a -> t) -> 'a array -> t

Indexed version of prvect_with_sep.

val pr_enum : ('a -> t) -> 'a list -> t

pr_enum pr [a ; b ; ... ; c] outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "and" ++ spc () ++ pr c.

val pr_choice : ('a -> t) -> 'a list -> t

pr_choice pr [a ; b ; ... ; c] outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "or" ++ spc () ++ pr c.

val pr_sequence : ('a -> t) -> 'a list -> t

Sequence of objects separated by space (unless an element is empty).

val surround : t -> t

Surround with parenthesis.

val pr_vertical_list : ('b -> t) -> 'b list -> t
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 start_pfx : string

Tag prefix to start a multi-token diff span

val end_pfx : string

Tag prefix to end a multi-token diff span

val split_tag : string -> string * string

Split a tag into prefix and base tag

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.

val flatten : t -> t

Combine nested Ppcmd_glues

\ 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 pp_tag = string
type t
type block_type =
| Pp_hbox
| Pp_vbox of int
| Pp_hvbox of int
| Pp_hovbox of int(*

Pp_hovbox produces boxes according to Format.open_box not Format.open_hovbox

*)
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
val repr : t -> doc_view
val unrepr : doc_view -> t
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
val app : t -> t -> t

Concatenation.

val seq : t list -> t

Multi-Concatenation.

val (++) : t -> t -> t

Infix alias for app.

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 quote : t -> t
val strbrk : string -> t
Boxing commands
val h : t -> t
val v : int -> t -> t
val hv : int -> t -> t
val hov : int -> t -> t

hov produces boxes according to Format.open_box not Format.open_hovbox

Tagging
val tag : pp_tag -> t -> t
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.

val pr_arg : ('a -> t) -> 'a -> t

Adds a space in front of its argument.

val pr_non_empty_arg : ('a -> t) -> 'a -> t

Adds a space in front of its argument if non empty.

val pr_opt : ('a -> t) -> 'a option -> t

Inner object preceded with a space if Some, nothing otherwise.

val pr_opt_no_spc : ('a -> t) -> 'a option -> t

Same as pr_opt but without the leading space.

val pr_opt_default : (unit -> t) -> ('a -> t) -> 'a option -> t

Prints pr v if ov is Some v, else prdf ().

val pr_opt_no_spc_default : (unit -> t) -> ('a -> t) -> 'a option -> t

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.).

val prlist : ('a -> t) -> 'a list -> t

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.

val prlist_strict : ('a -> t) -> 'a list -> t

Same as prlist, but strict.

val prlist_with_sep : (unit -> t) -> ('a -> t) -> 'a list -> t

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.

val prvect : ('a -> t) -> 'a array -> t

As prlist, but on arrays.

val prvecti : (int -> 'a -> t) -> 'a array -> t

Indexed version of prvect.

val prvect_with_sep : (unit -> t) -> ('a -> t) -> 'a array -> t

As prlist_with_sep, but on arrays.

val prvecti_with_sep : (unit -> t) -> (int -> 'a -> t) -> 'a array -> t

Indexed version of prvect_with_sep.

val pr_enum : ('a -> t) -> 'a list -> t

pr_enum pr [a ; b ; ... ; c] outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "and" ++ spc () ++ pr c.

val pr_choice : ('a -> t) -> 'a list -> t

pr_choice pr [a ; b ; ... ; c] outputs pr a ++ str "," ++ spc () ++ pr b ++ str "," ++ spc () ++ ... ++ str "or" ++ spc () ++ pr c.

val pr_sequence : ('a -> t) -> 'a list -> t

Sequence of objects separated by space (unless an element is empty).

val surround : t -> t

Surround with parenthesis.

val pr_vertical_list : ('b -> t) -> 'b list -> t
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 start_pfx : string

Tag prefix to start a multi-token diff span

val end_pfx : string

Tag prefix to end a multi-token diff span

val split_tag : string -> string * string

Split a tag into prefix and base tag

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.

val flatten : t -> t

Combine nested Ppcmd_glues

\ 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.
val diff_pp : ?tokenize_string:(string -> string list) -> Pp.t -> Pp.t -> Pp.t * Pp.t

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.
val diff_pp : ?tokenize_string:(string -> string list) -> Pp.t -> Pp.t -> Pp.t * Pp.t

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

exception Diff_Failure of string

Raised if the diff fails

module StringDiff : sig ... end
type diff_type = [
| `Removed
| `Added
| `Common
]
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.

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
val wrap_in_bg : string -> Pp.t -> Pp.t

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 ty_pattern =
| TPattern : 'a Tok.p -> ty_pattern

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 -> ('bGramlib.Grammar.norec'c) Symbol.t option
val level_of_nonterm : ('aGramlib.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 ty_pattern =
    | TPattern : 'a Tok.p -> ty_pattern

    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 -> ('bGramlib.Grammar.norec'c) Symbol.t option
    val level_of_nonterm : ('aGramlib.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 parse_string : 'a Entry.t -> ?loc:Loc.t -> string -> 'a
    val eoi_entry : 'a Entry.t -> 'a Entry.t
    val create_generic_entry2 : string -> ('aGenarg.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

    Auxiliary state of the grammar. Any added data must be marshallable.

    Extension with parsing rules
    type 'a grammar_command

    Type of synchronized parsing extensions. The 'a type should be marshallable.

    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_command

    Type of synchronized entry creation. The 'a type should be marshallable.

    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.

    • raises Not_found

      if non-existent.

    Protection w.r.t. backtrack
    val with_grammar_rule_protection : ('a -> 'b) -> 'a -> 'b
    type 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 list

Parse a string

val parse_string : 'a Entry.t -> ?loc:Loc.t -> string -> 'a
val eoi_entry : 'a Entry.t -> 'a Entry.t
val create_generic_entry2 : string -> ('aGenarg.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

Auxiliary state of the grammar. Any added data must be marshallable.

Extension with parsing rules
type 'a grammar_command

Type of synchronized parsing extensions. The 'a type should be marshallable.

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_command

Type of synchronized entry creation. The 'a type should be marshallable.

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.

  • raises Not_found

    if non-existent.

Protection w.r.t. backtrack
val with_grammar_rule_protection : ('a -> 'b) -> 'a -> 'b
type 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/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

Polymorphic application of delayed references

val get_proofs_transparency : unit -> bool
val is_program_cases : unit -> bool
val is_program_generalized_coercion : unit -> bool
\ 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

Polymorphic application of delayed references

val get_proofs_transparency : unit -> bool
val is_program_cases : unit -> bool
val is_program_generalized_coercion : unit -> bool
\ 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.

type proofview

Main state of tactics

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
type entry

Abstract representation of the initial goals of a proof.

val compact : entry -> proofview -> entry * proofview

Optimize memory consumption

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.

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.

val dependent_init : telescope -> entry * proofview

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

goal <-> goal_with_state

Focusing commands
type focus_context

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.
type +'a tactic

The abstract type of tactics

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.

val tclBIND : 'a tactic -> ('a -> 'b tactic) -> 'b tactic

Bind operation of the tactic monad.

val tclTHEN : unit tactic -> 'a tactic -> 'a tactic

Interprets the ";" (semicolon) of Ltac. As a monadic operation, it's a specialized "bind".

val tclIGNORE : 'a tactic -> unit tactic

tclIGNORE t has the same operational content as t, but drops the returned value.

module Monad : Monad.S with type +'a t = 'a tactic

Generic monadic combinators for tactics.

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.

val tclONCE : 'a tactic -> 'a tactic

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.

exception MoreThanOneSuccess

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).

val tclEXACTLY_ONCE : exn -> 'a tactic -> 'a tactic
type 'a case =
| Fail of Exninfo.iexn
| Next of 'a * Exninfo.iexn -> 'a tactic

tclCASE t splits t into its first success and a continuation. It is the most general primitive to control backtracking.

val tclCASE : 'a tactic -> 'a case tactic
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
exception NoSuchGoals of int

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.

val tclFOCUS : ?nosuchgoal:'a tactic -> int -> int -> 'a tactic -> 'a tactic
val tclFOCUSLIST : ?nosuchgoal:'a tactic -> (int * int) list -> 'a tactic -> 'a tactic

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.

val tclTRYFOCUS : int -> int -> unit tactic -> unit tactic

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
exception SizeMismatch of int * int

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.

val tclDISPATCH : unit tactic list -> unit tactic
val tclDISPATCHL : 'a tactic list -> 'a list tactic
val tclEXTEND : unit tactic list -> unit tactic -> unit tactic list -> unit tactic

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).

val tclINDEPENDENT : unit tactic -> unit tactic

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 [].

val tclINDEPENDENTL : 'a tactic -> 'a list tactic
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).

val shelve_goals : Evar.t list -> unit tactic

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.

val unshelve : Evar.t list -> proofview -> proofview

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 filter_shelf : (Evar.t -> bool) -> proofview -> proofview
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

val with_shelf : 'a tactic -> (Evar.t list * 'a) tactic

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
val tclPROGRESS : 'a tactic -> 'a tactic

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

val tclTIMEOUTF : float -> 'a tactic -> 'a tactic

tclTIMEOUT n t can have only one success. In case of timeout it fails with tclZERO Tac_Timeout.

val tclTIMEOUT : int -> 'a tactic -> 'a tactic
val tclTIME : string option -> 'a tactic -> 'a tactic

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.

val wrap_exceptions : (unit -> 'a tactic) -> 'a tactic
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.

type proofview

Main state of tactics

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
type entry

Abstract representation of the initial goals of a proof.

val compact : entry -> proofview -> entry * proofview

Optimize memory consumption

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.

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.

val dependent_init : telescope -> entry * proofview

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

goal <-> goal_with_state

Focusing commands
type focus_context

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.
type +'a tactic

The abstract type of tactics

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.

val tclBIND : 'a tactic -> ('a -> 'b tactic) -> 'b tactic

Bind operation of the tactic monad.

val tclTHEN : unit tactic -> 'a tactic -> 'a tactic

Interprets the ";" (semicolon) of Ltac. As a monadic operation, it's a specialized "bind".

val tclIGNORE : 'a tactic -> unit tactic

tclIGNORE t has the same operational content as t, but drops the returned value.

module Monad : Monad.S with type +'a t = 'a tactic

Generic monadic combinators for tactics.

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.

val tclONCE : 'a tactic -> 'a tactic

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.

exception MoreThanOneSuccess

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).

val tclEXACTLY_ONCE : exn -> 'a tactic -> 'a tactic
type 'a case =
| Fail of Exninfo.iexn
| Next of 'a * Exninfo.iexn -> 'a tactic

tclCASE t splits t into its first success and a continuation. It is the most general primitive to control backtracking.

val tclCASE : 'a tactic -> 'a case tactic
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
exception NoSuchGoals of int

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.

val tclFOCUS : ?nosuchgoal:'a tactic -> int -> int -> 'a tactic -> 'a tactic
val tclFOCUSLIST : ?nosuchgoal:'a tactic -> (int * int) list -> 'a tactic -> 'a tactic

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.

val tclTRYFOCUS : int -> int -> unit tactic -> unit tactic

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
exception SizeMismatch of int * int

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.

val tclDISPATCH : unit tactic list -> unit tactic
val tclDISPATCHL : 'a tactic list -> 'a list tactic
val tclEXTEND : unit tactic list -> unit tactic -> unit tactic list -> unit tactic

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).

val tclINDEPENDENT : unit tactic -> unit tactic

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 [].

val tclINDEPENDENTL : 'a tactic -> 'a list tactic
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).

val shelve_goals : Evar.t list -> unit tactic

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.

val unshelve : Evar.t list -> proofview -> proofview

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 filter_shelf : (Evar.t -> bool) -> proofview -> proofview
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

val with_shelf : 'a tactic -> (Evar.t list * 'a) tactic

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
val tclPROGRESS : 'a tactic -> 'a tactic

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

val tclTIMEOUTF : float -> 'a tactic -> 'a tactic

tclTIMEOUT n t can have only one success. In case of timeout it fails with tclZERO Tac_Timeout.

val tclTIMEOUT : int -> 'a tactic -> 'a tactic
val tclTIME : string option -> 'a tactic -> 'a tactic

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.

val wrap_exceptions : (unit -> 'a tactic) -> 'a tactic
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
module Dyn : Dyn.S

We provide safe projection from the summary to the types stored in it.

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 ref_tag : ?stage:Stage.t -> name:string -> 'a -> 'a Stdlib.ref * 'a Dyn.tag
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.

val nop : unit -> unit
module type FrozenStage = sig ... end

The type frozen is a snapshot of the states of all the registered tables of the system.

The type frozen is a snapshot of the states of all the registered tables of the system.

module Interp : sig ... end
val dump : unit -> (int * string) list

Debug

\ 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
module Dyn : Dyn.S

We provide safe projection from the summary to the types stored in it.

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 ref_tag : ?stage:Stage.t -> name:string -> 'a -> 'a Stdlib.ref * 'a Dyn.tag
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.

val nop : unit -> unit
module type FrozenStage = sig ... end

The type frozen is a snapshot of the states of all the registered tables of the system.

The type frozen is a snapshot of the states of all the registered tables of the system.

module Interp : sig ... end
val dump : unit -> (int * string) list

Debug

\ 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
type unix_path = string
type file_kind =
| FileDir of unix_path * string
| FileRegular of string
val (//) : unix_path -> string -> unix_path
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 "."

val process_directory : (file_kind -> unit) -> unix_path -> unit

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 "."

val process_subdirectories : (unix_path -> string -> unit) -> unix_path -> unit
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 is_in_system_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

val trust_file_cache : bool Stdlib.ref

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

val file_exists_respecting_case : string -> string -> bool
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.

type magic_number_error = {
filename : string;
actual : int32;
expected : int32;
}
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)

val input_int32 : Stdlib.in_channel -> int32
val input_int64 : Stdlib.in_channel -> int64
val output_int32 : Stdlib.out_channel -> int32 -> unit
val output_int64 : Stdlib.out_channel -> int64 -> unit

Clones of Marshal.to_channel (with flush) and Marshal.from_channel (with nice error message)

val marshal_out : Stdlib.out_channel -> 'a -> unit
val marshal_in : string -> Stdlib.in_channel -> 'a
val check_caml_version : caml:string -> file:string -> unit
Time stamps.
type time
type duration
val empty_duration : duration
val get_time : unit -> time
val time_difference : time -> time -> float

in seconds

val duration_between : start:time -> stop:time -> duration
val duration_add : duration -> duration -> duration
val duration_real : duration -> float
val fmt_time_difference : time -> time -> Pp.t
val fmt_duration : duration -> Pp.t
type 'a transaction_result = ('a * durationExninfo.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.
type instruction_count = (Stdlib.Int64.t, string) Stdlib.Result.t
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_countExninfo.iexn * instruction_count) Stdlib.Result.t
val count_instructions : ('a -> 'b) -> 'a -> 'b instructions_result
val fmt_instructions_result : 'a instructions_result -> Pp.t
val get_toplevel_path : string -> string

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
type unix_path = string
type file_kind =
| FileDir of unix_path * string
| FileRegular of string
val (//) : unix_path -> string -> unix_path
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 "."

val process_directory : (file_kind -> unit) -> unix_path -> unit

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 "."

val process_subdirectories : (unix_path -> string -> unit) -> unix_path -> unit
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 is_in_system_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

val trust_file_cache : bool Stdlib.ref

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

val file_exists_respecting_case : string -> string -> bool
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.

type magic_number_error = {
filename : string;
actual : int32;
expected : int32;
}
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)

val input_int32 : Stdlib.in_channel -> int32
val input_int64 : Stdlib.in_channel -> int64
val output_int32 : Stdlib.out_channel -> int32 -> unit
val output_int64 : Stdlib.out_channel -> int64 -> unit

Clones of Marshal.to_channel (with flush) and Marshal.from_channel (with nice error message)

val marshal_out : Stdlib.out_channel -> 'a -> unit
val marshal_in : string -> Stdlib.in_channel -> 'a
val check_caml_version : caml:string -> file:string -> unit
Time stamps.
type time
type duration
val empty_duration : duration
val get_time : unit -> time
val time_difference : time -> time -> float

in seconds

val duration_between : start:time -> stop:time -> duration
val duration_add : duration -> duration -> duration
val duration_real : duration -> float
val fmt_time_difference : time -> time -> Pp.t
val fmt_duration : duration -> Pp.t
type 'a transaction_result = ('a * durationExninfo.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.
type instruction_count = (Stdlib.Int64.t, string) Stdlib.Result.t
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_countExninfo.iexn * instruction_count) Stdlib.Result.t
val count_instructions : ('a -> 'b) -> 'a -> 'b instructions_result
val fmt_instructions_result : 'a instructions_result -> Pp.t
val get_toplevel_path : string -> string

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 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 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 equal_p : 'a p -> 'b p -> ('a'b) Util.eq option
val equal : t -> t -> bool
val extract_string : bool -> t -> string

Names of tokens, used in Grammar error messages

val token_text : 'c p -> string
val trim_quotation : string -> char option * 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 `

val match_pattern : 'c p -> t -> 'c

for camlp5, eg GRAMMAR EXTEND ..... [ IDENT "x" -> .... ] END is a pattern (PIDENT (Some "x"))

\ 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 equal_p : 'a p -> 'b p -> ('a'b) Util.eq option
val equal : t -> t -> bool
val extract_string : bool -> t -> string

Names of tokens, used in Grammar error messages

val token_text : 'c p -> string
val trim_quotation : string -> char option * 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 `

val match_pattern : 'c p -> t -> 'c

for camlp5, eg GRAMMAR EXTEND ..... [ IDENT "x" -> .... ] END is a pattern (PIDENT (Some "x"))

\ 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

type status
val classify : int -> status

Classify a unicode char into 3 classes or unknown.

val ident_refutation : string -> (bool * string) option

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

val lowercase_first_char : string -> string

First char of a string, converted to lowercase

  • raises Assert_failure

    if the input string is empty.

val split_at_first_letter : string -> (string * string) option

Split a string supposed to be an ident at the first letter; as an optimization, return None if the first character is a letter

val is_basic_ascii : string -> bool

Return true if all UTF-8 characters in the input string are just plain ASCII characters. Returns false otherwise.

val ascii_of_ident : string -> string

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".

val is_utf8 : string -> bool

Validate an UTF-8 string

val utf8_length : string -> int

Return the length of a valid UTF-8 string.

val utf8_sub : string -> int -> int -> string

Variant of String.sub for UTF-8 strings.

val escaped_if_non_utf8 : string -> string

Return a "%XX"-escaped string if it contains non UTF-8 characters.

\ No newline at end of file +Unicode (rocq-runtime.Unicode)

Module Unicode

Unicode utilities

type status
val classify : int -> status

Classify a unicode char into 3 classes or unknown.

val ident_refutation : string -> (bool * string) option

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

val lowercase_first_char : string -> string

First char of a string, converted to lowercase

  • raises Assert_failure

    if the input string is empty.

val split_at_first_letter : string -> (string * string) option

Split a string supposed to be an ident at the first letter; as an optimization, return None if the first character is a letter

val is_basic_ascii : string -> bool

Return true if all UTF-8 characters in the input string are just plain ASCII characters. Returns false otherwise.

val ascii_of_ident : string -> string

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".

val is_utf8 : string -> bool

Validate an UTF-8 string

val utf8_length : string -> int

Return the length of a valid UTF-8 string.

val utf8_sub : string -> int -> int -> string

Variant of String.sub for UTF-8 strings.

val escaped_if_non_utf8 : string -> string

Return a "%XX"-escaped string if it contains non UTF-8 characters.

\ 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:

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:

Library rocq-runtime.engine

This library exposes the following toplevel modules:

  • EConstr
  • Evar_kinds The kinds of existential variable
  • Evarutil 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 names
  • Profile_tactic Ltac profiling primitives
  • 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.
  • 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 mapping
  • UnivProblem
  • 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 printing
  • Constrintern 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 errors
  • Notation Notations
  • Notation_ops Constr default entries
  • Notation_term notation_constr
  • Notationextern Declaration of uninterpretation functions (i.e. printing rules) for notations
  • NumTok 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 types
  • Declareops 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 types
  • Environ 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 substitutions
  • Evar 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 entries
  • Modops
  • 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 code
  • Nativelambda This file defines the lambda code generation phase of the native compiler
  • Nativelib 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 compiler
  • Nativevalues 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 reduction
  • Reduction None of these functions do eta reduction
  • Relevanceops 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 orders
  • Aux_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 Rocqlib
  • 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.
  • Globnames
  • Goptions This module manages customization parameters at the vernacular level
  • Lib Lib: record of operations, backtrack, low-level sections
  • Libnames
  • Libobject Libobject declares persistent objects, given with methods:
  • Library_info
  • Locality * Managing locality
  • Nametab 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:

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 terms
  • Detyping
  • 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 occurrences
  • Genarg 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 data
  • Glob_ops
  • Glob_term Untyped intermediate terms
  • Heads 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 heads
  • Indrec Errors related to recursors building
  • Inductiveops The following three functions are similar to the ones defined in Inductive, but they expect an env
  • Keys
  • Locus Locus : positions in hypotheses and goals
  • Locusops Utilities on or_var
  • Ltac_pretype
  • Nativenorm This module implements normalization by evaluation to OCaml code
  • Pattern
  • 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 Program
  • Reductionops 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 printers
  • Ppconstr 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:

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:

Library rocq-runtime.toplevel

This library exposes the following toplevel modules:

Library rocq-runtime.vernac

This library exposes the following toplevel modules:

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:

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:

Library rocq-runtime.engine

This library exposes the following toplevel modules:

  • EConstr
  • Evar_kinds The kinds of existential variable
  • Evarutil 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 names
  • Profile_tactic Ltac profiling primitives
  • 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.
  • 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 mapping
  • UnivProblem
  • 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 printing
  • Constrintern 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 errors
  • Notation Notations
  • Notation_ops Constr default entries
  • Notation_term notation_constr
  • Notationextern Declaration of uninterpretation functions (i.e. printing rules) for notations
  • NumTok 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 types
  • Declareops 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 types
  • Environ 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 substitutions
  • Evar 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 entries
  • Modops
  • 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 code
  • Nativelambda This file defines the lambda code generation phase of the native compiler
  • Nativelib 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 compiler
  • Nativevalues 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 reduction
  • Reduction None of these functions do eta reduction
  • Relevanceops 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 orders
  • Aux_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 Rocqlib
  • 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.
  • Globnames
  • Goptions This module manages customization parameters at the vernacular level
  • Lib Lib: record of operations, backtrack, low-level sections
  • Libnames
  • Libobject Libobject declares persistent objects, given with methods:
  • Library_info
  • Locality * Managing locality
  • Nametab 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:

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 terms
  • Detyping
  • 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 occurrences
  • Genarg 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 data
  • Glob_ops
  • Glob_term Untyped intermediate terms
  • Heads 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 heads
  • Indrec Errors related to recursors building
  • Inductiveops The following three functions are similar to the ones defined in Inductive, but they expect an env
  • Keys
  • Locus Locus : positions in hypotheses and goals
  • Locusops Utilities on or_var
  • Ltac_pretype
  • Nativenorm This module implements normalization by evaluation to OCaml code
  • Pattern
  • 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 Program
  • Reductionops 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 printers
  • Ppconstr 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:

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:

Library rocq-runtime.toplevel

This library exposes the following toplevel modules:

Library rocq-runtime.vernac

This library exposes the following toplevel modules:

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 L
No 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

-

arith hint database

+

arith hint database

@@ -79,7 +79,7 @@

Library Stdlib.Arith.Arith_base

-

lt and le

+

lt and le

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

-

Basic specifications : pred add sub mul

+

Basic specifications : pred add sub mul

@@ -208,7 +208,7 @@

Library Stdlib.Arith.PeanoNat

-

Boolean comparisons

+

Boolean comparisons

@@ -240,7 +240,7 @@

Library Stdlib.Arith.PeanoNat

-

Decidability of equality over nat.

+

Decidability of equality over nat.

@@ -252,7 +252,7 @@

Library Stdlib.Arith.PeanoNat

-

Ternary comparison

+

Ternary comparison

@@ -281,7 +281,7 @@

Library Stdlib.Arith.PeanoNat

-

Minimum, maximum

+

Minimum, maximum

@@ -331,7 +331,7 @@

Library Stdlib.Arith.PeanoNat

-

Power

+

Power

@@ -349,7 +349,7 @@

Library Stdlib.Arith.PeanoNat

-

Square

+

Square

@@ -361,7 +361,7 @@

Library Stdlib.Arith.PeanoNat

-

Parity

+

Parity

@@ -405,7 +405,7 @@

Library Stdlib.Arith.PeanoNat

-

Division

+

Division

@@ -434,7 +434,7 @@

Library Stdlib.Arith.PeanoNat

-

Square root

+

Square root

@@ -458,7 +458,7 @@

Library Stdlib.Arith.PeanoNat

-

Logarithm

+

Logarithm

@@ -480,7 +480,7 @@

Library Stdlib.Arith.PeanoNat

-

Properties of iter

+

Properties of iter

@@ -532,7 +532,7 @@

Library Stdlib.Arith.PeanoNat

-

Gcd

+

Gcd

@@ -560,7 +560,7 @@

Library Stdlib.Arith.PeanoNat

-

Bitwise operations

+

Bitwise operations

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

-

Decidability

+

Decidability

@@ -101,7 +101,7 @@

Library Stdlib.Bool.Bool

-

Discrimination

+

Discrimination

@@ -137,7 +137,7 @@

Library Stdlib.Bool.Bool

-

Order on booleans

+

Order on booleans

@@ -179,7 +179,7 @@

Library Stdlib.Bool.Bool

-

Equality

+

Equality

@@ -222,7 +222,7 @@

Library Stdlib.Bool.Bool

-

A synonym of if on bool

+

A synonym of if on bool

@@ -241,7 +241,7 @@

Library Stdlib.Bool.Bool

-

De Morgan laws

+

De Morgan laws

@@ -256,7 +256,7 @@

Library Stdlib.Bool.Bool

-

Properties of negb

+

Properties of negb

@@ -298,7 +298,7 @@

Library Stdlib.Bool.Bool

-

Properties of orb

+

Properties of orb

@@ -426,7 +426,7 @@

Library Stdlib.Bool.Bool

-

Properties of andb

+

Properties of andb

@@ -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

-

Properties of implb

+

Properties of implb

@@ -647,7 +647,7 @@

Library Stdlib.Bool.Bool

-

Properties of xorb

+

Properties of xorb

@@ -809,7 +809,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

-

Order le

+

Order le

@@ -91,7 +91,7 @@

Library Stdlib.Bool.BoolOrder

-

Strict order lt

+

Strict order lt

@@ -126,7 +126,7 @@

Library Stdlib.Bool.BoolOrder

-

Order structures

+

Order structures

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

-

Relations over pairs

+

Relations over pairs

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

-

FMapAVL

+

FMapAVL

@@ -87,7 +87,7 @@

Library Stdlib.FSets.FMapAVL

-

The Raw functor

+

The Raw functor

@@ -113,11 +113,11 @@

Library Stdlib.FSets.FMapAVL

-

Trees

+

Trees

-

Trees

+

Trees

@@ -149,7 +149,7 @@

Library Stdlib.FSets.FMapAVL

-

Basic functions on trees: height and cardinal

+

Basic functions on trees: height and cardinal

@@ -172,7 +172,7 @@

Library Stdlib.FSets.FMapAVL

-

Empty Map

+

Empty Map

@@ -184,7 +184,7 @@

Library Stdlib.FSets.FMapAVL

-

Emptyness test

+

Emptyness test

@@ -196,7 +196,7 @@

Library Stdlib.FSets.FMapAVL

-

Membership

+

Membership

@@ -231,7 +231,7 @@

Library Stdlib.FSets.FMapAVL

-

Helper functions

+

Helper functions

@@ -294,7 +294,7 @@

Library Stdlib.FSets.FMapAVL

-

Insertion

+

Insertion

@@ -315,7 +315,7 @@

Library Stdlib.FSets.FMapAVL

-

Extraction of minimum binding

+

Extraction of minimum binding

@@ -340,7 +340,7 @@

Library Stdlib.FSets.FMapAVL

-

Merging two trees

+

Merging two trees

@@ -366,7 +366,7 @@

Library Stdlib.FSets.FMapAVL

-

Deletion

+

Deletion

@@ -386,7 +386,7 @@

Library Stdlib.FSets.FMapAVL

-

join

+

join

@@ -415,7 +415,7 @@

Library Stdlib.FSets.FMapAVL

-

Splitting

+

Splitting

@@ -455,7 +455,7 @@

Library Stdlib.FSets.FMapAVL

-

Concatenation

+

Concatenation

@@ -479,7 +479,7 @@

Library Stdlib.FSets.FMapAVL

-

Elements

+

Elements

@@ -510,7 +510,7 @@

Library Stdlib.FSets.FMapAVL

-

Fold

+

Fold

@@ -526,7 +526,7 @@

Library Stdlib.FSets.FMapAVL

-

Comparison

+

Comparison

@@ -538,7 +538,7 @@

Library Stdlib.FSets.FMapAVL

-

Enumeration of the elements of a tree

+

Enumeration of the elements of a tree

@@ -637,7 +637,7 @@

Library Stdlib.FSets.FMapAVL

-

Map

+

Map

@@ -662,7 +662,7 @@

Library Stdlib.FSets.FMapAVL

-

Map with removal

+

Map with removal

@@ -683,7 +683,7 @@

Library Stdlib.FSets.FMapAVL

-

Optimized map2

+

Optimized map2

@@ -739,7 +739,7 @@

Library Stdlib.FSets.FMapAVL

-

Map2

+

Map2

@@ -769,7 +769,7 @@

Library Stdlib.FSets.FMapAVL

-

Invariants

+

Invariants

@@ -782,7 +782,7 @@

Library Stdlib.FSets.FMapAVL

-

Occurrence in a tree

+

Occurrence in a tree

@@ -812,7 +812,7 @@

Library Stdlib.FSets.FMapAVL

-

Binary search trees

+

Binary search trees

@@ -846,7 +846,7 @@

Library Stdlib.FSets.FMapAVL

-

Correctness proofs, isolated in a sub-module

+

Correctness proofs, isolated in a sub-module

@@ -1138,7 +1138,7 @@

Library Stdlib.FSets.FMapAVL

-

Automation and dedicated tactics.

+

Automation and dedicated tactics.

@@ -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

-

Empty map

+

Empty map

@@ -1371,7 +1371,7 @@

Library Stdlib.FSets.FMapAVL

-

Emptyness test

+

Emptyness test

@@ -1386,7 +1386,7 @@

Library Stdlib.FSets.FMapAVL

-

Membership

+

Membership

@@ -1440,7 +1440,7 @@

Library Stdlib.FSets.FMapAVL

-

Helper functions

+

Helper functions

@@ -1480,7 +1480,7 @@

Library Stdlib.FSets.FMapAVL

-

Insertion

+

Insertion

@@ -1514,7 +1514,7 @@

Library Stdlib.FSets.FMapAVL

-

Extraction of minimum binding

+

Extraction of minimum binding

@@ -1557,7 +1557,7 @@

Library Stdlib.FSets.FMapAVL

-

Merging two trees

+

Merging two trees

@@ -1579,7 +1579,7 @@

Library Stdlib.FSets.FMapAVL

-

Deletion

+

Deletion

@@ -1606,7 +1606,7 @@

Library Stdlib.FSets.FMapAVL

-

join

+

join

@@ -1630,7 +1630,7 @@

Library Stdlib.FSets.FMapAVL

-

split

+

split

@@ -1669,7 +1669,7 @@

Library Stdlib.FSets.FMapAVL

-

Concatenation

+

Concatenation

@@ -1695,7 +1695,7 @@

Library Stdlib.FSets.FMapAVL

-

Elements

+

Elements

@@ -1749,7 +1749,7 @@

Library Stdlib.FSets.FMapAVL

-

Fold

+

Fold

@@ -1777,7 +1777,7 @@

Library Stdlib.FSets.FMapAVL

-

Comparison

+

Comparison

@@ -2004,7 +2004,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

-

Finite maps library

+

Finite maps library

@@ -75,7 +75,7 @@

Library Stdlib.FSets.FMapFacts

-

Facts about weak maps

+

Facts about weak maps

@@ -102,7 +102,7 @@

Library Stdlib.FSets.FMapFacts

-

Specifications written using equivalences

+

Specifications written using equivalences

@@ -259,7 +259,7 @@

Library Stdlib.FSets.FMapFacts

-

Specifications written using boolean predicates

+

Specifications written using boolean predicates

@@ -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

-

Equal is a setoid equality.

+

Equal is a setoid equality.

@@ -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

-

Elements

+

Elements

@@ -632,7 +632,7 @@

Library Stdlib.FSets.FMapFacts

-

Conversions between maps and association lists.

+

Conversions between maps and association lists.

@@ -669,7 +669,7 @@

Library Stdlib.FSets.FMapFacts

-

Fold

+

Fold

@@ -685,7 +685,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

-

Cardinal

+

Cardinal

@@ -939,7 +939,7 @@

Library Stdlib.FSets.FMapFacts

-

Additional notions over maps

+

Additional notions over maps

@@ -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

-

Properties specific to maps with ordered keys

+

Properties specific to maps with ordered keys

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

-

FMapFullAVL

+

FMapFullAVL

@@ -119,7 +119,7 @@

Library Stdlib.FSets.FMapFullAVL

-

AVL trees

+

AVL trees

@@ -143,7 +143,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Automation and dedicated tactics about avl.

+

Automation and dedicated tactics about avl.

@@ -181,7 +181,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Basic results about avl, height

+

Basic results about avl, height

@@ -209,7 +209,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Empty map

+

Empty map

@@ -221,7 +221,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Helper functions

+

Helper functions

@@ -261,7 +261,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Insertion

+

Insertion

@@ -279,7 +279,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Extraction of minimum binding

+

Extraction of minimum binding

@@ -297,7 +297,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Merging two trees

+

Merging two trees

@@ -316,7 +316,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Deletion

+

Deletion

@@ -334,7 +334,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Join

+

Join

@@ -453,7 +453,7 @@

Library Stdlib.FSets.FMapFullAVL

-

Encapsulation

+

Encapsulation

@@ -652,7 +652,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

-

Finite map library

+

Finite map library

@@ -134,7 +134,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

-

Maps on ordered keys, functorial signature

+

Maps on ordered keys, functorial signature

@@ -601,7 +601,7 @@

Library Stdlib.FSets.FMapInterface

-

Maps on ordered keys, self-contained signature

+

Maps on ordered keys, self-contained signature

@@ -616,7 +616,7 @@

Library Stdlib.FSets.FMapInterface

-

Maps with ordering both on keys and datas

+

Maps with ordering both on keys and datas

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

-

Finite map library

+

Finite map library

@@ -92,7 +92,7 @@

Library Stdlib.FSets.FMapList

-

empty

+

empty

@@ -115,7 +115,7 @@

Library Stdlib.FSets.FMapList

-

is_empty

+

is_empty

@@ -133,7 +133,7 @@

Library Stdlib.FSets.FMapList

-

mem

+

mem

@@ -160,7 +160,7 @@

Library Stdlib.FSets.FMapList

-

find

+

find

@@ -187,7 +187,7 @@

Library Stdlib.FSets.FMapList

-

add

+

add

@@ -228,7 +228,7 @@

Library Stdlib.FSets.FMapList

-

remove

+

remove

@@ -269,7 +269,7 @@

Library Stdlib.FSets.FMapList

-

elements

+

elements

@@ -295,7 +295,7 @@

Library Stdlib.FSets.FMapList

-

fold

+

fold

@@ -315,7 +315,7 @@

Library Stdlib.FSets.FMapList

-

equal

+

equal

@@ -365,7 +365,7 @@

Library Stdlib.FSets.FMapList

-

map and mapi

+

map and mapi

@@ -458,7 +458,7 @@

Library Stdlib.FSets.FMapList

-

map2

+

map2

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

-

Finite map library

+

Finite map library

@@ -90,7 +90,7 @@

Library Stdlib.FSets.FMapWeakList

-

empty

+

empty

@@ -115,7 +115,7 @@

Library Stdlib.FSets.FMapWeakList

-

is_empty

+

is_empty

@@ -133,7 +133,7 @@

Library Stdlib.FSets.FMapWeakList

-

mem

+

mem

@@ -155,7 +155,7 @@

Library Stdlib.FSets.FMapWeakList

-

find

+

find

@@ -184,7 +184,7 @@

Library Stdlib.FSets.FMapWeakList

-

add

+

add

@@ -228,7 +228,7 @@

Library Stdlib.FSets.FMapWeakList

-

remove

+

remove

@@ -262,7 +262,7 @@

Library Stdlib.FSets.FMapWeakList

-

elements

+

elements

@@ -283,7 +283,7 @@

Library Stdlib.FSets.FMapWeakList

-

fold

+

fold

@@ -303,7 +303,7 @@

Library Stdlib.FSets.FMapWeakList

-

equal

+

equal

@@ -364,7 +364,7 @@

Library Stdlib.FSets.FMapWeakList

-

map and mapi

+

map and mapi

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

-

Finite sets library

+

Finite sets library

@@ -65,7 +65,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

-

From new Weak Sets to old ones

+

From new Weak Sets to old ones

@@ -227,7 +227,7 @@

Library Stdlib.FSets.FSetCompat

-

From new Sets to new ones

+

From new Sets to new ones

@@ -285,7 +285,7 @@

Library Stdlib.FSets.FSetCompat

-

From old Weak Sets to new ones.

+

From old Weak Sets to new ones.

@@ -428,7 +428,7 @@

Library Stdlib.FSets.FSetCompat

-

From old Sets to new ones.

+

From old Sets to new ones.

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

-

Examples

+

Examples

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

-

Finite set library

+

Finite set library

@@ -104,7 +104,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

-

Finite sets library

+

Finite sets library

@@ -340,7 +340,7 @@

Library Stdlib.FSets.FSetProperties

-

Properties of elements

+

Properties of elements

@@ -355,7 +355,7 @@

Library Stdlib.FSets.FSetProperties

-

Conversions between lists and sets

+

Conversions between lists and sets

@@ -379,7 +379,7 @@

Library Stdlib.FSets.FSetProperties

-

Fold

+

Fold

@@ -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

-

Fold is a morphism

+

Fold is a morphism

@@ -602,7 +602,7 @@

Library Stdlib.FSets.FSetProperties

-

Fold and other set operators

+

Fold and other set operators

@@ -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

-

Old specifications for cardinal.

+

Old specifications for cardinal.

@@ -693,7 +693,7 @@

Library Stdlib.FSets.FSetProperties

-

Cardinal and (non-)emptiness

+

Cardinal and (non-)emptiness

@@ -718,7 +718,7 @@

Library Stdlib.FSets.FSetProperties

-

Cardinal is a morphism

+

Cardinal is a morphism

@@ -737,7 +737,7 @@

Library Stdlib.FSets.FSetProperties

-

Cardinal and set operators

+

Cardinal and set operators

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

-

Support results involving frexp and ldexp

+

Support results involving frexp and ldexp

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

-

Generic facts

+

Generic facts

@@ -183,7 +183,7 @@

Library Stdlib.Lists.List

-

Head and tail

+

Head and tail

@@ -198,7 +198,7 @@

Library Stdlib.Lists.List

-

Facts about app

+

Facts about app

@@ -316,7 +316,7 @@

Library Stdlib.Lists.List

-

Facts about In

+

Facts about In

@@ -403,7 +403,7 @@

Library Stdlib.Lists.List

-

Operations on the elements of a list

+

Operations on the elements of a list

@@ -418,7 +418,7 @@

Library Stdlib.Lists.List

-

Nth element of a list

+

Nth element of a list

@@ -614,7 +614,7 @@

Library Stdlib.Lists.List

-

Last element of a list

+

Last element of a list

@@ -669,7 +669,7 @@

Library Stdlib.Lists.List

-

Remove

+

Remove

@@ -720,7 +720,7 @@

Library Stdlib.Lists.List

-

Counting occurrences of an element

+

Counting occurrences of an element

@@ -784,7 +784,7 @@

Library Stdlib.Lists.List

-

Manipulating whole lists

+

Manipulating whole lists

@@ -799,7 +799,7 @@

Library Stdlib.Lists.List

-

Reverse

+

Reverse

@@ -896,7 +896,7 @@

Library Stdlib.Lists.List

-

Concatenation

+

Concatenation

@@ -925,7 +925,7 @@

Library Stdlib.Lists.List

-

Decidable equality on lists

+

Decidable equality on lists

@@ -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

-

Flat Map

+

Flat Map

@@ -1220,7 +1220,7 @@

Library Stdlib.Lists.List

-

Boolean operations over lists

+

Boolean operations over lists

@@ -1387,7 +1387,7 @@

Library Stdlib.Lists.List

-

Further filtering facts

+

Further filtering facts

@@ -1481,7 +1481,7 @@

Library Stdlib.Lists.List

-

Operations on lists of pairs or lists of lists

+

Operations on lists of pairs or lists of lists

@@ -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

-

Set inclusion on list

+

Set inclusion on list

@@ -1751,7 +1751,7 @@

Library Stdlib.Lists.List

-

Cutting a list at some position

+

Cutting a list at some position

@@ -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

-

Lists without redundancy

+

Lists without redundancy

@@ -2144,7 +2144,7 @@

Library Stdlib.Lists.List

-

Sequence of natural numbers

+

Sequence of natural numbers

@@ -2196,7 +2196,7 @@

Library Stdlib.Lists.List

-

List comparison

+

List comparison

@@ -2333,7 +2333,7 @@

Library Stdlib.Lists.List

-

Existential and universal predicates over lists

+

Existential and universal predicates over lists

@@ -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

-

Exporting hints and tactics

+

Exporting hints and tactics

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

-

Definitions

+

Definitions

@@ -115,7 +115,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

-

Non contradiction of definite description

+

Non contradiction of definite description

@@ -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

-

Choice => Dependent choice => Countable choice

+

Choice => Dependent choice => Countable choice

@@ -1147,7 +1147,7 @@

Library Stdlib.Logic.ChoiceFacts

-

About the axiom of choice over setoids

+

About the axiom of choice over setoids

@@ -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

-

AC_fun_setoid = AC! + AC_fun_repr

+

AC_fun_setoid = AC! + AC_fun_repr

@@ -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

-

Compatibility notations

+

Compatibility notations

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

-

Weaker lemmas (compatibility lemmas)

+

Weaker lemmas (compatibility lemmas)

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

-

Gödel-Dummett axiom

+

Gödel-Dummett axiom

@@ -786,7 +786,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

-

Definitions

+

Definitions

@@ -196,7 +196,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

-

Closure by small product

+

Closure by small product

@@ -238,7 +238,7 @@

Library Stdlib.Logic.Hurkens

-

Closure by large products

+

Closure by large products

U1 only needs to quantify over itself.
@@ -255,7 +255,7 @@

Library Stdlib.Logic.Hurkens

-

Small universe

+

Small universe

The small universe is an element of the large one.
@@ -265,7 +265,7 @@

Library Stdlib.Logic.Hurkens

-

Closure by small product

+

Closure by small product

U0 does not need reduction rules
@@ -279,7 +279,7 @@

Library Stdlib.Logic.Hurkens

-

Closure by large products

+

Closure by large products

@@ -294,7 +294,7 @@

Library Stdlib.Logic.Hurkens

-

Automating the rewrite rules of our encoding.

+

Automating the rewrite rules of our encoding.

@@ -312,7 +312,7 @@

Library Stdlib.Logic.Hurkens

-

Hurkens's paradox.

+

Hurkens's paradox.

@@ -325,7 +325,7 @@

Library Stdlib.Logic.Hurkens

-

Preliminary definitions

+

Preliminary definitions

@@ -354,7 +354,7 @@

Library Stdlib.Logic.Hurkens

-

Proof

+

Proof

@@ -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

-

U1 is impredicative

+

U1 is impredicative

@@ -493,7 +493,7 @@

Library Stdlib.Logic.Hurkens

-

U0 is a retract of U1

+

U0 is a retract of U1

@@ -506,7 +506,7 @@

Library Stdlib.Logic.Hurkens

-

Paradox

+

Paradox

@@ -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

-

Monadic modality

+

Monadic modality

@@ -612,7 +612,7 @@

Library Stdlib.Logic.Hurkens

-

The universe of modal propositions

+

The universe of modal propositions

@@ -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

-

Paradox

+

Paradox

@@ -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

-

The universe of negative propositions.

+

The universe of negative propositions.

@@ -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

-

Paradox

+

Paradox

@@ -805,7 +805,7 @@

Library Stdlib.Logic.Hurkens

-

Prop is not a retract

+

Prop is not a retract

@@ -822,7 +822,7 @@

Library Stdlib.Logic.Hurkens

-

The universe of propositions.

+

The universe of propositions.

@@ -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

-

Paradox

+

Paradox

@@ -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

-

Paradox

+

Paradox

@@ -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

-

Assumption of a retract from Type into Prop

+

Assumption of a retract from Type into Prop

@@ -969,7 +969,7 @@

Library Stdlib.Logic.Hurkens

-

Paradox

+

Paradox

@@ -1024,7 +1024,7 @@

Library Stdlib.Logic.Hurkens

-

A<>Type

+

A<>Type

@@ -1045,7 +1045,7 @@

Library Stdlib.Logic.Hurkens

-

Universe U is equal to one of its elements.

+

Universe U is equal to one of its elements.

@@ -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

-

Definitions

+

Definitions

@@ -180,11 +180,11 @@

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

-

Ops : the pure functions

+

Ops : the pure functions

@@ -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

-

Height of trees

+

Height of trees

@@ -140,7 +140,7 @@

Library Stdlib.MSets.MSetAVL

-

Singleton set

+

Singleton set

@@ -152,7 +152,7 @@

Library Stdlib.MSets.MSetAVL

-

Helper functions

+

Helper functions

@@ -215,7 +215,7 @@

Library Stdlib.MSets.MSetAVL

-

Insertion

+

Insertion

@@ -235,7 +235,7 @@

Library Stdlib.MSets.MSetAVL

-

Join

+

Join

@@ -264,7 +264,7 @@

Library Stdlib.MSets.MSetAVL

-

Extraction of minimum element

+

Extraction of minimum element

@@ -288,7 +288,7 @@

Library Stdlib.MSets.MSetAVL

-

Merging two trees

+

Merging two trees

@@ -312,7 +312,7 @@

Library Stdlib.MSets.MSetAVL

-

Deletion

+

Deletion

@@ -332,7 +332,7 @@

Library Stdlib.MSets.MSetAVL

-

Concatenation

+

Concatenation

@@ -356,7 +356,7 @@

Library Stdlib.MSets.MSetAVL

-

Splitting

+

Splitting

@@ -396,7 +396,7 @@

Library Stdlib.MSets.MSetAVL

-

Intersection

+

Intersection

@@ -415,7 +415,7 @@

Library Stdlib.MSets.MSetAVL

-

Difference

+

Difference

@@ -434,7 +434,7 @@

Library Stdlib.MSets.MSetAVL

-

Union

+

Union

@@ -465,7 +465,7 @@

Library Stdlib.MSets.MSetAVL

-

Filter

+

Filter

@@ -483,7 +483,7 @@

Library Stdlib.MSets.MSetAVL

-

Partition

+

Partition

@@ -506,7 +506,7 @@

Library Stdlib.MSets.MSetAVL

-

MakeRaw

+

MakeRaw

@@ -779,7 +779,7 @@

Library Stdlib.MSets.MSetAVL

-

Singleton set

+

Singleton set

@@ -795,7 +795,7 @@

Library Stdlib.MSets.MSetAVL

-

Helper functions

+

Helper functions

@@ -822,7 +822,7 @@

Library Stdlib.MSets.MSetAVL

-

Insertion

+

Insertion

@@ -846,7 +846,7 @@

Library Stdlib.MSets.MSetAVL

-

Join

+

Join

@@ -885,7 +885,7 @@

Library Stdlib.MSets.MSetAVL

-

Extraction of minimum element

+

Extraction of minimum element

@@ -909,7 +909,7 @@

Library Stdlib.MSets.MSetAVL

-

Merging two trees

+

Merging two trees

@@ -928,7 +928,7 @@

Library Stdlib.MSets.MSetAVL

-

Deletion

+

Deletion

@@ -945,7 +945,7 @@

Library Stdlib.MSets.MSetAVL

-

Concatenation

+

Concatenation

@@ -964,7 +964,7 @@

Library Stdlib.MSets.MSetAVL

-

Splitting

+

Splitting

@@ -996,7 +996,7 @@

Library Stdlib.MSets.MSetAVL

-

Intersection

+

Intersection

@@ -1026,7 +1026,7 @@

Library Stdlib.MSets.MSetAVL

-

Difference

+

Difference

@@ -1047,7 +1047,7 @@

Library Stdlib.MSets.MSetAVL

-

Union

+

Union

@@ -1064,7 +1064,7 @@

Library Stdlib.MSets.MSetAVL

-

Filter

+

Filter

@@ -1086,7 +1086,7 @@

Library Stdlib.MSets.MSetAVL

-

Partition

+

Partition

@@ -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

-

Examples

+

Examples

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

-

Finite sets library

+

Finite sets library

@@ -87,7 +87,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

-

Specifications written using boolean predicates

+

Specifications written using boolean predicates

@@ -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

-

Ops : the pure functions

+

Ops : the pure functions

@@ -128,7 +128,7 @@

Library Stdlib.MSets.MSetGenTree

-

The empty set and emptyness test

+

The empty set and emptyness test

@@ -147,7 +147,7 @@

Library Stdlib.MSets.MSetGenTree

-

Membership test

+

Membership test

@@ -172,7 +172,7 @@

Library Stdlib.MSets.MSetGenTree

-

Minimal, maximal, arbitrary elements

+

Minimal, maximal, arbitrary elements

@@ -200,7 +200,7 @@

Library Stdlib.MSets.MSetGenTree

-

Iteration on elements

+

Iteration on elements

@@ -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

-

Comparison of trees

+

Comparison of trees

@@ -389,7 +389,7 @@

Library Stdlib.MSets.MSetGenTree

-

Subset test

+

Subset test

@@ -448,7 +448,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

-

Occurrence in a tree

+

Occurrence in a tree

@@ -478,7 +478,7 @@

Library Stdlib.MSets.MSetGenTree

-

Some shortcuts

+

Some shortcuts

@@ -494,7 +494,7 @@

Library Stdlib.MSets.MSetGenTree

-

Binary search trees

+

Binary search trees

@@ -572,7 +572,7 @@

Library Stdlib.MSets.MSetGenTree

-

Known facts about ordered types

+

Known facts about ordered types

@@ -584,7 +584,7 @@

Library Stdlib.MSets.MSetGenTree

-

Automation and dedicated tactics

+

Automation and dedicated tactics

@@ -691,7 +691,7 @@

Library Stdlib.MSets.MSetGenTree

-

Basic results about In

+

Basic results about In

@@ -789,7 +789,7 @@

Library Stdlib.MSets.MSetGenTree

-

Empty set

+

Empty set

@@ -805,7 +805,7 @@

Library Stdlib.MSets.MSetGenTree

-

Emptyness test

+

Emptyness test

@@ -817,7 +817,7 @@

Library Stdlib.MSets.MSetGenTree

-

Membership

+

Membership

@@ -829,7 +829,7 @@

Library Stdlib.MSets.MSetGenTree

-

Minimal and maximal elements

+

Minimal and maximal elements

@@ -869,7 +869,7 @@

Library Stdlib.MSets.MSetGenTree

-

Elements

+

Elements

@@ -945,7 +945,7 @@

Library Stdlib.MSets.MSetGenTree

-

for_all and exists

+

for_all and exists

@@ -962,7 +962,7 @@

Library Stdlib.MSets.MSetGenTree

-

Fold

+

Fold

@@ -979,7 +979,7 @@

Library Stdlib.MSets.MSetGenTree

-

Subset

+

Subset

@@ -1004,7 +1004,7 @@

Library Stdlib.MSets.MSetGenTree

-

Comparison

+

Comparison

@@ -1106,7 +1106,7 @@

Library Stdlib.MSets.MSetGenTree

-

Equality test

+

Equality test

@@ -1119,7 +1119,7 @@

Library Stdlib.MSets.MSetGenTree

-

A few results about mindepth and maxdepth

+

A few results about mindepth and maxdepth

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

-

Finite set library

+

Finite set library

@@ -317,7 +317,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

-

Finite sets library

+

Finite sets library

@@ -65,7 +65,7 @@

Library Stdlib.MSets.MSetList

-

Functions over lists

+

Functions over lists

@@ -93,7 +93,7 @@

Library Stdlib.MSets.MSetList

-

The set operations.

+

The set operations.

@@ -301,7 +301,7 @@

Library Stdlib.MSets.MSetList

-

Proofs of set operation specifications.

+

Proofs of set operation specifications.

@@ -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

-

Finite sets library

+

Finite sets library

@@ -341,7 +341,7 @@

Library Stdlib.MSets.MSetProperties

-

Properties of elements

+

Properties of elements

@@ -356,7 +356,7 @@

Library Stdlib.MSets.MSetProperties

-

Conversions between lists and sets

+

Conversions between lists and sets

@@ -380,7 +380,7 @@

Library Stdlib.MSets.MSetProperties

-

Fold

+

Fold

@@ -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

-

Fold is a morphism

+

Fold is a morphism

@@ -603,7 +603,7 @@

Library Stdlib.MSets.MSetProperties

-

Fold and other set operators

+

Fold and other set operators

@@ -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

-

Old specifications for cardinal.

+

Old specifications for cardinal.

@@ -694,7 +694,7 @@

Library Stdlib.MSets.MSetProperties

-

Cardinal and (non-)emptiness

+

Cardinal and (non-)emptiness

@@ -719,7 +719,7 @@

Library Stdlib.MSets.MSetProperties

-

Cardinal is a morphism

+

Cardinal is a morphism

@@ -739,7 +739,7 @@

Library Stdlib.MSets.MSetProperties

-

Cardinal and set operators

+

Cardinal and set operators

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

-

Ops : the pure functions

+

Ops : the pure functions

@@ -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

-

Basic tree

+

Basic tree

@@ -198,7 +198,7 @@

Library Stdlib.MSets.MSetRBT

-

Changing root color

+

Changing root color

@@ -221,7 +221,7 @@

Library Stdlib.MSets.MSetRBT

-

Balancing

+

Balancing

@@ -302,7 +302,7 @@

Library Stdlib.MSets.MSetRBT

-

Insertion

+

Insertion

@@ -334,7 +334,7 @@

Library Stdlib.MSets.MSetRBT

-

Deletion

+

Deletion

@@ -394,7 +394,7 @@

Library Stdlib.MSets.MSetRBT

-

Removing minimal element

+

Removing minimal element

@@ -424,7 +424,7 @@

Library Stdlib.MSets.MSetRBT

-

Tree-ification

+

Tree-ification

@@ -487,7 +487,7 @@

Library Stdlib.MSets.MSetRBT

-

Filtering

+

Filtering

@@ -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

-

Singleton set

+

Singleton set

@@ -739,7 +739,7 @@

Library Stdlib.MSets.MSetRBT

-

makeBlack, MakeRed

+

makeBlack, MakeRed

@@ -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

-

Balancing for insertion

+

Balancing for insertion

@@ -933,7 +933,7 @@

Library Stdlib.MSets.MSetRBT

-

Insertion

+

Insertion

@@ -966,7 +966,7 @@

Library Stdlib.MSets.MSetRBT

-

Balancing for deletion

+

Balancing for deletion

@@ -996,7 +996,7 @@

Library Stdlib.MSets.MSetRBT

-

Append for deletion

+

Append for deletion

@@ -1049,7 +1049,7 @@

Library Stdlib.MSets.MSetRBT

-

Deletion

+

Deletion

@@ -1080,7 +1080,7 @@

Library Stdlib.MSets.MSetRBT

-

Removing the minimal element

+

Removing the minimal element

@@ -1109,7 +1109,7 @@

Library Stdlib.MSets.MSetRBT

-

Treeify

+

Treeify

@@ -1161,7 +1161,7 @@

Library Stdlib.MSets.MSetRBT

-

Filter

+

Filter

@@ -1187,7 +1187,7 @@

Library Stdlib.MSets.MSetRBT

-

Partition

+

Partition

@@ -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

-

union

+

union

@@ -1318,7 +1318,7 @@

Library Stdlib.MSets.MSetRBT

-

inter

+

inter

@@ -1359,7 +1359,7 @@

Library Stdlib.MSets.MSetRBT

-

difference

+

difference

@@ -1408,7 +1408,7 @@

Library Stdlib.MSets.MSetRBT

-

Balancing properties

+

Balancing properties

@@ -1431,7 +1431,7 @@

Library Stdlib.MSets.MSetRBT

-

Red-Black invariants

+

Red-Black invariants

@@ -1502,7 +1502,7 @@

Library Stdlib.MSets.MSetRBT

-

Basic tactics and results about red-black

+

Basic tactics and results about red-black

@@ -1537,7 +1537,7 @@

Library Stdlib.MSets.MSetRBT

-

A Red-Black tree has indeed a logarithmic depth

+

A Red-Black tree has indeed a logarithmic depth

@@ -1563,7 +1563,7 @@

Library Stdlib.MSets.MSetRBT

-

Singleton

+

Singleton

@@ -1575,7 +1575,7 @@

Library Stdlib.MSets.MSetRBT

-

makeBlack and makeRed

+

makeBlack and makeRed

@@ -1591,7 +1591,7 @@

Library Stdlib.MSets.MSetRBT

-

Balancing

+

Balancing

@@ -1628,7 +1628,7 @@

Library Stdlib.MSets.MSetRBT

-

Insertion

+

Insertion

@@ -1661,7 +1661,7 @@

Library Stdlib.MSets.MSetRBT

-

Deletion

+

Deletion

@@ -1692,7 +1692,7 @@

Library Stdlib.MSets.MSetRBT

-

Treeify

+

Treeify

@@ -1739,7 +1739,7 @@

Library Stdlib.MSets.MSetRBT

-

Filtering

+

Filtering

@@ -1760,7 +1760,7 @@

Library Stdlib.MSets.MSetRBT

-

Union, intersection, difference

+

Union, intersection, difference

@@ -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

-

Finite sets library

+

Finite sets library

@@ -68,7 +68,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

-

Proofs of set operation specifications.

+

Proofs of set operation specifications.

@@ -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

-

Properties of iter

+

Properties of iter

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

-

Nicer name N.pos for constructor Npos

+

Nicer name N.pos for constructor Npos

@@ -91,7 +91,7 @@

Library Stdlib.NArith.BinNatDef

-

Constants

+

Constants

@@ -105,7 +105,7 @@

Library Stdlib.NArith.BinNatDef

-

Successor

+

Successor

@@ -121,7 +121,7 @@

Library Stdlib.NArith.BinNatDef

-

Predecessor

+

Predecessor

@@ -137,7 +137,7 @@

Library Stdlib.NArith.BinNatDef

-

Addition

+

Addition

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

-

Conversions from N to nat

+

Conversions from N to nat

@@ -167,7 +167,7 @@

Library Stdlib.NArith.Nnat

-

Conversions from nat to N

+

Conversions from nat to N

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

-

DecimalFacts : some facts about Decimal numbers

+

DecimalFacts : some facts about Decimal numbers

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

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -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

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -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

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -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

-

An order tactic for integers

+

An order tactic for integers

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

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -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

-

Study of initial point w.r.t. succ (if any).

+

Study of initial point w.r.t. succ (if any).

@@ -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

-

Asymmetry and transitivity.

+

Asymmetry and transitivity.

@@ -187,7 +187,7 @@

Library Stdlib.Numbers.NatInt.NZOrder

-

Some type classes about order

+

Some type classes about order

@@ -208,7 +208,7 @@

Library Stdlib.Numbers.NatInt.NZOrder

-

Making the generic order tactic

+

Making the generic order tactic

@@ -235,7 +235,7 @@

Library Stdlib.Numbers.NatInt.NZOrder

-

Some direct consequences of order

+

Some direct consequences of order

@@ -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

-

Order-based induction principles

+

Order-based induction principles

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

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -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

-

BinNat.N already implements NAxiomSig

+

BinNat.N already implements NAxiomSig

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

-

Logical Predicates

+

Logical Predicates

@@ -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

-

Successor and double

+

Successor and double

@@ -203,7 +203,7 @@

Library Stdlib.PArith.BinPos

-

Successor and predecessor

+

Successor and predecessor

@@ -224,7 +224,7 @@

Library Stdlib.PArith.BinPos

-

Injectivity of successor

+

Injectivity of successor

@@ -236,7 +236,7 @@

Library Stdlib.PArith.BinPos

-

Predecessor to N

+

Predecessor to N

@@ -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

-

Specification of add_carry

+

Specification of add_carry

@@ -279,7 +279,7 @@

Library Stdlib.PArith.BinPos

-

Commutativity

+

Commutativity

@@ -291,7 +291,7 @@

Library Stdlib.PArith.BinPos

-

Permutation of add and succ

+

Permutation of add and succ

@@ -306,7 +306,7 @@

Library Stdlib.PArith.BinPos

-

No neutral elements for addition

+

No neutral elements for addition

@@ -316,7 +316,7 @@

Library Stdlib.PArith.BinPos

-

Simplification

+

Simplification

@@ -349,7 +349,7 @@

Library Stdlib.PArith.BinPos

-

Addition is associative

+

Addition is associative

@@ -361,7 +361,7 @@

Library Stdlib.PArith.BinPos

-

Commutation of addition and double

+

Commutation of addition and double

@@ -381,7 +381,7 @@

Library Stdlib.PArith.BinPos

-

Miscellaneous

+

Miscellaneous

@@ -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

-

Right reduction properties for multiplication

+

Right reduction properties for multiplication

@@ -545,7 +545,7 @@

Library Stdlib.PArith.BinPos

-

Commutativity of multiplication

+

Commutativity of multiplication

@@ -557,7 +557,7 @@

Library Stdlib.PArith.BinPos

-

Distributivity of multiplication over addition

+

Distributivity of multiplication over addition

@@ -574,7 +574,7 @@

Library Stdlib.PArith.BinPos

-

Associativity of multiplication

+

Associativity of multiplication

@@ -586,7 +586,7 @@

Library Stdlib.PArith.BinPos

-

Successor and multiplication

+

Successor and multiplication

@@ -601,7 +601,7 @@

Library Stdlib.PArith.BinPos

-

Parity properties of multiplication

+

Parity properties of multiplication

@@ -616,7 +616,7 @@

Library Stdlib.PArith.BinPos

-

Simplification properties of multiplication

+

Simplification properties of multiplication

@@ -637,7 +637,7 @@

Library Stdlib.PArith.BinPos

-

Inversion of multiplication

+

Inversion of multiplication

@@ -655,7 +655,7 @@

Library Stdlib.PArith.BinPos

-

Square

+

Square

@@ -670,7 +670,7 @@

Library Stdlib.PArith.BinPos

-

Properties of iter

+

Properties of iter

@@ -716,7 +716,7 @@

Library Stdlib.PArith.BinPos

-

Properties of power

+

Properties of power

@@ -731,7 +731,7 @@

Library Stdlib.PArith.BinPos

-

Properties of square

+

Properties of square

@@ -743,7 +743,7 @@

Library Stdlib.PArith.BinPos

-

Properties of sub_mask

+

Properties of sub_mask

@@ -790,7 +790,7 @@

Library Stdlib.PArith.BinPos

-

Properties of boolean comparisons

+

Properties of boolean comparisons

@@ -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

-

Facts about gt and ge

+

Facts about gt and ge

@@ -1046,7 +1046,7 @@

Library Stdlib.PArith.BinPos

-

Comparison and the successor

+

Comparison and the successor

@@ -1072,7 +1072,7 @@

Library Stdlib.PArith.BinPos

-

1 is the least positive number

+

1 is the least positive number

@@ -1090,7 +1090,7 @@

Library Stdlib.PArith.BinPos

-

Properties of the order

+

Properties of the order

@@ -1163,7 +1163,7 @@

Library Stdlib.PArith.BinPos

-

Comparison and addition

+

Comparison and addition

@@ -1178,7 +1178,7 @@

Library Stdlib.PArith.BinPos

-

Order and addition

+

Order and addition

@@ -1208,7 +1208,7 @@

Library Stdlib.PArith.BinPos

-

Comparison and multiplication

+

Comparison and multiplication

@@ -1223,7 +1223,7 @@

Library Stdlib.PArith.BinPos

-

Order and multiplication

+

Order and multiplication

@@ -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

-

Properties of subtraction without underflow

+

Properties of subtraction without underflow

@@ -1375,7 +1375,7 @@

Library Stdlib.PArith.BinPos

-

Results concerning size and size_nat

+

Results concerning size and size_nat

@@ -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

-

Results concerning iter_op

+

Results concerning iter_op

@@ -1510,7 +1510,7 @@

Library Stdlib.PArith.BinPos

-

Results about of_nat and of_succ_nat

+

Results about of_nat and of_succ_nat

@@ -1528,7 +1528,7 @@

Library Stdlib.PArith.BinPos

-

Correctness proofs for the square root function

+

Correctness proofs for the square root function

@@ -1554,7 +1554,7 @@

Library Stdlib.PArith.BinPos

-

Correctness proofs for the gcd function

+

Correctness proofs for the gcd function

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

-

Operations over positive numbers

+

Operations over positive numbers

@@ -91,7 +91,7 @@

Library Stdlib.PArith.BinPosDef

-

Predecessor

+

Predecessor

@@ -108,7 +108,7 @@

Library Stdlib.PArith.BinPosDef

-

Predecessor with mask

+

Predecessor with mask

@@ -132,7 +132,7 @@

Library Stdlib.PArith.BinPosDef

-

Power

+

Power

@@ -147,7 +147,7 @@

Library Stdlib.PArith.BinPosDef

-

Square

+

Square

@@ -164,7 +164,7 @@

Library Stdlib.PArith.BinPosDef

-

Number of digits in a positive number

+

Number of digits in a positive number

@@ -214,7 +214,7 @@

Library Stdlib.PArith.BinPosDef

-

Boolean equality and comparisons

+

Boolean equality and comparisons

@@ -232,7 +232,7 @@

Library Stdlib.PArith.BinPosDef

-

Greatest Common Divisor

+

Greatest Common Divisor

@@ -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

-

DecidableType structure for positive numbers

+

DecidableType structure for positive numbers

@@ -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

-

Properties of equality.

+

Properties of equality.

@@ -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

-

Setoid compatibility results

+

Setoid compatibility results

@@ -634,7 +634,7 @@

Library Stdlib.QArith.QArith_base

-

Properties of Qadd

+

Properties of Qadd

@@ -674,7 +674,7 @@

Library Stdlib.QArith.QArith_base

-

Properties of Qopp

+

Properties of Qopp

@@ -705,7 +705,7 @@

Library Stdlib.QArith.QArith_base

-

Properties of Qmult

+

Properties of Qmult

@@ -787,7 +787,7 @@

Library Stdlib.QArith.QArith_base

-

inject_Z is a ring homomorphism:

+

inject_Z is a ring homomorphism:

@@ -805,7 +805,7 @@

Library Stdlib.QArith.QArith_base

-

Inverse and division.

+

Inverse and division.

@@ -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

-

Properties of order upon Q.

+

Properties of order upon Q.

@@ -1046,7 +1046,7 @@

Library Stdlib.QArith.QArith_base

-

Some decidability results about orders.

+

Some decidability results about orders.

@@ -1064,7 +1064,7 @@

Library Stdlib.QArith.QArith_base

-

Compatibility of addition with order

+

Compatibility of addition with order

@@ -1117,7 +1117,7 @@

Library Stdlib.QArith.QArith_base

-

Compatibility of multiplication with order.

+

Compatibility of multiplication with order.

@@ -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

-

Rational to the n-th power

+

Rational to the n-th power

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

-

DecidableType structure for rational numbers

+

DecidableType structure for rational numbers

@@ -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

-

An order tactic for Q numbers

+

An order tactic for Q numbers

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

-

field and ring tactics for rational numbers

+

field and ring tactics for rational numbers

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

-

Maximum and Minimum of two rational numbers

+

Maximum and Minimum of two rational numbers

@@ -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

-

Relation of Qpower_positive to zero

+

Relation of Qpower_positive to zero

@@ -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

-

Qpower and exponent multiplication

+

Qpower and exponent multiplication

@@ -130,7 +130,7 @@

Library Stdlib.QArith.Qpower

-

Qpower_positive decomposition

+

Qpower_positive decomposition

@@ -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

-

Relation of Qpower to zero

+

Relation of Qpower to zero

@@ -195,7 +195,7 @@

Library Stdlib.QArith.Qpower

-

Relation of Qpower to 1

+

Relation of Qpower to 1

@@ -220,7 +220,7 @@

Library Stdlib.QArith.Qpower

-

Qpower and multiplication, exponent addition

+

Qpower and multiplication, exponent addition

@@ -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

-

Qpower and exponent multiplication

+

Qpower and exponent multiplication

@@ -283,7 +283,7 @@

Library Stdlib.QArith.Qpower

-

Qpower decomposition

+

Qpower decomposition

@@ -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

-

Qpower and inject_Z

+

Qpower and inject_Z

@@ -341,7 +341,7 @@

Library Stdlib.QArith.Qpower

-

Square

+

Square

@@ -353,7 +353,7 @@

Library Stdlib.QArith.Qpower

-

Power of 2 positive upper bound

+

Power of 2 positive upper bound

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

-

Formalization of alternated series

+

Formalization of alternated series

@@ -121,7 +121,7 @@

Library Stdlib.Reals.AltSeries

-

Convergence of alternated series

+

Convergence of alternated series

@@ -143,7 +143,7 @@

Library Stdlib.Reals.AltSeries

-

Application : construction of PI

+

Application : construction of PI

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

-

Field

+

Field

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

-

Power of two closed upper bound q <= 2^z

+

Power of two closed upper bound q <= 2^z

@@ -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

-

Q Auxiliary Lemmas

+

Q Auxiliary Lemmas

@@ -87,11 +87,11 @@

Library Stdlib.Reals.ClassicalDedekindReals

-

Dedekind cuts

+

Dedekind cuts

-

Definition

+

Definition

@@ -133,7 +133,7 @@

Library Stdlib.Reals.ClassicalDedekindReals

-

Properties

+

Properties

@@ -165,11 +165,11 @@

Library Stdlib.Reals.ClassicalDedekindReals

-

Classical Dedekind reals

+

Classical Dedekind reals

-

Definition

+

Definition

@@ -182,7 +182,7 @@

Library Stdlib.Reals.ClassicalDedekindReals

-

Induction principle

+

Induction principle

@@ -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

-

Conversion from DReal to CReal

+

Conversion from DReal to CReal

@@ -270,7 +270,7 @@

Library Stdlib.Reals.ClassicalDedekindReals

-

Order for DReal

+

Order for DReal

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

-

Strong decidable equality

+

Strong decidable equality

@@ -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

-

Asymmetry

+

Asymmetry

@@ -368,7 +368,7 @@

Library Stdlib.Reals.RIneq

-

Antisymmetry

+

Antisymmetry

@@ -397,7 +397,7 @@

Library Stdlib.Reals.RIneq

-

Compatibility with equality

+

Compatibility with equality

@@ -414,7 +414,7 @@

Library Stdlib.Reals.RIneq

-

Transitivity

+

Transitivity

@@ -457,7 +457,7 @@

Library Stdlib.Reals.RIneq

-

(Classical) decidability with sumbool types

+

(Classical) decidability with sumbool types

@@ -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

-

Addition

+

Addition

@@ -636,7 +636,7 @@

Library Stdlib.Reals.RIneq

-

Opposite

+

Opposite

@@ -678,7 +678,7 @@

Library Stdlib.Reals.RIneq

-

Multiplication

+

Multiplication

@@ -794,7 +794,7 @@

Library Stdlib.Reals.RIneq

-

Opposite and multiplication

+

Opposite and multiplication

@@ -822,7 +822,7 @@

Library Stdlib.Reals.RIneq

-

Subtraction

+

Subtraction

@@ -934,7 +934,7 @@

Library Stdlib.Reals.RIneq

-

Inverse

+

Inverse

@@ -988,7 +988,7 @@

Library Stdlib.Reals.RIneq

-

Square function

+

Square function

@@ -1010,11 +1010,11 @@

Library Stdlib.Reals.RIneq

-

Order and addition

+

Order and addition

-

Compatibility

+

Compatibility

@@ -1115,7 +1115,7 @@

Library Stdlib.Reals.RIneq

-

Cancellation

+

Cancellation

@@ -1167,7 +1167,7 @@

Library Stdlib.Reals.RIneq

-

Comparison of addition with left operand

+

Comparison of addition with left operand

@@ -1188,7 +1188,7 @@

Library Stdlib.Reals.RIneq

-

Sign of addition

+

Sign of addition

@@ -1221,11 +1221,11 @@

Library Stdlib.Reals.RIneq

-

Order and opposite

+

Order and opposite

-

Contravariant compatibility

+

Contravariant compatibility

@@ -1301,7 +1301,7 @@

Library Stdlib.Reals.RIneq

-

Cancellation

+

Cancellation

@@ -1326,7 +1326,7 @@

Library Stdlib.Reals.RIneq

-

Sign of opposite

+

Sign of opposite

@@ -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

-

Contravariant compatibility

+

Contravariant compatibility

@@ -1444,7 +1444,7 @@

Library Stdlib.Reals.RIneq

-

Sign of multiplication

+

Sign of multiplication

@@ -1479,7 +1479,7 @@

Library Stdlib.Reals.RIneq

-

Order and square function

+

Order and square function

@@ -1500,7 +1500,7 @@

Library Stdlib.Reals.RIneq

-

Zero is less than one

+

Zero is less than one

@@ -1517,7 +1517,7 @@

Library Stdlib.Reals.RIneq

-

Sign of inverse

+

Sign of inverse

@@ -1536,7 +1536,7 @@

Library Stdlib.Reals.RIneq

-

Cancellation in inequalities of products

+

Cancellation in inequalities of products

@@ -1563,7 +1563,7 @@

Library Stdlib.Reals.RIneq

-

Order and inverse

+

Order and inverse

@@ -1594,7 +1594,7 @@

Library Stdlib.Reals.RIneq

-

Sign of inverse

+

Sign of inverse

@@ -1609,7 +1609,7 @@

Library Stdlib.Reals.RIneq

-

Order and subtraction

+

Order and subtraction

@@ -1653,7 +1653,7 @@

Library Stdlib.Reals.RIneq

-

Division

+

Division

@@ -1753,7 +1753,7 @@

Library Stdlib.Reals.RIneq

-

Sign of division

+

Sign of division

@@ -1778,7 +1778,7 @@

Library Stdlib.Reals.RIneq

-

Miscellaneous

+

Miscellaneous

@@ -1832,7 +1832,7 @@

Library Stdlib.Reals.RIneq

-

Injection from nat to R

+

Injection from nat to R

@@ -1931,7 +1931,7 @@

Library Stdlib.Reals.RIneq

-

Injection from positive to R

+

Injection from positive to R

@@ -2012,7 +2012,7 @@

Library Stdlib.Reals.RIneq

-

Injection from Z to R

+

Injection from Z to R

@@ -2154,7 +2154,7 @@

Library Stdlib.Reals.RIneq

-

Definitions of new types

+

Definitions of new types

@@ -2181,7 +2181,7 @@

Library Stdlib.Reals.RIneq

-

A few common instances

+

A few common instances

@@ -2197,7 +2197,7 @@

Library Stdlib.Reals.RIneq

-

Compatibility

+

Compatibility

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

-

DecidableType structure for real numbers

+

DecidableType structure for real numbers

@@ -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

-

Fractional part

+

Fractional part

@@ -96,7 +96,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

-

Continuous extension of Rsqrt on R

+

Continuous extension of Rsqrt on R

@@ -195,7 +195,7 @@

Library Stdlib.Reals.R_sqrt

-

Resolution of a*X^2+b*X+c=0

+

Resolution of a*X^2+b*X+c=0

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

-

Basic operations on functions

+

Basic operations on functions

@@ -105,7 +105,7 @@

Library Stdlib.Reals.Ranalysis1

-

Variations of functions

+

Variations of functions

@@ -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

-

Derivative's definition using Landau's kernel

+

Derivative's definition using Landau's kernel

@@ -270,7 +270,7 @@

Library Stdlib.Reals.Ranalysis1

-

Class of differential functions

+

Class of differential functions

@@ -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

-

derivability -> continuity

+

derivability -> continuity

@@ -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

-

Rules for derivable_pt (derivability at a point)

+

Rules for derivable_pt (derivability at a point)

@@ -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

-

Irrelevance of derivability proof for derivative

+

Irrelevance of derivability proof for derivative

@@ -699,7 +699,7 @@

Library Stdlib.Reals.Ranalysis1

-

Local extremum's condition

+

Local extremum's condition

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

-

Preliminaries lemmas

+

Preliminaries lemmas

@@ -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

-

Derivability of the reciprocal function

+

Derivability of the reciprocal function

@@ -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

-

Properties of tangent

+

Properties of tangent

-

Derivative of tangent

+

Derivative of tangent

@@ -143,7 +143,7 @@

Library Stdlib.Reals.Ratan

-

Proof that tangent is a bijection

+

Proof that tangent is a bijection

@@ -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

-

Derivative of arctangent

+

Derivative of arctangent

@@ -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

-

Relation between arctangent and sine and cosine

+

Relation between arctangent and sine and cosine

@@ -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

-

Relation between arcsin and arctangent

+

Relation between arcsin and arctangent

@@ -522,7 +522,7 @@

Library Stdlib.Reals.Ratan

-

arcsine of specific values

+

arcsine of specific values

@@ -544,7 +544,7 @@

Library Stdlib.Reals.Ratan

-

Bounds of arcsine

+

Bounds of arcsine

@@ -561,7 +561,7 @@

Library Stdlib.Reals.Ratan

-

arcsine is the left and right inverse of sine

+

arcsine is the left and right inverse of sine

@@ -578,7 +578,7 @@

Library Stdlib.Reals.Ratan

-

Relation between arcsin, cosine and tangent

+

Relation between arcsin, cosine and tangent

@@ -595,7 +595,7 @@

Library Stdlib.Reals.Ratan

-

Derivative of arcsine

+

Derivative of arcsine

@@ -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

-

arccosine of specific values

+

arccosine of specific values

@@ -673,7 +673,7 @@

Library Stdlib.Reals.Ratan

-

Bounds of arccosine

+

Bounds of arccosine

@@ -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

-

Relation between arccosine, sine and tangent

+

Relation between arccosine, sine and tangent

@@ -724,7 +724,7 @@

Library Stdlib.Reals.Ratan

-

Derivative of arccosine

+

Derivative of arccosine

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

-

Field operations

+

Field operations

-

Addition

+

Addition

@@ -141,7 +141,7 @@

Library Stdlib.Reals.Raxioms

-

Multiplication

+

Multiplication

@@ -176,7 +176,7 @@

Library Stdlib.Reals.Raxioms

-

Distributivity

+

Distributivity

@@ -192,11 +192,11 @@

Library Stdlib.Reals.Raxioms

-

Order

+

Order

-

Lower

+

Lower

@@ -222,7 +222,7 @@

Library Stdlib.Reals.Raxioms

-

Injection from N to R

+

Injection from N to R

@@ -241,7 +241,7 @@

Library Stdlib.Reals.Raxioms

-

R Archimedean

+

R Archimedean

@@ -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

-

Rmin

+

Rmin

@@ -130,7 +130,7 @@

Library Stdlib.Reals.Rbasic_fun

-

Rmax

+

Rmax

@@ -202,7 +202,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

-

Injection from Z to R

+

Injection from Z to R

@@ -266,7 +266,7 @@

Library Stdlib.Reals.Rdefinitions

-

Number notation for constants

+

Number notation for constants

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

-

Lemmas about factorial

+

Lemmas about factorial

@@ -91,7 +91,7 @@

Library Stdlib.Reals.Rfunctions

-

Power

+

Power

@@ -230,7 +230,7 @@

Library Stdlib.Reals.Rfunctions

-

PowerRZ

+

PowerRZ

@@ -379,7 +379,7 @@

Library Stdlib.Reals.Rfunctions

-

Sum of n first naturals

+

Sum of n first naturals

@@ -403,7 +403,7 @@

Library Stdlib.Reals.Rfunctions

-

Sum

+

Sum

@@ -431,7 +431,7 @@

Library Stdlib.Reals.Rfunctions

-

Distance in R

+

Distance in R

@@ -477,7 +477,7 @@

Library Stdlib.Reals.Rfunctions

-

Infinite Sum

+

Infinite Sum

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

-

Distance

+

Distance

@@ -90,7 +90,7 @@

Library Stdlib.Reals.Rgeom

-

Translation

+

Translation

@@ -112,7 +112,7 @@

Library Stdlib.Reals.Rgeom

-

Rotation

+

Rotation

@@ -146,7 +146,7 @@

Library Stdlib.Reals.Rgeom

-

Similarity

+

Similarity

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

-

Each bounded subset of N has a maximal element

+

Each bounded subset of N has a maximal element

@@ -84,7 +84,7 @@

Library Stdlib.Reals.RiemannInt_SF

-

Step functions

+

Step functions

@@ -124,7 +124,7 @@

Library Stdlib.Reals.RiemannInt_SF

-

Class of step functions

+

Class of step functions

@@ -156,7 +156,7 @@

Library Stdlib.Reals.RiemannInt_SF

-

Integral of step functions

+

Integral of step functions

@@ -170,7 +170,7 @@

Library Stdlib.Reals.RiemannInt_SF

-

Properties of step functions

+

Properties of step functions

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

-

Calculus

+

Calculus

@@ -100,7 +100,7 @@

Library Stdlib.Reals.Rlimit

-

Metric space

+

Metric space

@@ -119,7 +119,7 @@

Library Stdlib.Reals.Rlimit

-

Limit in Metric space

+

Limit in Metric space

@@ -138,7 +138,7 @@

Library Stdlib.Reals.Rlimit

-

R is a metric space

+

R is a metric space

@@ -154,7 +154,7 @@

Library Stdlib.Reals.Rlimit

-

Limit 1 arg

+

Limit 1 arg

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

-

Decidability of negated formulas

+

Decidability of negated formulas

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

-

Maximum and Minimum of two real numbers

+

Maximum and Minimum of two real numbers

@@ -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

-

Properties of Exp

+

Properties of Exp

@@ -129,7 +129,7 @@

Library Stdlib.Reals.Rpower

-

Properties of Ln

+

Properties of Ln

@@ -169,7 +169,7 @@

Library Stdlib.Reals.Rpower

-

Definition of Rpower

+

Definition of Rpower

@@ -181,7 +181,7 @@

Library Stdlib.Reals.Rpower

-

Properties of Rpower

+

Properties of Rpower

@@ -248,7 +248,7 @@

Library Stdlib.Reals.Rpower

-

Differentiability of Ln and Rpower

+

Differentiability of Ln and 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

-

Definition of sequence and properties

+

Definition of sequence and properties

@@ -129,7 +129,7 @@

Library Stdlib.Reals.Rseries

-

Definition of Power Series and properties

+

Definition of Power Series and properties

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

-

General definitions and propositions

+

General definitions and propositions

@@ -306,7 +306,7 @@

Library Stdlib.Reals.Rtopology

-

Proof of Bolzano-Weierstrass theorem

+

Proof of Bolzano-Weierstrass theorem

@@ -379,7 +379,7 @@

Library Stdlib.Reals.Rtopology

-

Proof of Heine's theorem

+

Proof of Heine's theorem

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

-

Some properties of cos, sin and tan

+

Some properties of cos, sin and tan

@@ -259,7 +259,7 @@

Library Stdlib.Reals.Rtrigo1

-

Using series definitions of cos and sin

+

Using series definitions of cos and sin

@@ -293,7 +293,7 @@

Library Stdlib.Reals.Rtrigo1

-

Increasing and decreasing of cos and sin

+

Increasing and decreasing of cos and sin

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

-

Definition of exponential

+

Definition of exponential

@@ -80,7 +80,7 @@

Library Stdlib.Reals.Rtrigo_def

-

Definition of hyperbolic functions

+

Definition of hyperbolic functions

@@ -154,7 +154,7 @@

Library Stdlib.Reals.Rtrigo_def

-

Properties

+

Properties

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

-

Express tan with sin and cos

+

Express tan with sin and cos

@@ -147,7 +147,7 @@

Library Stdlib.Reals.Rtrigo_facts

-

Express sin and cos with tan

+

Express sin and cos with tan

@@ -164,7 +164,7 @@

Library Stdlib.Reals.Rtrigo_facts

-

Additional shift lemmas for sin, cos, tan

+

Additional shift lemmas for sin, cos, tan

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

-

Transitive closure

+

Transitive closure

@@ -123,7 +123,7 @@

Library Stdlib.Relations.Relation_Operators

-

Reflexive closure

+

Reflexive closure

@@ -153,7 +153,7 @@

Library Stdlib.Relations.Relation_Operators

-

Reflexive-transitive closure

+

Reflexive-transitive closure

@@ -213,7 +213,7 @@

Library Stdlib.Relations.Relation_Operators

-

Reflexive-symmetric-transitive closure

+

Reflexive-symmetric-transitive closure

@@ -275,7 +275,7 @@

Library Stdlib.Relations.Relation_Operators

-

Converse of a relation

+

Converse of a relation

@@ -293,7 +293,7 @@

Library Stdlib.Relations.Relation_Operators

-

Union of relations

+

Union of relations

@@ -311,7 +311,7 @@

Library Stdlib.Relations.Relation_Operators

-

Disjoint union of relations

+

Disjoint union of relations

@@ -335,7 +335,7 @@

Library Stdlib.Relations.Relation_Operators

-

Lexicographic order on dependent pairs

+

Lexicographic order on dependent pairs

@@ -368,7 +368,7 @@

Library Stdlib.Relations.Relation_Operators

-

Lexicographic order on pairs

+

Lexicographic order on pairs

@@ -403,7 +403,7 @@

Library Stdlib.Relations.Relation_Operators

-

Product of relations

+

Product of relations

@@ -429,7 +429,7 @@

Library Stdlib.Relations.Relation_Operators

-

Multiset of two relations

+

Multiset of two relations

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

-

The heap property

+

The heap property

@@ -194,7 +194,7 @@

Library Stdlib.Sorting.Heap

-

Merging two sorted lists

+

Merging two sorted lists

@@ -226,7 +226,7 @@

Library Stdlib.Sorting.Heap

-

From trees to multisets

+

From trees to multisets

@@ -262,11 +262,11 @@

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

-

Building a heap from a list

+

Building a heap from a list

@@ -308,7 +308,7 @@

Library Stdlib.Sorting.Heap

-

Building the sorted list

+

Building the sorted list

@@ -329,7 +329,7 @@

Library Stdlib.Sorting.Heap

-

Specification of treesort

+

Specification of treesort

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

-

From lists to multisets

+

From lists to multisets

@@ -127,7 +127,7 @@

Library Stdlib.Sorting.PermutSetoid

-

permutation: definition and basic properties

+

permutation: definition and basic properties

@@ -201,7 +201,7 @@

Library Stdlib.Sorting.PermutSetoid

-

Some inversion results.

+

Some inversion results.

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

-

Properties of string length

+

Properties of string length

@@ -168,7 +168,7 @@

Library Stdlib.Strings.PString

-

Properties of string get

+

Properties of string get

@@ -211,7 +211,7 @@

Library Stdlib.Strings.PString

-

Properties of string comparison

+

Properties of string comparison

@@ -292,7 +292,7 @@

Library Stdlib.Strings.PString

-

Properties of make

+

Properties of make

@@ -304,7 +304,7 @@

Library Stdlib.Strings.PString

-

Properties of cat

+

Properties of cat

@@ -326,7 +326,7 @@

Library Stdlib.Strings.PString

-

Properties of sub

+

Properties of sub

@@ -374,7 +374,7 @@

Library Stdlib.Strings.PString

-

Ordered type

+

Ordered type

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

-

Definition of strings

+

Definition of strings

@@ -135,7 +135,7 @@

Library Stdlib.Strings.String

-

Compare strings lexicographically

+

Compare strings lexicographically

@@ -185,7 +185,7 @@

Library Stdlib.Strings.String

-

Concatenation of strings

+

Concatenation of strings

@@ -276,7 +276,7 @@

Library Stdlib.Strings.String

-

Substrings

+

Substrings

@@ -325,7 +325,7 @@

Library Stdlib.Strings.String

-

Concatenating lists of strings

+

Concatenating lists of strings

@@ -346,7 +346,7 @@

Library Stdlib.Strings.String

-

Test functions

+

Test functions

@@ -498,7 +498,7 @@

Library Stdlib.Strings.String

-

Conversion to/from list ascii and list byte

+

Conversion to/from list ascii and list byte

@@ -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

-

Structure with just a base type t

+

Structure with just a base type t

@@ -82,7 +82,7 @@

Library Stdlib.Structures.Equalities

-

Structure with an equality relation eq

+

Structure with an equality relation eq

@@ -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

-

Types with decidable equality

+

Types with decidable equality

@@ -157,7 +157,7 @@

Library Stdlib.Structures.Equalities

-

Boolean Equality

+

Boolean Equality

@@ -252,7 +252,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

-

Keys and datas used in the future MMaps

+

Keys and datas used in the future MMaps

@@ -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

-

Consequences of the minimalist interface: facts about max and min.

+

Consequences of the minimalist interface: facts about max and min.

@@ -200,7 +200,7 @@

Library Stdlib.Structures.GenericMinMax

-

Semi-lattice algebraic properties of max

+

Semi-lattice algebraic properties of max

@@ -227,7 +227,7 @@

Library Stdlib.Structures.GenericMinMax

-

Least-upper bound properties of max

+

Least-upper bound properties of max

@@ -386,7 +386,7 @@

Library Stdlib.Structures.GenericMinMax

-

Combined properties of min and max

+

Combined properties of min and max

@@ -468,7 +468,7 @@

Library Stdlib.Structures.GenericMinMax

-

Properties requiring a decidable order

+

Properties requiring a decidable order

@@ -548,7 +548,7 @@

Library Stdlib.Structures.GenericMinMax

-

When the equality is Leibniz, we can skip a few Proper precondition.

+

When the equality is Leibniz, we can skip a few Proper precondition.

diff --git a/master/stdlib/Stdlib.Structures.OrderedType.html b/master/stdlib/Stdlib.Structures.OrderedType.html index 828ef06da1..74926ed95a 100644 --- a/master/stdlib/Stdlib.Structures.OrderedType.html +++ b/master/stdlib/Stdlib.Structures.OrderedType.html @@ -56,7 +56,7 @@

Library Stdlib.Structures.OrderedType

FSets and FMap. Please use Structures/Orders.v directly now.
-

Ordered types

+

Ordered types

@@ -137,7 +137,7 @@

Library Stdlib.Structures.OrderedType

-

Ordered types properties

+

Ordered types properties

diff --git a/master/stdlib/Stdlib.Structures.OrderedTypeAlt.html b/master/stdlib/Stdlib.Structures.OrderedTypeAlt.html index 93195e84bc..e6069ae15e 100644 --- a/master/stdlib/Stdlib.Structures.OrderedTypeAlt.html +++ b/master/stdlib/Stdlib.Structures.OrderedTypeAlt.html @@ -49,7 +49,7 @@

Library Stdlib.Structures.OrderedTypeAlt

-

An alternative (but equivalent) presentation for an Ordered Type

+

An alternative (but equivalent) presentation for an Ordered Type

inferface.
diff --git a/master/stdlib/Stdlib.Structures.OrderedTypeEx.html b/master/stdlib/Stdlib.Structures.OrderedTypeEx.html index 2720156147..676ab279ae 100644 --- a/master/stdlib/Stdlib.Structures.OrderedTypeEx.html +++ b/master/stdlib/Stdlib.Structures.OrderedTypeEx.html @@ -55,7 +55,7 @@

Library Stdlib.Structures.OrderedTypeEx

-

Examples of Ordered Type structures.

+

Examples of Ordered Type structures.

diff --git a/master/stdlib/Stdlib.Structures.Orders.html b/master/stdlib/Stdlib.Structures.Orders.html index 411779cd1a..d888863970 100644 --- a/master/stdlib/Stdlib.Structures.Orders.html +++ b/master/stdlib/Stdlib.Structures.Orders.html @@ -52,7 +52,7 @@

Library Stdlib.Structures.Orders

-

Ordered types

+

Ordered types

@@ -187,7 +187,7 @@

Library Stdlib.Structures.Orders

DecidableType.
-

Versions with eq being the usual Leibniz equality of Coq

+

Versions with eq being the usual Leibniz equality of Coq

@@ -219,7 +219,7 @@

Library Stdlib.Structures.Orders

-

Purely logical versions

+

Purely logical versions

@@ -242,7 +242,7 @@

Library Stdlib.Structures.Orders

-

Conversions

+

Conversions

@@ -303,7 +303,7 @@

Library Stdlib.Structures.Orders

-

Versions with boolean comparisons

+

Versions with boolean comparisons

@@ -405,7 +405,7 @@

Library Stdlib.Structures.Orders

-

From OrderedTypeFull to TotalTransitiveLeBool

+

From OrderedTypeFull to TotalTransitiveLeBool

@@ -436,7 +436,7 @@

Library Stdlib.Structures.Orders

-

From TotalTransitiveLeBool to OrderedTypeFull

+

From TotalTransitiveLeBool to OrderedTypeFull

diff --git a/master/stdlib/Stdlib.Structures.OrdersAlt.html b/master/stdlib/Stdlib.Structures.OrdersAlt.html index e43bc8b569..5523bf89f6 100644 --- a/master/stdlib/Stdlib.Structures.OrdersAlt.html +++ b/master/stdlib/Stdlib.Structures.OrdersAlt.html @@ -54,12 +54,12 @@

Library Stdlib.Structures.OrdersAlt

-

Some alternative (but equivalent) presentations for an Ordered Type

+

Some alternative (but equivalent) presentations for an Ordered Type

inferface.
-

The original interface

+

The original interface

@@ -71,7 +71,7 @@

Library Stdlib.Structures.OrdersAlt

-

An interface based on compare

+

An interface based on compare

@@ -101,7 +101,7 @@

Library Stdlib.Structures.OrdersAlt

-

From OrderedTypeOrig to OrderedType.

+

From OrderedTypeOrig to OrderedType.

@@ -140,7 +140,7 @@

Library Stdlib.Structures.OrdersAlt

-

From OrderedType to OrderedTypeOrig.

+

From OrderedType to OrderedTypeOrig.

@@ -169,7 +169,7 @@

Library Stdlib.Structures.OrdersAlt

-

From OrderedTypeAlt to OrderedType.

+

From OrderedTypeAlt to OrderedType.

diff --git a/master/stdlib/Stdlib.Structures.OrdersEx.html b/master/stdlib/Stdlib.Structures.OrdersEx.html index 66f69d3dd9..390e4d4d2a 100644 --- a/master/stdlib/Stdlib.Structures.OrdersEx.html +++ b/master/stdlib/Stdlib.Structures.OrdersEx.html @@ -55,7 +55,7 @@

Library Stdlib.Structures.OrdersEx

-

Examples of Ordered Type structures.

+

Examples of Ordered Type structures.

diff --git a/master/stdlib/Stdlib.Structures.OrdersFacts.html b/master/stdlib/Stdlib.Structures.OrdersFacts.html index 0caf7bf0a4..fd5ce206db 100644 --- a/master/stdlib/Stdlib.Structures.OrdersFacts.html +++ b/master/stdlib/Stdlib.Structures.OrdersFacts.html @@ -55,7 +55,7 @@

Library Stdlib.Structures.OrdersFacts

-

Properties of compare

+

Properties of compare

@@ -104,7 +104,7 @@

Library Stdlib.Structures.OrdersFacts

-

Properties of OrderedTypeFull

+

Properties of OrderedTypeFull

@@ -164,7 +164,7 @@

Library Stdlib.Structures.OrdersFacts

-

Properties of OrderedType

+

Properties of OrderedType

@@ -259,7 +259,7 @@

Library Stdlib.Structures.OrdersFacts

-

Tests of the order tactic

+

Tests of the order tactic

@@ -297,7 +297,7 @@

Library Stdlib.Structures.OrdersFacts

-

Reversed OrderedTypeFull.

+

Reversed OrderedTypeFull.

@@ -348,7 +348,7 @@

Library Stdlib.Structures.OrdersFacts

-

Order relations derived from a compare function.

+

Order relations derived from a compare function.

diff --git a/master/stdlib/Stdlib.Structures.OrdersLists.html b/master/stdlib/Stdlib.Structures.OrdersLists.html index ff16730a2d..2e4c11f051 100644 --- a/master/stdlib/Stdlib.Structures.OrdersLists.html +++ b/master/stdlib/Stdlib.Structures.OrdersLists.html @@ -54,7 +54,7 @@

Library Stdlib.Structures.OrdersLists

-

Specialization of results about lists modulo.

+

Specialization of results about lists modulo.

@@ -109,7 +109,7 @@

Library Stdlib.Structures.OrdersLists

-

Results about keys and data as manipulated in the future MMaps.

+

Results about keys and data as manipulated in the future MMaps.

diff --git a/master/stdlib/Stdlib.Structures.OrdersTac.html b/master/stdlib/Stdlib.Structures.OrdersTac.html index 698618aa25..0ac460b400 100644 --- a/master/stdlib/Stdlib.Structures.OrdersTac.html +++ b/master/stdlib/Stdlib.Structures.OrdersTac.html @@ -52,7 +52,7 @@

Library Stdlib.Structures.OrdersTac

-

The order tactic

+

The order tactic

@@ -91,7 +91,7 @@

Library Stdlib.Structures.OrdersTac

-

The tactic requirements : a total order

+

The tactic requirements : a total order

@@ -127,7 +127,7 @@

Library Stdlib.Structures.OrdersTac

-

Properties that will be used by the order tactic

+

Properties that will be used by the order tactic

@@ -237,7 +237,7 @@

Library Stdlib.Structures.OrdersTac

-

MakeOrderTac : The functor providing the order tactic.

+

MakeOrderTac : The functor providing the order tactic.

diff --git a/master/stdlib/Stdlib.Vectors.VectorDef.html b/master/stdlib/Stdlib.Vectors.VectorDef.html index fe7a610784..9679c9633f 100644 --- a/master/stdlib/Stdlib.Vectors.VectorDef.html +++ b/master/stdlib/Stdlib.Vectors.VectorDef.html @@ -436,7 +436,7 @@

Library Stdlib.Vectors.VectorDef

-

Here are special non dependent useful instantiation of induction schemes

+

Here are special non dependent useful instantiation of induction schemes

@@ -563,7 +563,7 @@

Library Stdlib.Vectors.VectorDef

-

vector <=> list functions

+

vector <=> list functions

diff --git a/master/stdlib/Stdlib.Vectors.VectorSpec.html b/master/stdlib/Stdlib.Vectors.VectorSpec.html index 93a2db706a..384f74786a 100644 --- a/master/stdlib/Stdlib.Vectors.VectorSpec.html +++ b/master/stdlib/Stdlib.Vectors.VectorSpec.html @@ -94,7 +94,7 @@

Library Stdlib.Vectors.VectorSpec

is true for the one that use lt
-

Properties of nth and nth_order

+

Properties of nth and nth_order

@@ -135,7 +135,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of replace

+

Properties of replace

@@ -181,7 +181,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of const

+

Properties of const

@@ -196,7 +196,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of map

+

Properties of map

@@ -237,7 +237,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of fold_left

+

Properties of fold_left

@@ -251,7 +251,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of take

+

Properties of take

@@ -273,7 +273,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of uncons and splitat

+

Properties of uncons and splitat

@@ -304,7 +304,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of In

+

Properties of In

@@ -317,7 +317,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of Forall and Forall2

+

Properties of Forall and Forall2

@@ -371,7 +371,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of shiftin and shiftrepeat

+

Properties of shiftin and shiftrepeat

@@ -410,7 +410,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of rev

+

Properties of rev

@@ -448,7 +448,7 @@

Library Stdlib.Vectors.VectorSpec

-

Properties of to_list

+

Properties of to_list

diff --git a/master/stdlib/Stdlib.ZArith.BinInt.html b/master/stdlib/Stdlib.ZArith.BinInt.html index 6962fe6f07..acbac4b671 100644 --- a/master/stdlib/Stdlib.ZArith.BinInt.html +++ b/master/stdlib/Stdlib.ZArith.BinInt.html @@ -54,7 +54,7 @@

Library Stdlib.ZArith.BinInt

-

Binary Integers

+

Binary Integers

@@ -89,7 +89,7 @@

Library Stdlib.ZArith.BinInt

-

Definitions of operations, now in a separate file

+

Definitions of operations, now in a separate file

@@ -121,7 +121,7 @@

Library Stdlib.ZArith.BinInt

-

Logic Predicates

+

Logic Predicates

@@ -159,7 +159,7 @@

Library Stdlib.ZArith.BinInt

-

Decidability of equality.

+

Decidability of equality.

@@ -171,7 +171,7 @@

Library Stdlib.ZArith.BinInt

-

Proofs of morphisms, obvious since eq is Leibniz

+

Proofs of morphisms, obvious since eq is Leibniz

@@ -196,7 +196,7 @@

Library Stdlib.ZArith.BinInt

-

Properties of pos_sub

+

Properties of pos_sub

@@ -267,7 +267,7 @@

Library Stdlib.ZArith.BinInt

-

Operations and constants

+

Operations and constants

@@ -285,7 +285,7 @@

Library Stdlib.ZArith.BinInt

-

Addition is commutative

+

Addition is commutative

@@ -297,7 +297,7 @@

Library Stdlib.ZArith.BinInt

-

Opposite distributes over addition

+

Opposite distributes over addition

@@ -309,7 +309,7 @@

Library Stdlib.ZArith.BinInt

-

Opposite is injective

+

Opposite is injective

@@ -321,7 +321,7 @@

Library Stdlib.ZArith.BinInt

-

Addition is associative

+

Addition is associative

@@ -343,7 +343,7 @@

Library Stdlib.ZArith.BinInt

-

Opposite is inverse for addition

+

Opposite is inverse for addition

@@ -355,7 +355,7 @@

Library Stdlib.ZArith.BinInt

-

Multiplication and Opposite

+

Multiplication and Opposite

@@ -367,7 +367,7 @@

Library Stdlib.ZArith.BinInt

-

Distributivity of multiplication over addition

+

Distributivity of multiplication over addition

@@ -386,11 +386,11 @@

Library Stdlib.ZArith.BinInt

-

Proofs of specifications

+

Proofs of specifications

-

Specification of constants

+

Specification of constants

@@ -405,7 +405,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of addition

+

Specification of addition

@@ -420,7 +420,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of opposite

+

Specification of opposite

@@ -435,7 +435,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of successor and predecessor

+

Specification of successor and predecessor

@@ -453,7 +453,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of subtraction

+

Specification of subtraction

@@ -468,7 +468,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of multiplication

+

Specification of multiplication

@@ -483,7 +483,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of comparisons and order

+

Specification of comparisons and order

@@ -575,7 +575,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of minimum and maximum

+

Specification of minimum and maximum

@@ -596,7 +596,7 @@

Library Stdlib.ZArith.BinInt

-

Induction principles based on successor / predecessor

+

Induction principles based on successor / predecessor

@@ -637,7 +637,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of absolute value

+

Specification of absolute value

@@ -652,7 +652,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of sign

+

Specification of sign

@@ -670,7 +670,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of power

+

Specification of power

@@ -699,7 +699,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of square

+

Specification of square

@@ -711,7 +711,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of square root

+

Specification of square root

@@ -734,7 +734,7 @@

Library Stdlib.ZArith.BinInt

-

Specification of logarithm

+

Specification of logarithm

@@ -763,7 +763,7 @@

Library Stdlib.ZArith.BinInt

-

Multiplication and Doubling

+

Multiplication and Doubling

@@ -781,7 +781,7 @@

Library Stdlib.ZArith.BinInt

-

Correctness proofs for Trunc division

+

Correctness proofs for Trunc division

@@ -813,7 +813,7 @@

Library Stdlib.ZArith.BinInt

-

Correctness proofs for Floor division

+

Correctness proofs for Floor division

@@ -846,7 +846,7 @@

Library Stdlib.ZArith.BinInt

-

Extra properties about divide

+

Extra properties about divide

@@ -864,7 +864,7 @@

Library Stdlib.ZArith.BinInt

-

Correctness proofs for gcd

+

Correctness proofs for gcd

@@ -905,7 +905,7 @@

Library Stdlib.ZArith.BinInt

-

Extra properties about testbit

+

Extra properties about testbit

@@ -930,7 +930,7 @@

Library Stdlib.ZArith.BinInt

-

Proofs of specifications for bitwise operations

+

Proofs of specifications for bitwise operations

@@ -1109,7 +1109,7 @@

Library Stdlib.ZArith.BinInt

-

Comparison and opposite

+

Comparison and opposite

@@ -1121,7 +1121,7 @@

Library Stdlib.ZArith.BinInt

-

Comparison and addition

+

Comparison and addition

@@ -1133,7 +1133,7 @@

Library Stdlib.ZArith.BinInt

-

testbit in terms of comparison.

+

testbit in terms of comparison.

diff --git a/master/stdlib/Stdlib.ZArith.BinIntDef.html b/master/stdlib/Stdlib.ZArith.BinIntDef.html index d0d4b749d5..dc3b2084f0 100644 --- a/master/stdlib/Stdlib.ZArith.BinIntDef.html +++ b/master/stdlib/Stdlib.ZArith.BinIntDef.html @@ -61,7 +61,7 @@

Library Stdlib.ZArith.BinIntDef

-

Binary Integers, Definitions of Operations

+

Binary Integers, Definitions of Operations

@@ -82,7 +82,7 @@

Library Stdlib.ZArith.BinIntDef

-

Nicer names Z.pos and Z.neg for constructors

+

Nicer names Z.pos and Z.neg for constructors

@@ -95,7 +95,7 @@

Library Stdlib.ZArith.BinIntDef

-

Constants

+

Constants

@@ -109,7 +109,7 @@

Library Stdlib.ZArith.BinIntDef

-

Successor

+

Successor

@@ -121,7 +121,7 @@

Library Stdlib.ZArith.BinIntDef

-

Predecessor

+

Predecessor

@@ -133,7 +133,7 @@

Library Stdlib.ZArith.BinIntDef

-

Square

+

Square

@@ -150,7 +150,7 @@

Library Stdlib.ZArith.BinIntDef

-

Sign function

+

Sign function

@@ -201,7 +201,7 @@

Library Stdlib.ZArith.BinIntDef

-

Absolute value

+

Absolute value

@@ -218,7 +218,7 @@

Library Stdlib.ZArith.BinIntDef

-

Conversions

+

Conversions

@@ -333,7 +333,7 @@

Library Stdlib.ZArith.BinIntDef

-

Iteration of a function

+

Iteration of a function

@@ -358,7 +358,7 @@

Library Stdlib.ZArith.BinIntDef

-

Parity functions

+

Parity functions

@@ -376,7 +376,7 @@

Library Stdlib.ZArith.BinIntDef

-

Division by two

+

Division by two

@@ -403,7 +403,7 @@

Library Stdlib.ZArith.BinIntDef

NB: Z.quot2 used to be named Z.div2 in Coq <= 8.3
-

Base-2 logarithm

+

Base-2 logarithm

@@ -420,7 +420,7 @@

Library Stdlib.ZArith.BinIntDef

-

Square root

+

Square root

@@ -436,7 +436,7 @@

Library Stdlib.ZArith.BinIntDef

-

Greatest Common Divisor

+

Greatest Common Divisor

@@ -479,7 +479,7 @@

Library Stdlib.ZArith.BinIntDef

-

Bitwise functions

+

Bitwise functions

diff --git a/master/stdlib/Stdlib.ZArith.Int.html b/master/stdlib/Stdlib.ZArith.Int.html index 5593d00a71..4a5c6d9f3c 100644 --- a/master/stdlib/Stdlib.ZArith.Int.html +++ b/master/stdlib/Stdlib.ZArith.Int.html @@ -48,7 +48,7 @@

Library Stdlib.ZArith.Int

-

An light axiomatization of integers (used in MSetAVL).

+

An light axiomatization of integers (used in MSetAVL).

@@ -73,7 +73,7 @@

Library Stdlib.ZArith.Int

-

A specification of integers

+

A specification of integers

@@ -209,7 +209,7 @@

Library Stdlib.ZArith.Int

-

Facts and tactics using Int

+

Facts and tactics using Int

@@ -563,7 +563,7 @@

Library Stdlib.ZArith.Int

-

An implementation of Int

+

An implementation of Int

diff --git a/master/stdlib/Stdlib.ZArith.ZArith_dec.html b/master/stdlib/Stdlib.ZArith.ZArith_dec.html index 4dbe8b24de..01786099a8 100644 --- a/master/stdlib/Stdlib.ZArith.ZArith_dec.html +++ b/master/stdlib/Stdlib.ZArith.ZArith_dec.html @@ -73,7 +73,7 @@

Library Stdlib.ZArith.ZArith_dec

-

Decidability of order on binary integers

+

Decidability of order on binary integers

@@ -115,7 +115,7 @@

Library Stdlib.ZArith.ZArith_dec

-

Cotransitivity of order on binary integers

+

Cotransitivity of order on binary integers

diff --git a/master/stdlib/Stdlib.ZArith.Zabs.html b/master/stdlib/Stdlib.ZArith.Zabs.html index 8889b4cf85..0ba735874b 100644 --- a/master/stdlib/Stdlib.ZArith.Zabs.html +++ b/master/stdlib/Stdlib.ZArith.Zabs.html @@ -73,7 +73,7 @@

Library Stdlib.ZArith.Zabs

-

Properties of absolute value

+

Properties of absolute value

@@ -91,7 +91,7 @@

Library Stdlib.ZArith.Zabs

-

Proving a property of the absolute value by cases

+

Proving a property of the absolute value by cases

@@ -116,7 +116,7 @@

Library Stdlib.ZArith.Zabs

-

Some results about the sign function.

+

Some results about the sign function.

diff --git a/master/stdlib/Stdlib.ZArith.Zbitwise.html b/master/stdlib/Stdlib.ZArith.Zbitwise.html index 548165145e..ea87c6a8a0 100644 --- a/master/stdlib/Stdlib.ZArith.Zbitwise.html +++ b/master/stdlib/Stdlib.ZArith.Zbitwise.html @@ -151,13 +151,13 @@

Library Stdlib.ZArith.Zbitwise

Explicit formulas for carry bits during addition. Conceptually, the theory -

here matches the bitblasting rules for integers. However, the vector of

+

here matches the bitblasting rules for integers. However, the vector of

-

carry bits is represented as a Z so it can be used in bitwise operations.

+

carry bits is represented as a Z so it can be used in bitwise operations.

-

The last three lemmas about addcarries are the main interface, but the

+

The last three lemmas about addcarries are the main interface, but the

-

generalization adccarries is provided as the same theory applies.

+

generalization adccarries is provided as the same theory applies.

diff --git a/master/stdlib/Stdlib.ZArith.Zbool.html b/master/stdlib/Stdlib.ZArith.Zbool.html index 4cbbcfde37..2948b1ea22 100644 --- a/master/stdlib/Stdlib.ZArith.Zbool.html +++ b/master/stdlib/Stdlib.ZArith.Zbool.html @@ -151,7 +151,7 @@

Library Stdlib.ZArith.Zbool

Properties of the deprecated Zeq_bool
-

Boolean operations from decidability of order

+

Boolean operations from decidability of order

The decidability of equality and order relations over type Z gives some boolean functions with the adequate specification.
@@ -183,7 +183,7 @@

Library Stdlib.ZArith.Zbool

-

Boolean comparisons of binary integers

+

Boolean comparisons of binary integers

diff --git a/master/stdlib/Stdlib.ZArith.Zcompare.html b/master/stdlib/Stdlib.ZArith.Zcompare.html index bc23fe23de..bee743e411 100644 --- a/master/stdlib/Stdlib.ZArith.Zcompare.html +++ b/master/stdlib/Stdlib.ZArith.Zcompare.html @@ -67,7 +67,7 @@

Library Stdlib.ZArith.Zcompare

-

Comparison on integers

+

Comparison on integers

@@ -82,7 +82,7 @@

Library Stdlib.ZArith.Zcompare

-

Transitivity of comparison

+

Transitivity of comparison

@@ -99,7 +99,7 @@

Library Stdlib.ZArith.Zcompare

-

Comparison and opposite

+

Comparison and opposite

@@ -111,7 +111,7 @@

Library Stdlib.ZArith.Zcompare

-

Comparison first-order specification

+

Comparison first-order specification

@@ -123,7 +123,7 @@

Library Stdlib.ZArith.Zcompare

-

Comparison and addition

+

Comparison and addition

@@ -145,7 +145,7 @@

Library Stdlib.ZArith.Zcompare

-

Successor and comparison

+

Successor and comparison

@@ -157,7 +157,7 @@

Library Stdlib.ZArith.Zcompare

-

Multiplication and comparison

+

Multiplication and comparison

@@ -178,7 +178,7 @@

Library Stdlib.ZArith.Zcompare

-

Relating x ?= y to =, <=, <, >= or >

+

Relating x ?= y to =, <=, <, >= or >

diff --git a/master/stdlib/Stdlib.ZArith.Zdiv.html b/master/stdlib/Stdlib.ZArith.Zdiv.html index 9eb9dedfba..bcbcd2897f 100644 --- a/master/stdlib/Stdlib.ZArith.Zdiv.html +++ b/master/stdlib/Stdlib.ZArith.Zdiv.html @@ -48,7 +48,7 @@

Library Stdlib.ZArith.Zdiv

-

Euclidean Division

+

Euclidean Division

@@ -88,7 +88,7 @@

Library Stdlib.ZArith.Zdiv

-

Main division theorems

+

Main division theorems

@@ -237,7 +237,7 @@

Library Stdlib.ZArith.Zdiv

-

Basic values of divisions and modulo.

+

Basic values of divisions and modulo.

@@ -293,7 +293,7 @@

Library Stdlib.ZArith.Zdiv

-

Order results about Z.modulo and Z.div

+

Order results about Z.modulo and Z.div

@@ -451,7 +451,7 @@

Library Stdlib.ZArith.Zdiv

-

Relations between usual operations and Z.modulo and Z.div

+

Relations between usual operations and Z.modulo and Z.div

@@ -690,7 +690,7 @@

Library Stdlib.ZArith.Zdiv

-

Compatibility

+

Compatibility

@@ -726,7 +726,7 @@

Library Stdlib.ZArith.Zdiv

-

A direct way to compute Z.modulo

+

A direct way to compute Z.modulo

@@ -778,9 +778,9 @@

Library Stdlib.ZArith.Zdiv

Another convention is possible for division by negative numbers: -

quotient is always the biggest integer smaller than or equal to a/b

+

quotient is always the biggest integer smaller than or equal to a/b

-

remainder is hence always positive or null.

+

remainder is hence always positive or null.

diff --git a/master/stdlib/Stdlib.ZArith.Zeuclid.html b/master/stdlib/Stdlib.ZArith.Zeuclid.html index 00baac7e9a..ddb18057b9 100644 --- a/master/stdlib/Stdlib.ZArith.Zeuclid.html +++ b/master/stdlib/Stdlib.ZArith.Zeuclid.html @@ -62,7 +62,7 @@

Library Stdlib.ZArith.Zeuclid

-

Definitions of division for binary integers, Euclid convention.

+

Definitions of division for binary integers, Euclid convention.

diff --git a/master/stdlib/Stdlib.ZArith.Zeven.html b/master/stdlib/Stdlib.ZArith.Zeven.html index 31714468cd..238e591834 100644 --- a/master/stdlib/Stdlib.ZArith.Zeven.html +++ b/master/stdlib/Stdlib.ZArith.Zeven.html @@ -175,7 +175,7 @@

Library Stdlib.ZArith.Zeven

-

Definition of Z.quot2, Z.div2 and properties wrt Zeven

+

Definition of Z.quot2, Z.div2 and properties wrt Zeven

and Zodd
diff --git a/master/stdlib/Stdlib.ZArith.Zgcd_alt.html b/master/stdlib/Stdlib.ZArith.Zgcd_alt.html index d89f9faab3..24cb2de14b 100644 --- a/master/stdlib/Stdlib.ZArith.Zgcd_alt.html +++ b/master/stdlib/Stdlib.ZArith.Zgcd_alt.html @@ -48,7 +48,7 @@

Library Stdlib.ZArith.Zgcd_alt

-

Zgcd_alt : an alternate version of Z.gcd, based on Euclid's algorithm

+

Zgcd_alt : an alternate version of Z.gcd, based on Euclid's algorithm

diff --git a/master/stdlib/Stdlib.ZArith.Zhints.html b/master/stdlib/Stdlib.ZArith.Zhints.html index 0d640d8083..c945802113 100644 --- a/master/stdlib/Stdlib.ZArith.Zhints.html +++ b/master/stdlib/Stdlib.ZArith.Zhints.html @@ -101,7 +101,7 @@

Library Stdlib.ZArith.Zhints

-

Simplification lemmas

+

Simplification lemmas

@@ -115,7 +115,7 @@

Library Stdlib.ZArith.Zhints

  
-

Reversible simplification lemmas (no loss of information)

+

Reversible simplification lemmas (no loss of information)

Should clearly be declared as hints
@@ -170,7 +170,7 @@

Library Stdlib.ZArith.Zhints

  
-

Irreversible simplification lemmas

+

Irreversible simplification lemmas

Probably to be declared as hints, when no other simplification is possible
diff --git a/master/stdlib/Stdlib.ZArith.Znat.html b/master/stdlib/Stdlib.ZArith.Znat.html index 432a75b380..537e633a75 100644 --- a/master/stdlib/Stdlib.ZArith.Znat.html +++ b/master/stdlib/Stdlib.ZArith.Znat.html @@ -94,7 +94,7 @@

Library Stdlib.ZArith.Znat

-

Chains of conversions

+

Chains of conversions

@@ -147,7 +147,7 @@

Library Stdlib.ZArith.Znat

-

Conversions between Z and N

+

Conversions between Z and N

@@ -551,7 +551,7 @@

Library Stdlib.ZArith.Znat

-

Conversions between Z and nat

+

Conversions between Z and nat

diff --git a/master/stdlib/Stdlib.ZArith.Znumtheory.html b/master/stdlib/Stdlib.ZArith.Znumtheory.html index c274f48f44..a001d52dfb 100644 --- a/master/stdlib/Stdlib.ZArith.Znumtheory.html +++ b/master/stdlib/Stdlib.ZArith.Znumtheory.html @@ -244,7 +244,7 @@

Library Stdlib.ZArith.Znumtheory

-

Greatest common divisor (gcd).

+

Greatest common divisor (gcd).

@@ -306,7 +306,7 @@

Library Stdlib.ZArith.Znumtheory

-

Extended Euclid algorithm.

+

Extended Euclid algorithm.

@@ -394,7 +394,7 @@

Library Stdlib.ZArith.Znumtheory

-

Bezout's coefficients

+

Bezout's coefficients

@@ -430,7 +430,7 @@

Library Stdlib.ZArith.Znumtheory

-

Relative primality

+

Relative primality

@@ -524,7 +524,7 @@

Library Stdlib.ZArith.Znumtheory

-

Primality

+

Primality

diff --git a/master/stdlib/Stdlib.ZArith.Zorder.html b/master/stdlib/Stdlib.ZArith.Zorder.html index e1cbf4b2e1..6422b4fcaa 100644 --- a/master/stdlib/Stdlib.ZArith.Zorder.html +++ b/master/stdlib/Stdlib.ZArith.Zorder.html @@ -70,7 +70,7 @@

Library Stdlib.ZArith.Zorder

Properties of the order relations on binary integers
-

Trichotomy

+

Trichotomy

@@ -85,7 +85,7 @@

Library Stdlib.ZArith.Zorder

-

Decidability of equality and order on Z

+

Decidability of equality and order on Z

@@ -111,7 +111,7 @@

Library Stdlib.ZArith.Zorder

-

Relating strict and large orders

+

Relating strict and large orders

@@ -151,7 +151,7 @@

Library Stdlib.ZArith.Zorder

-

Equivalence and order properties

+

Equivalence and order properties

@@ -275,11 +275,11 @@

Library Stdlib.ZArith.Zorder

-

Compatibility of order and operations on Z

+

Compatibility of order and operations on Z

-

Successor

+

Successor

@@ -457,7 +457,7 @@

Library Stdlib.ZArith.Zorder

-

Addition

+

Addition

Compatibility of addition wrt to order
@@ -527,7 +527,7 @@

Library Stdlib.ZArith.Zorder

-

Multiplication

+

Multiplication

Compatibility of multiplication by a positive wrt to order
@@ -655,7 +655,7 @@

Library Stdlib.ZArith.Zorder

-

Square

+

Square

Simplification of square wrt order
@@ -670,7 +670,7 @@

Library Stdlib.ZArith.Zorder

-

Equivalence between inequalities

+

Equivalence between inequalities

diff --git a/master/stdlib/Stdlib.ZArith.Zpow_def.html b/master/stdlib/Stdlib.ZArith.Zpow_def.html index 66ae502d0f..ec3a49ef61 100644 --- a/master/stdlib/Stdlib.ZArith.Zpow_def.html +++ b/master/stdlib/Stdlib.ZArith.Zpow_def.html @@ -52,7 +52,7 @@

Library Stdlib.ZArith.Zpow_def

-

Power functions over Z

+

Power functions over Z

diff --git a/master/stdlib/Stdlib.ZArith.Zpow_facts.html b/master/stdlib/Stdlib.ZArith.Zpow_facts.html index 4ac3058c13..b3b2c8dc1c 100644 --- a/master/stdlib/Stdlib.ZArith.Zpow_facts.html +++ b/master/stdlib/Stdlib.ZArith.Zpow_facts.html @@ -131,7 +131,7 @@

Library Stdlib.ZArith.Zpow_facts

-

Z.pow and modulo

+

Z.pow and modulo

@@ -207,7 +207,7 @@

Library Stdlib.ZArith.Zpow_facts

-

Z.square: a direct definition of z^2

+

Z.square: a direct definition of z^2

diff --git a/master/stdlib/Stdlib.ZArith.Zpower.html b/master/stdlib/Stdlib.ZArith.Zpower.html index ef850326f3..2c2b85189c 100644 --- a/master/stdlib/Stdlib.ZArith.Zpower.html +++ b/master/stdlib/Stdlib.ZArith.Zpower.html @@ -53,7 +53,7 @@

Library Stdlib.ZArith.Zpower

-

Power functions over Z

+

Power functions over Z

@@ -153,7 +153,7 @@

Library Stdlib.ZArith.Zpower

-

Powers of 2

+

Powers of 2

@@ -282,7 +282,7 @@

Library Stdlib.ZArith.Zpower

-

Division by a power of two.

+

Division by a power of two.

diff --git a/master/stdlib/Stdlib.ZArith.Zquot.html b/master/stdlib/Stdlib.ZArith.Zquot.html index 3430e75ccd..311596b268 100644 --- a/master/stdlib/Stdlib.ZArith.Zquot.html +++ b/master/stdlib/Stdlib.ZArith.Zquot.html @@ -153,7 +153,7 @@

Library Stdlib.ZArith.Zquot

-

Division and Opposite

+

Division and Opposite

@@ -232,7 +232,7 @@

Library Stdlib.ZArith.Zquot

-

Unicity results

+

Unicity results

@@ -265,7 +265,7 @@

Library Stdlib.ZArith.Zquot

-

Order results about Zrem and Zquot

+

Order results about Zrem and Zquot

@@ -363,7 +363,7 @@

Library Stdlib.ZArith.Zquot

-

Relations between usual operations and Z.modulo and Z.div

+

Relations between usual operations and Z.modulo and Z.div

@@ -527,7 +527,7 @@

Library Stdlib.ZArith.Zquot

-

Interaction with "historic" Zdiv

+

Interaction with "historic" Zdiv

diff --git a/master/stdlib/Stdlib.ZArith.auxiliary.html b/master/stdlib/Stdlib.ZArith.auxiliary.html index e72f386993..dc8ca0e5b5 100644 --- a/master/stdlib/Stdlib.ZArith.auxiliary.html +++ b/master/stdlib/Stdlib.ZArith.auxiliary.html @@ -67,7 +67,7 @@

Library Stdlib.ZArith.auxiliary

-

Moving terms from one side to the other of an inequality

+

Moving terms from one side to the other of an inequality

diff --git a/master/stdlib/Stdlib.btauto.Algebra.html b/master/stdlib/Stdlib.btauto.Algebra.html index 2c3bfb5a78..d1335346a1 100644 --- a/master/stdlib/Stdlib.btauto.Algebra.html +++ b/master/stdlib/Stdlib.btauto.Algebra.html @@ -143,7 +143,7 @@

Library Stdlib.btauto.Algebra

-

Global, inductive definitions.

+

Global, inductive definitions.

@@ -216,7 +216,7 @@

Library Stdlib.btauto.Algebra

-

The core reflexive part.

+

The core reflexive part.

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellNatInt.html b/master/stdlib/Stdlib.extraction.ExtrHaskellNatInt.html index 48ffb9a249..67c669cb7b 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellNatInt.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellNatInt.html @@ -61,11 +61,11 @@

Library Stdlib.extraction.ExtrHaskellNatInt

-

Disclaimer: trying to obtain efficient certified programs

+

Disclaimer: trying to obtain efficient certified programs

-

by extracting nat into Int is definitively *not* a good idea.

+

by extracting nat into Int is definitively *not* a good idea.

-

See comments in ExtrOcamlNatInt.v.

+

See comments in ExtrOcamlNatInt.v.

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellNatInteger.html b/master/stdlib/Stdlib.extraction.ExtrHaskellNatInteger.html index 9eea317f7e..b552e42281 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellNatInteger.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellNatInteger.html @@ -61,11 +61,11 @@

Library Stdlib.extraction.ExtrHaskellNatInteger

-

Disclaimer: trying to obtain efficient certified programs

+

Disclaimer: trying to obtain efficient certified programs

-

by extracting nat into Integer isn't necessarily a good idea.

+

by extracting nat into Integer isn't necessarily a good idea.

-

See comments in ExtrOcamlNatInt.v.

+

See comments in ExtrOcamlNatInt.v.

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellNatNum.html b/master/stdlib/Stdlib.extraction.ExtrHaskellNatNum.html index e1deabdb85..cbe1e33eec 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellNatNum.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellNatNum.html @@ -46,15 +46,15 @@

Library Stdlib.extraction.ExtrHaskellNatNum

-

Efficient (but uncertified) extraction of usual nat functions

+

Efficient (but uncertified) extraction of usual nat functions

-

into equivalent versions in Haskell's Prelude that are defined

+

into equivalent versions in Haskell's Prelude that are defined

-

for any Num typeclass instances. Useful in combination with

+

for any Num typeclass instances. Useful in combination with

-

Extract Inductive nat that maps nat onto a Haskell type that

+

Extract Inductive nat that maps nat onto a Haskell type that

-

implements Num.

+

implements Num.

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellString.html b/master/stdlib/Stdlib.extraction.ExtrHaskellString.html index 5436597d08..cea7818ee7 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellString.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellString.html @@ -46,7 +46,7 @@

Library Stdlib.extraction.ExtrHaskellString

-

Special handling of ascii and strings for extraction to Haskell.

+

Special handling of ascii and strings for extraction to Haskell.

@@ -67,16 +67,16 @@

Library Stdlib.extraction.ExtrHaskellString

-

At the moment, Coq's extraction has no way to add extra import

+

At the moment, Coq's extraction has no way to add extra import

-

statements to the extracted Haskell code. You will have to

+

statements to the extracted Haskell code. You will have to

-

manually add:

+

manually add:

* -

import qualified Data.Bits

+

import qualified Data.Bits

-

import qualified Data.Char

+

import qualified Data.Char

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellZInt.html b/master/stdlib/Stdlib.extraction.ExtrHaskellZInt.html index 529a216e72..27dfc2f349 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellZInt.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellZInt.html @@ -61,11 +61,11 @@

Library Stdlib.extraction.ExtrHaskellZInt

-

Disclaimer: trying to obtain efficient certified programs

+

Disclaimer: trying to obtain efficient certified programs

-

by extracting Z into Int is definitively *not* a good idea.

+

by extracting Z into Int is definitively *not* a good idea.

-

See comments in ExtrOcamlNatInt.v.

+

See comments in ExtrOcamlNatInt.v.

diff --git a/master/stdlib/Stdlib.extraction.ExtrHaskellZNum.html b/master/stdlib/Stdlib.extraction.ExtrHaskellZNum.html index 2e65eb8449..094b6c1860 100644 --- a/master/stdlib/Stdlib.extraction.ExtrHaskellZNum.html +++ b/master/stdlib/Stdlib.extraction.ExtrHaskellZNum.html @@ -46,15 +46,15 @@

Library Stdlib.extraction.ExtrHaskellZNum

-

Efficient (but uncertified) extraction of usual Z functions

+

Efficient (but uncertified) extraction of usual Z functions

-

into equivalent versions in Haskell's Prelude that are defined

+

into equivalent versions in Haskell's Prelude that are defined

-

for any Num typeclass instances. Useful in combination with

+

for any Num typeclass instances. Useful in combination with

-

Extract Inductive Z that maps Z onto a Haskell type that

+

Extract Inductive Z that maps Z onto a Haskell type that

-

implements Num.

+

implements Num.

diff --git a/master/stdlib/Stdlib.omega.PreOmega.html b/master/stdlib/Stdlib.omega.PreOmega.html index f177aac16c..b97edd0af6 100644 --- a/master/stdlib/Stdlib.omega.PreOmega.html +++ b/master/stdlib/Stdlib.omega.PreOmega.html @@ -54,7 +54,7 @@

Library Stdlib.omega.PreOmega

-

Z.div_mod_to_equations, Z.quot_rem_to_equations, Z.to_euclidean_division_equations:

+

Z.div_mod_to_equations, Z.quot_rem_to_equations, Z.to_euclidean_division_equations:

the tactics for preprocessing Z.div and Z.modulo, Z.quot and Z.rem
diff --git a/master/stdlib/index_global_T.html b/master/stdlib/index_global_T.html index 318575ec98..0c2cfba09a 100644 --- a/master/stdlib/index_global_T.html +++ b/master/stdlib/index_global_T.html @@ -527,8 +527,8 @@ t [abbreviation, in Stdlib.micromega.VarMap]
t [inductive, in Stdlib.micromega.VarMap]
t [inductive, in Stdlib.Vectors.Fin]
-Tactics [library]
Tactics [library]
+Tactics [library]
Tadd [definition, in Stdlib.rtauto.Bintree]
tail [abbreviation, in Stdlib.Lists.List]
tail [definition, in Stdlib.micromega.Env]
@@ -576,8 +576,8 @@ tan_PI [lemma, in Stdlib.Reals.Rtrigo_calc]
target [projection, in Stdlib.micromega.ZifyClasses]
target_prop [projection, in Stdlib.micromega.ZifyClasses]
-Tauto [library]
Tauto [library]
+Tauto [library]
tauto_checker_sound [lemma, in Stdlib.micromega.Tauto]
tauto_checker [definition, in Stdlib.micromega.Tauto]
TBOp [projection, in Stdlib.micromega.ZifyClasses]
diff --git a/master/stdlib/index_global_W.html b/master/stdlib/index_global_W.html index 015ea39209..5da261edc6 100644 --- a/master/stdlib/index_global_W.html +++ b/master/stdlib/index_global_W.html @@ -928,8 +928,8 @@ WEqProperties_fun.Add [definition, in Stdlib.FSets.FSetEqProperties]
WEqProperties_fun.MP [module, in Stdlib.FSets.FSetEqProperties]
WEqProperties_fun [module, in Stdlib.FSets.FSetEqProperties]
-Wf [library]
Wf [library]
+Wf [library]
WFacts [module, in Stdlib.MSets.MSetFacts]
WFacts [module, in Stdlib.FSets.FMapFacts]
WFacts [module, in Stdlib.FSets.FSetFacts]
diff --git a/master/stdlib/index_library_T.html b/master/stdlib/index_library_T.html index 19f12a24e0..69a08413dc 100644 --- a/master/stdlib/index_library_T.html +++ b/master/stdlib/index_library_T.html @@ -523,10 +523,10 @@

T (library)

-Tactics
Tactics
-Tauto
+Tactics
Tauto
+Tauto
Transitive_Closure