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.kernel/Opaqueproof/index.html

Module OpaqueproofSource

This module implements the handling of opaque proof terms. Opaque proof terms are special since:

  • they can be lazily computed and substituted
  • they are stored in an optionally loaded segment of .vo files An opaque proof terms holds an index into an opaque table.
Sourcetype 'a delayed_universes =
  1. | PrivateMonomorphic of 'a
  2. | PrivatePolymorphic of Univ.ContextSet.t
    (*

    local constraints

    *)
Sourcetype opaquetab
Sourcetype opaque
Sourceval empty_opaquetab : opaquetab
Sourcetype opaque_proofterm = Constr.t * unit delayed_universes
Sourcetype opaque_handle

Opaque terms are indexed by their library dirpath and an integer index. The two functions above activate this indirect storage, by telling how to retrieve terms.

Sourceval subst_opaque : Mod_subst.substitution -> opaque -> opaque
Sourceval discharge_opaque : Cooking.cooking_info -> opaque -> opaque
Sourceval repr_handle : opaque_handle -> int
Sourceval mem_handle : opaque_handle -> opaquetab -> bool
OCaml

Innovation. Community. Security.