Skip to content

This is a Coq formalization of Damas-Milner type system and its algorithm W.

License

Notifications You must be signed in to change notification settings

rafaelcgs10/W-in-Coq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

W-in-Coq

This is a Coq formalization of Damas-Milner type system and its algorithm W.

Correctness (soundness) and completeness of W have been proved.

This work is strongly based on Catherine Dubois paper "Certification of a Type Inference Tool for ML: Damas-Milner within Coq". But, in contrast, I decided to use LTac automation, dependent types and a modification of "The Hoare State Monad".

Also, this work uses a modified version of the unification in Coq by Rodrigo Ribeiro. More information about his unification in "A Mechanized Textbook Proof of a Type Unification Algorithm".

The extracted code is fully executable and can be found in the src/extraction folder.

To compile the Coq code run make in the root folder.

To compile the extraced code run stack build in src/extraction folder.

Note: This is a work in progress! Some parts are still quite messy!

Tested with coq 8.9.0.

About

This is a Coq formalization of Damas-Milner type system and its algorithm W.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published