package coq

  1. Overview
  2. Docs
Formal proof management system

Install

Dune Dependency

Authors

Maintainers

Sources

coq-8.15.2.tar.gz
sha256=13a67c0a4559ae22e9765c8fdb88957b16c2b335a2d5f47e4d6d9b4b8b299926

doc/coq-core.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 int * Univ.ContextSet.t
    (*

    Number of surrounding bound universes + local constraints

    *)
Sourcetype opaquetab
Sourcetype 'cooking_info opaque
Sourceval empty_opaquetab : opaquetab

Create a fresh handle in the table.

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 -> 'c opaque -> 'c opaque
Sourceval discharge_opaque : 'cooking_info -> 'cooking_info opaque -> 'cooking_info opaque
Sourceval repr_handle : opaque_handle -> int
Sourceval mem_handle : opaque_handle -> opaquetab -> bool
OCaml

Innovation. Community. Security.