extract_from_kripke_ast

Function extract_from_kripke_ast 

Source
pub fn extract_from_kripke_ast<'a>(
    expr: &'a LogicExpr<'a>,
    interner: &Interner,
) -> HwKnowledgeGraph
Expand description

Extract a Knowledge Graph from a Kripke-lowered LogicExpr AST.

Walks the AST to identify:

  • Signals: predicates that appear with world arguments
  • Properties: temporal patterns (∀w’ Accessible_Temporal → …) → safety, (∃w’ Reachable → …) → liveness
  • Edges: implication between predicates → Triggers, negated conjunction → Constrains

Signal roles are inferred from structural position:

  • Antecedent-only → Input
  • Consequent-only → Output
  • Both positions → Internal
  • Name contains “clk”/“clock” → Clock (overrides position)