package lambdapi

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

lambdapi-2.3.0.tbz
sha256=9b13c3121ef87cf4d3311a8a1db43db4be7f0e5e2a702fdaff04a3b3c432cb31
sha512=81e0760ca77cb862a5bdb8927aa37faf7141c4e2484a8163dad0a3eaa21cc691acb5f72279c78588c085f53dde4bd35186346378feac0ab55ac06a679cf2e60f

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