Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Simple E-unification for second-order syntax.

License

fizruk/e2-unification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e2-unification

Haddock CI status

Simple E-unification for second-order syntax.

About

This is an experimental project, attempting to implement a generic unification procedure in presence of second-order equalities a la Fiore [1]. The idea is to make it powerful enough to get higher-order unification "for free" for a given language provided its 2nd-order syntax description and rewrite rules, and then use it for type inference for dependent type theories. A more obscure version of this approach has been implemented in an experimental rzk proof assistant and described in [2]. Implementation here corresponds more with the version presented at UNIF-2022 workshop [3].

This is active work-in-progress and may contain bugs and performance issues.

Development

The project is developed with both Stack and Nix (for GHCJS version).

Building with GHC

For quick local development and testing it is recommended to work with a GHC version, using Stack tool. Clone this project and simply run stack build:

git clone [email protected]:fizruk/simple-topes.git
cd simple-topes
stack build

References

[1] Marcelo P. Fiore, Ola Mahmoud (2013). Second-Order Algebraic Theories. CoRR, abs/1308.5409

[2] N. Kudasov. Functional Pearl: Dependent type inference via free higher-order unification. abs/2204.05653

[3] N. Kudasov. Higher-order unification from E-unification with second-order equations and parametrised metavariables. UNIF-2022 https://easychair.org/smart-program/FLoC2022/UNIF-2022-08-12.html#session:62460

About

Simple E-unification for second-order syntax.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published