Skip to main content

normalize_list_builtins

Function normalize_list_builtins 

Source
pub fn normalize_list_builtins(program: &Program) -> Result<Program>
Expand description

Normalize finite list syntax into scalar list identifiers plus helper relations.

The normalized program uses ordinary XLOG relations:

  • __xlog_list_len(list_id, len)
  • __xlog_list_item_<type>(list_id, index, value)
  • __xlog_list_cons_<type>(list_id, head, tail_id)
  • selected built-in helper relations such as append, sort, msort, and list_to_set

This keeps accepted list programs on the existing relational lowering/runtime path.