package rocq-runtime

  1. Overview
  2. Docs
The Rocq Prover -- Core Binaries and Tools

Install

Dune Dependency

Authors

Maintainers

Sources

rocq-9.0.0.tar.gz
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be

doc/rocq-runtime.pretyping/Find_subterm/index.html

Module Find_subtermSource

Finding subterms, possibly up to some unification function, possibly at some given occurrences

Sourceexception SubtermUnificationError of Pretype_errors.subterm_unification_error

A testing function is typically a unification function returning a substitution or failing with Error, together with a function to merge substitutions and an initial substitution; last_found is used for error messages and it has to be initialized with None.

Sourcetype ('a, 'b) testing_function = {
  1. match_fun : int -> 'a -> EConstr.constr -> ('b, unit) Result.t;
  2. merge_fun : 'b -> 'a -> ('a, unit) Result.t;
  3. mutable testing_state : 'a;
  4. mutable last_found : Pretype_errors.position_reporting option;
}

This is the basic testing function, looking for exact matches of a closed term

replace_term_occ_modulo occl test mk c looks in c for subterm modulo a testing function test and replaces successfully matching subterms at the indicated occurrences occl with mk (); it turns an Error value returned by the merge_fun function into a SubtermUnificationError.

replace_term_occ_decl_modulo is similar to replace_term_occ_modulo but for a named_declaration.

subst_closed_term_occ occl c d replaces occurrences of closed c at positions occl by Rel 1 in d (see also Note OCC), unifying universes which results in a set of constraints.

subst_closed_term_occ_decl evd occl c decl replaces occurrences of closed c at positions occl by Rel 1 in decl.

OCaml

Innovation. Community. Security.