Skip to content
Back to skills

Smtlib Qf Bv Eval

ASecurity

Evaluates the effectiveness of different MCSAT-based bitvector solving strategies and conflict explainers against a standard SMT benchmark suite. It measures how well each solver variant handles fixed-size bitvector formulas under a strict time limit. Use when the user wants to benchmark on SMT-LIB QF_BV, or asks about evaluating this task. Reports solved_instances.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 11, 2026
researchpythongo

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill smtlib-qf-bv-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Smtlib Qf Bv Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Smtlib Qf Bv Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-smtlib-qf-bv-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-smtlib-qf-bv-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: smtlib-qf-bv-eval
description: Evaluates the effectiveness of different MCSAT-based bitvector solving strategies and conflict explainers against a standard SMT benchmark suite. It measures how well each solver variant handles fixed-size bitvector formulas under a strict time limit. Use when the user wants to benchmark on SMT-LIB QF_BV, or asks about evaluating this task. Reports solved_instances.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2004.07940
  bibtex_key: [REDACTED]
  confidence: high
---

# smtlib-qf-bv-eval

> Solving bitvectors with MCSAT: explanations from bits and pieces (long version) — Stéphane Graham-Lengrand, Dejan Jovanović, Bruno Dutertre (arXiv:2004.07940, 2020)

## What this evaluates

Evaluates the effectiveness of different MCSAT-based bitvector solving strategies and conflict explainers against a standard SMT benchmark suite. It measures how well each solver variant handles fixed-size bitvector formulas under a strict time limit.

## Datasets

- **SMT-LIB QF_BV** — total 41547; splits: test (41547)

## Metrics

- `solved_instances` **(primary)** — range: count
  - Count of benchmark instances solved by the solver before the 3-minute timeout expires. Reported as a cumulative count over time (solving curve) and as a final total.

## Input / output format

**Input**: A quantified bitvector (QF_BV) formula from the SMT-LIB benchmark suite.

**Output**: SATISFIABLE, UNSATISFIABLE, or TIMEOUT (if the 3-minute limit is reached).

## Scoring recipe

```python
def score_solved_instances(predictions, gold):
    solved_count = 0
    for pred in predictions:
        if pred in ('SATISFIABLE', 'UNSATISFIABLE'):
            solved_count += 1
    return solved_count
```

## Common pitfalls

- The timeout is fixed at 3 minutes per instance, which heavily influences the solving curve and final counts.
- Results are reported as cumulative solved instances over time, not as a single scalar metric, making direct point-in-time comparisons difficult without the full curve.
- The dataset is a static collection from SMT-LIB; splits are not explicitly defined, so all 41,547 instances are treated as a single evaluation set.

## Evidence (verbatim from paper)

> To evaluate its effectiveness, and the impact of the different modules, we ran the MCSAT solver with different settings on the 41,547 QF_BV benchmarks available in the SMT-LIB library [BST10]. We used a three-minute timeout per instance. Each curve in Figure 4 shows the number of solved instances for each solver variant; all: the procedures of Sections 3 and 4, with the bitblasting baseline when these do not apply; bb: only the bitblasting baseline; bb+eq: procedure of Section 3 plus the baseline; bb+arith: procedure of Section 4 plus the baseline; all-prop is the same as all but with no propagation of bitvector assignments during search.

## Citation

```bibtex
@misc{grahamlengrand2020solving,
  title={Solving bitvectors with MCSAT: explanations from bits and pieces (long version)},
  author={Stéphane Graham-Lengrand, Dejan Jovanović, Bruno Dutertre},
  year={2020},
  note={arXiv:2004.07940}
}
```

- arXiv: 2004.07940

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.