pub fn compression_step(
programs_expr: &Expr,
new_inv_name: &str,
cfg: &CompressionStepConfig,
past_invs: &[CompressionStepResult],
task_name_of_root_idx: &[String],
prev_dc_inv_to_inv_strs: &[(String, String)],
) -> Vec<CompressionStepResult>Expand description
Takes a set of programs as an Expr with Programs as its root, and does one full step of compresison. Returns the top Inventions and the Expr rewritten under that invention along with other useful info in CompressionStepResult The number of inventions returned is based on cfg.inv_candidates