package beluga
Implementation of contextual modal logic for reasoning with higher-order abstract syntax
Install
Dune Dependency
Authors
Maintainers
Sources
beluga-1.1.tbz
sha256=a6b4e3b3b51cd4cb5575b6f5cf7da88aa37027e273925752a50a3f7c97f0ed8c
sha512=070d2ee1f67583bf0619d4209369234a9ee948145b674c2a6b05586e96f5a45b2b73cadea0c67958e4ed03eb72e9ca72a037758a4db0d7e7d57eb1a3a98efc9c
doc/index.html
Beluga
At a surface level, the Beluga implementation produces two executables:
- The Beluga CLI
- The Harpoon CLI
The Beluga CLI includes a legacy interactive mode interpreter. This is used by the replay
executable to interactively test some of the functionalities of the core Beluga system. This interactive system is mostly superseded by Harpoon.
Private Libraries
The Beluga system is comprised of multiple private libraries. These are listed below in topological order of dependency.
Support
is the library of miscellaneous utility functions, data structures, and extensions to imported libraries.Optparser
is a library for parsing CLI arguments using combinators.Beluga_syntax
is the library defining the data types for the various syntaxes and common syntactic elements of Beluga and Harpoon.Beluga_parser
is the library for parsing Beluga signatures and Harpoon commands.Beluga_html
is a library for pretty-printing external Beluga signatures to HTML.Beluga
is the core library of Beluga, which deals with signature reconstruction, type-checking, coverage-checking and termination-checking. It also features modules handling the legacy interactive mode for Beluga, as well as proof search using logic programming.Harpoon
is the new interactive frontend to Beluga.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page