Migrate most of the codebase (sans Reaching.lean / LICM left) to projections

This commit is contained in:
2026-07-01 22:56:29 -05:00
parent 10b8fa97ca
commit 0e6976f9b4
7 changed files with 139 additions and 136 deletions

View File

@@ -210,14 +210,14 @@ instance eval_valid : ValidExprEvaluator SignLattice prog := by
exact minus_valid h₁ h₂
theorem analyze_correct {ρ : Env} (hrun : EvalStmt [] prog.rootStmt ρ) :
variablesAt prog.finalState (result SignLattice prog) ρ () :=
variablesAt prog.finalState (result SignLattice prog) ρ :=
Forward.analyze_correct SignLattice prog hrun
theorem analyze_correct_at {ρf : Env} (hrun : EvalStmt [] prog.rootStmt ρf)
{s : prog.State} {ρin ρout : Env} {stin stout : PUnit}
(hr : Reaches (L := SignLattice) (prog.trace hrun) PUnit.unit s ρin ρout stin stout) :
joinForKey s (result SignLattice prog) ρin stin
variablesAt s (result SignLattice prog) ρout stout :=
{s : prog.State} {ρin ρout : Env}
(hr : Reaches (prog.trace hrun) s ρin ρout) :
joinForKey s (result SignLattice prog) ρin
variablesAt s (result SignLattice prog) ρout :=
Forward.analyze_correct_at SignLattice prog hrun hr
end SignAnalysis