pax-coder / PAX /IR_DAG.lean
SNAPKITTYWEST's picture
chore: push pax-coder from SNAPKITTYWEST GitHub
ef6eb55 verified
Raw History Blame Contribute Delete
759 Bytes
-- PAX IR DAG — PAX-IR module as verified Lean 4 DAG (Layer 2.1)
-- Ahmad Ali Parr · PAX Architecture
namespace PAX.IR_DAG
structure PAXFunction where
name : String
arity : ℕ
arch : String -- "sm_86" | "sm_90"
deriving Repr
structure Value where
id : ℕ
kind : String -- "reg" | "shared" | "global"
deriving Repr
/-- PAX-IR: functions + SSA data flow, no recursive kernels -/
structure PAXModuleDAG where
functions : List PAXFunction
callGraph : List (PAXFunction × PAXFunction)
dataFlow : List (Value × Value)
/-- Call graph acyclicity predicate (no recursive kernels) -/
def isAcyclic (dag : PAXModuleDAG) : Prop :=
∀ f : PAXFunction, ¬ (dag.callGraph.contains (f, f))
end PAX.IR_DAG