Get rid of Tagged

This commit is contained in:
2026-08-09 17:38:56 -05:00
parent 269906871f
commit a19f9fa148
7 changed files with 7 additions and 677 deletions

View File

@@ -5,9 +5,13 @@ import Mathlib.Data.Finset.Basic
# Base Language
This file defines the core object language for the program analysis and
transformation. It's a very basic imperative language. The `Spa/Language/Tagged/Basic.lean`
file provides an auto-derived version of the `Expr`, `BasicStmt`, and `Stmt` data
types with unique IDs per condtructor, enabling in-AST pointers.
transformation. It's a very basic imperative language.
Program points are identified by their node in the control flow graph rather than
by an identifier stored in the AST: a recursion over a `Stmt` threads a
`Spa.GGraph.Embed` of the subtree's CFG into the whole program's (starting from
`Spa.Program.rootEmbed`), which yields the CFG index of each basic statement
along with a proof that the node carries it.
-/