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

Module TypeopsSource

Typing functions (not yet tagged as safe)

They return unsafe judgments that are "in context" of a set of (local) universe variables (the ones that appear in the term) and associated constraints. In case of polymorphic definitions, these variables and constraints will be generalized.

When typechecking a term it may be updated to fix relevance marks. Do not discard the result.

Basic operations of the typing machine.

If j is the judgement $ c:t $ , then assumption_of_judgement env j returns the type $ c $ , checking that $ t $ is a sort.

Sourceval assumption_of_judgment : Environ.env -> Environ.unsafe_judgment -> Sorts.relevance
Sourceval type1 : Constr.types

Type of sorts.

Sourceval type_of_sort : Sorts.t -> Constr.types
Sourceval type_of_relative : Environ.env -> int -> Constr.types

Type of a bound variable.

Sourceval type_of_variable : Environ.env -> Names.variable -> Constr.types

Type of variables

Sourceval type_of_constant_in : Environ.env -> Constr.pconstant -> Constr.types

type of a constant

type of an applied projection

Sourceval sort_of_product : Environ.env -> Sorts.t -> Sorts.t -> Sorts.t

Type of a product.

Type of global references.

Returns the type of the global reference, by creating a fresh instance of polymorphic references and computing their instantiated universe context. The type should not be used without pushing it's universe context in the environmnent of usage. For non-universe-polymorphic constants, it does not matter.

Miscellaneous.
Sourceval check_hyps_inclusion : Environ.env -> ?evars:CClosure.evar_handler -> Names.GlobRef.t -> Constr.named_context -> unit

Check that hyps are included in env and fails with error otherwise

Types for primitives

Sourceval type_of_int : Environ.env -> Constr.types
Sourceval type_of_float : Environ.env -> Constr.types
Sourceval type_of_string : Environ.env -> Constr.types
Sourceval should_invert_case : Environ.env -> Sorts.relevance -> Constr.case_info -> bool

Matches must be annotated with the indices when going from SProp to non SProp (implies 1 or 0 constructors).

OCaml

Innovation. Community. Security.