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

Module HConstrSource

Sourcetype t

Hashconsed constr in an implicit environment, keeping variables which have different types and bodies separate.

For instance the x subterms in fun x : bool => x and fun x : nat => x are different (and have different hashes modulo accidental collision) and the x subterms in fun (y:nat) (x:bool) => x and fun (x:bool) (y:nat) => x are different (one is Rel 1, the other is Rel 2) but the x subterms in fun (y:nat) (x:bool) => x and fun (y:bool) (x:bool) => x are shared.

This allows using it as a cache key while typechecking.

Hashconsing information of subterms is also kept.

Sourceval self : t -> Constr.constr
Sourceval refcount : t -> int

How many times this term appeared as a subterm of the argument to of_constr.

Sourceval of_constr : Environ.env -> Constr.constr -> t

Build a t without hashconsing. Its refcount may be 1 even if an identical term was already seen.

May not be used to build Rel.

This is intended for the reconstruction of the inductive type when checking CaseInvert.

Sourcemodule Tbl : sig ... end

Imperative tables indexed by HConstr.t. The interfaces exposed are the same as Hashtbl but are not guaranteed to be implemented by Hashtbl.

Sourceval hcons : t -> Constr.t
OCaml

Innovation. Community. Security.