runtimeverification / runtimeverification/haskell-backend

Collect #Ceil conditions introduced by equations with partial functions

Open
#3,780 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

runtimeverification/hs-backend-booster
Dominant language
Haskell
Stars
224
Forks
43
PR merge metrics
No merged PRs in 30d

Description

While runtimeverification/haskell-backend#3779 is concerned with rewrite rules (and relatively straightforward), collecting #Ceil conditions introduced by simplifications and function-defining equations is complex because of

  • possible recursive evaluation of side conditions - the collected #Ceil conditions may have to be discarded if the recursive caller ends up failing for other reasons
  • when the #Ceil condition comes from simplifying a rewrite rule side condition, the negated condition becomes a remainder and rewriting needs to proceed with this remainder added to the assumed condition (unless it can be pruned - has to be simplified "soon"). This potentially leads to branching.

This extension is expected to considerably reduce the fall-back cases because many more simplifications can be applied.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Read runtimeverification/haskell-backend#3779 first for the related rewrite-rule work, then trace how simplifications and function-defining equations collect #Ceil conditions. Done means the recursive, branching cases and fallback reduction described here are handled without retaining invalid conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.