Encodes Semantic IR constraints, axioms, and branch criteria into SMT-LIB2 s-expressions.
@spec build_constraint_refutation([String.t()], String.t()) :: String.t()
@spec build_reachability_smt([String.t()], String.t()) :: String.t()
@spec encode_condition(String.t()) :: String.t()