package lambdapi

  1. Overview
  2. Docs
Proof assistant for the λΠ-calculus modulo rewriting

Install

Dune Dependency

Authors

Maintainers

Sources

lambdapi-2.5.1.tbz
sha256=2c251021b6fac40c05282ca183902da5b1008e69d9179d7a9543905c2c21a28a
sha512=69535f92766e6fedc2675fc214f0fb699bde2a06aa91d338c93c99756235a293cf16776f6328973dda07cf2ad402e58fe3104a08f1a896990c1778b42f7f9fcf

doc/lambdapi.core/Core/Infer/index.html

Module Core.InferSource

Type inference and checking

Sourceval infer_noexn : Term.problem -> Term.ctxt -> Term.term -> (Term.term * Term.term) option

infer_noexn p ctx t returns [Some(t',a)] where [t'] is a refinement of [t] and [a] is some type for [t'] in the context [ctx], and [None] otherwise, possibly adding new constraints in [p]. The metavariables of [p] are updated when a metavariable is instantiated or created. [ctx] must be well sorted.

Sourceval check_noexn : Term.problem -> Term.ctxt -> Term.term -> Term.term -> Term.term option

check_noexn p ctx t a returns Some t' if t can be refined to t' of type a in context ctx, and None otherwise, possibly adding new constraints in p. The metavariables of p are updated when a metavariable is instantiated or created. The context ctx and the type a must be well sorted.

Sourceval check_sort_noexn : Term.problem -> Term.ctxt -> Term.term -> (Term.term * Term.term) option
OCaml

Innovation. Community. Security.