Mechanizing Focused Linear Logic in Coq - Bruno Xavier (23277136) (2018)
Linear logic has been used as a foundation (and inspiration) for the development of programming languages, logical frameworks and models for concurrency. Linear logic's cut-elimination and the completeness of focusing are two of its fundamental properties that have been exploited in such applications. Cut-elimination guarantees that linear logic is consistent and has the so-called sub-formula property. Focusing is a discipline for proof search that was introduced to reduce the search space, but has proved to have more value, as it allows one to specify the shapes of proofs available. This paper formalizes first-order linear logic in Coq and mechanizes the proof of cut-elimination and the completeness of focusing. Moreover, the implemented logic is used to encode an object logic, such as in a linear logical framework, and prove adequacy. Other Information Published in: Electronic Notes in Theoretical Computer Science License: http://creativecommons.org/licenses/by/4.0/ See article on publisher's website: https://dx.doi.org/10.1016/j.entcs.2018.10.014