package lambdapi

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

lambdapi-2.4.0.tbz
sha256=739cab9a0a6c3ab0e7df210fb6fdcdb749a6fa70aa7ca59145da177c25428cb6
sha512=f1413e65259d1587d57d656a5153890c355fa339d981c0b038736bcaf53c698cc10466fbc77444d103c7b6ccb8d63290ff80a506d057bc199a29d53947e898c9

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