Skip to content
/ k Public

Meta-theory and normalization for Fitch-style modal lambda calculi

License

Notifications You must be signed in to change notification settings

nachivpn/k

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

k

Normalization for Fitch-style Modal Calculi

About

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.

This repo contains a mechanization of some intrinsically-typed Fitch-style modal lambda calculi and a proof of normalization for them. Normalization is achieved using normalization by evaluation (NbE), by leveraging the possible-world semantics of Fitch-style calculi. The semantics-based approach of NbE yields a more modular approach to normalization that allows us to separate reasoning about the modal fragment from the rest of the calculus.

Current status

Implements executable normalization functions for IK (the calculus with the modal axiom K) and IS4 (the calculus with axioms K, T and 4), and a "tracing" function for each calculus that prints out a sequence of reduction steps that explain the result of the normalization function. This yields a proof of soundness for normalization, i.e., norm t = norm t' => t ~ t'.

References

About

Meta-theory and normalization for Fitch-style modal lambda calculi

Resources

License

Stars

Watchers

Forks