Home

Awesome

<!--- This file was generated from `meta.yml`, please do not edit manually. Follow the instructions on https://github.com/coq-community/templates to regenerate. --->

Completeness and Decidability of Modal Logic Calculi

Docker CI Contributing Code of Conduct Zulip coqdoc DOI

This project presents machine-checked constructive proofs of soundness, completeness, decidability, and the small-model property for the logics K, K*, CTL, and PDL (with and without converse).

For all considered logics, we prove soundness and completeness of their respective Hilbert-style axiomatization. For K, K*, and CTL, we also prove soundness and completeness for Gentzen systems (i.e., sequent calculi).

For each logic, the central construction is a pruning-based algorithm computing for a given formula either a satisfying model of bounded size or a proof of its negation. The completeness and decidability results then follow with soundness from the existence of said algorithm.

Meta

Building and installation instructions

The easiest way to install the latest released version of Completeness and Decidability of Modal Logic Calculi is via OPAM:

opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-comp-dec-modal

To instead build and install manually, do:

git clone https://github.com/coq-community/comp-dec-modal.git
cd comp-dec-modal
make   # or make -j <number-of-cores-on-your-machine> 
make install

Documentation

The developments for the individual logics are described in the publications listed above. The developments on K, K*, and CTL are described in the author's PhD thesis titled "A Machine-Checked Constructive Metatheory of Computation Tree Logic". The developments on PDL and PDL with converse are described in the CPP'18 paper.

Structure