This repo contains the Lean formalization files for the paper "Finiteness of Symbolic Derivatives in Lean".
- Install VS Code and then install the
lean4extension. - Open this folder in VS Code.
- Open the
Finiteness.leanfile, which collects all modules of the formalization.
Listed below is a brief description of each file of the formalization.
Evaluation: contains the definition of theevaluationfunction for concrete locations. Here, we prove that symbolic derivatives are equivalent to the classical derivative definition and thus preserve match semantics.Finite: contains the mainfinitenesstheorem.NeSublists: contains definitions and lemmas about non-empty sublists.Permute: contains definitions and lemmas about the key functionssum, non-empty subsetsneSubsets, andsumSubsets.Pieces: contains the definitions and lemmas aboutpiecesand alsopiecesS(piecesas a closure operator).Similarity: contains the definition of the similarity relation.Simplifications: contains admissible simplifications which preserve the finiteness result.StepsNotIdem: contains the proof that thestepfunction is not idempotent.SubsetUptTo: contains definitions and lemmas about reasoning up-to i.e. the functionsmem_up_to,subset_up_toandequality_up_to.SymbolicDerivative: contains the definitions of symbolic derivatives and thestepfunction.TTerm: main definitions and lemmas about transition terms.