(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************)
open Names open Glob_term
(* [get_pattern_id pat] returns a list of all the variable appearing in [pat] *) val get_pattern_id : cases_pattern -> Id.t list
(* [pattern_to_term pat] returns a glob_constr corresponding to [pat]. [pat]mustnotcontainoccurrencesofanonymouspattern
*) val pattern_to_term : cases_pattern -> glob_constr
(* Somebasicfunctionstorebuildglob_constr IneachofthemthelocationisUtil.Loc.ghost
*) val mkGRef : GlobRef.t -> glob_constr val mkGVar : Id.t -> glob_constr val mkGApp : glob_constr * glob_constr list -> glob_constr val mkGLambda : Name.t * glob_constr * glob_constr -> glob_constr val mkGProd : Name.t * glob_constr * glob_constr -> glob_constr
(* we only build Evd.BinderType Anonymous holes *)
(* Somebasicfunctionstodecomposeglob_constrs Theseareanalogoustotheonesconstrs
*) val glob_decompose_app : glob_constr -> glob_constr * glob_constr list
(* [glob_make_eq t1 t2] build the glob_constr corresponding to [t2 = t1] *) val glob_make_eq : ?typ:glob_constr -> glob_constr -> glob_constr -> glob_constr
(* [glob_make_neq t1 t2] build the glob_constr corresponding to [t1 <> t2] *) val glob_make_neq : glob_constr -> glob_constr -> glob_constr
(* alpha_conversion functions *)
(* Replace the var mapped in the glob_constr/context *) val change_vars : Id.t Id.Map.t -> glob_constr -> glob_constr
(* [alpha_pat avoid pat] rename all the variables present in [pat] s.t. theresultdoesnotsharevariableswith[avoid].Thisfunctioncreate afreshvariableforeachoccurrenceoftheanonymouspattern.
Alsoreturnsamappingfromoldvariablestonewonesandtheconcatenationof [avoid]withthevariablesappearingintheresult.
*) val alpha_pat :
Id.Map.key list
-> Glob_term.cases_pattern
-> Glob_term.cases_pattern * Id.Map.key list * Id.t Id.Map.t
(* [alpha_rt avoid rt] alpha convert [rt] s.t. the result respects barendregt conventionsanddoesnotshareboundvariableswithavoid
*) val alpha_rt : Id.t list -> glob_constr -> glob_constr
(* same as alpha_rt but for case branches *) val alpha_br : Id.t list -> Glob_term.cases_clause -> Glob_term.cases_clause
(* Reduction function *) val replace_var_by_term :
Id.t
-> Glob_term.glob_constr
-> Glob_term.glob_constr
-> Glob_term.glob_constr
(* ids_of_pat:cases_pattern->Id.Set.t returnsthesetofvariablesappearinginapattern
*) val ids_of_pat : cases_pattern -> Id.Set.t val expand_as : glob_constr -> glob_constr
(* [resolve_and_replace_implicits ?expected_type env sigma rt] solves implicits of [rt] w.r.t. [env] and [sigma] and then replace them by their solution
*) val resolve_and_replace_implicits :
EConstr.types
-> Environ.env
-> Evd.evar_map
-> glob_constr
-> glob_constr
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.