Skip to content
/ lforge Public

Embedding the Forge specification language via a machine translation as a language-level feature of the Lean theorem prover.

Notifications You must be signed in to change notification settings

jchen/lforge

Repository files navigation

Lforge

Lforge is an implementation of Forge/Alloy syntax via a translation as a language extension of Lean 4.

This repository is the software artifact for "Lforge: Extending Forge with an Interactive Theorem Prover", my Math-CS senior honor thesis. The paper can be found here.

Installation

To use Lforge in your project, add the following line to your lakefile.lean:

require Lforge from git "https://github.com/jchen/lforge.git" @ "main"

Then, in files that you wish to include Forge specifications, you should add

import Lforge

as the import statement. After which, you can include Forge code and syntax as usual. Hovering over definitions will show the specific generated declarations, and Lforge will prompt you if any syntax is unsupported.

About

Embedding the Forge specification language via a machine translation as a language-level feature of the Lean theorem prover.

Resources

Stars

Watchers

Forks

Packages

No packages published