Proceedings of the ACM on Programming Languages · 2022 · 11 citations · 24 references
ComputingComputer ScienceFormal MethodsLogicProgramming LanguagesFormal SemanticsModal LogicModal SemanticsProof AssistantsTheorem ProvingType SystemsAgdaLambda CalculusLambda Calculus SemanticsLocksModality SemanticsNecessityNormalizationTyped Lambda Calculus
Fitch-style modal lambda calculi enable programming with necessity modalities in a typed lambda calculus by extending the typing context with a delimiting operator that is denoted by a lock. The addition of locks simplifies the formulation of typing rules for calculi that incorporate different modal axioms, but each variant demands different, tedious and seemingly ad hoc syntactic lemmas to prove normalization. In this work, we take a semantic approach to normalization, called normalization by evaluation (NbE), by leveraging the possible-world semantics of Fitch-style calculi to yield a more modular approach to normalization. We show that NbE models can be constructed for calculi that incorporate the K, T and 4 axioms of modal logic, as suitable instantiations of the possible-world semantics. In addition to existing results that handle 𝛽-equivalence, our normalization result also considers 𝜂-equivalence for these calculi. Our key results have been mechanized in the proof assistant Agda. Finally, we showcase several consequences of normalization for proving meta-theoretic properties of Fitch-style calculi as well as programming-language applications based on different interpretations of the necessity modality.
24
Security Policies and Security Models
Joseph A. Goguen, José Meseguer · 1982 · 2.1K citations
Notions of computation and monads
Eugenio Moggi · Information and Computation · 1991 · 1.7K citations
Computational lambda-calculus and monads
Eugenio Moggi · 2003 · 858 citations
Computing, Computer Science, Algebra +13
Martı́n Abadi, Anindya Banerjee, Nevin Heintze et al. · 1999 · 415 citations