Gabriel

Results 32 issues of Gabriel

Rewriting generates holes that must be transformed into existential variables by the type checker. Unification hints have been adapted to use that mechanism. Fixes issue #600 There is also a...

Simple coercions TODO - [x] use a better strategy than SNF to reduce coercions - [x] ensure holes generated by coercion are properly transformed into existential variables This pull request...

This pull request allows the rewriting engine to match on constant `TYPE`. This will allow to create coercions of the form ``` coercion coerce Set $x TYPE --> El $x;...

This pull request adds a coercion mechanism on top of the new typechecker. Adding such a mechanism involves: - creating a new symbol in its own signature that stands for...

Identifiers may contain $, ? or |, but not /. They may not begin with $ or ?. The identifier | is not valid (since it's the VBAR).

The following line does not typecheck: ``` symbol foo/bar: TYPE; ``` and yield the following error message ``` [...] The proof is not finished. ```

The first argument of the `Patt` data type is an integer option which was once set to `None` at scoping if the variable was linear and not used in the...

Introduce a function that allows to rewrite a term with a specific set of rewrite rules. In particular, it may be used to implement tactics that transform terms.

The translation of types to Why3 introduced in #769 is unsafe: we must ensure that the types translated as fresh constants in Why3 are inhabited. See https://github.com/Deducteam/lambdapi/pull/769#discussion_r772928743 for the original...

bug

running `dune build @fmt` prints ``` ocamlformat: Error while parsing .ocamlformat: For option "version": expecting "0.19.0" but got "0.15.0" ```