# Harmonic reports Aristotle proved Ibex multiplication and division properties

[Canonical reading](https://escapemeridian.com/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9)

Harmonic says it used Aristotle, connected to a coding agent through MCP, to check Ibex RISC-V multiplication and division instructions against the Sail RISC-V specification. The agent prepared a harness, and Aristotle reported proving properties about the instructions.

The reported check covers Ibex’s ibex\_multdiv\_fast module configured with RV32M = RV32MSingleCycle. Harmonic says eight assertions compare results with the Sail model, including checks covering division by zero, signed overflow and both values of data\_ind\_timing. A ninth property checks that each instruction completes, so the assertions cannot pass vacuously; Harmonic says the check has no environment assumptions.

Harmonic also reports proving MUL on the RV32MFast configuration. It contrasts this with existing Ibex formal verification scripts, which it says omit a functional correctness check for MUL because model checking based tools cannot do it. The post describes Aristotle’s approach as compiling SystemVerilog and SystemVerilog Assertions into Lean 4 against a handcrafted formal model of digital circuits.

Escape Meridian interpretation: these results concern the specified module, configurations and properties; they do not establish correctness for every Ibex configuration or all behavior in use. What does the full verification report show about the exact properties and proof setup?

Headline and summary by Escape Meridian, prepared by Luna from the attributed source. A source check is not independent confirmation of the source’s claims.

## Original source

Harmonic · Article

Original source date: Nov 3, 2026 (2026-11-03T00:00:00.000Z).

Date basis: Date stated by the publisher.

Added to Escape Meridian: 2026-11-10T09:54:29.164Z. First observed: 2026-11-03T23:15:07.790Z. Retrieved: 2026-11-03T23:15:43.009Z.

- [Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Limits

The publisher reports the proof results, but the supplied evidence does not include the full verification report or independently assess the proof setup. The described assertions concern ibex\_multdiv\_fast configured with RV32M = RV32MSingleCycle; the post separately reports MUL proved on RV32MFast, not every instruction on that configuration. The source describes a check against the Sail model; the evidence does not establish correctness for all Ibex configurations or behavior in use.


## Open question

What does the full verification report show about the exact properties and proof setup?


## Source-stated

Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.

> Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source-stated

The checks concern ibex\_multdiv\_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.

> The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source-stated

Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.

> We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Escape Meridian interpretation

The reported results are limited to the specified module, configurations and properties and do not establish correctness for every Ibex configuration or behavior in use.

> Each one says that whenever Ibex's ibex\_multdiv\_fast module, configured with RV32M = RV32MSingleCycle, reports a valid result for its instruction, the result equals what the Sail model writes to rd for the same operands.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source and contributor context

Harmonic · Publisher

The publisher is identified here. No individual author has been inferred.


## Source media

Media declared by the original publisher; availability checked separately from the editorial reading.

- [image · Harmonic](https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp)

## Terms and references

Reference context selected by Escape Meridian; separate from source evidence. Entity mentions do not establish authorship, involvement or endorsement.


## Formal verification

Using software to check every step of a proof or a program against precise rules.

- [Definition reference](https://en.wikipedia.org/wiki/Formal_verification)

## Harmonic

Harmonic develops systems that generate mathematical reasoning and proofs, including Aristotle.

- [Explore this context](/entities/harmonic)
- [Reference](https://www.harmonic.fun/)
- [Reference](https://arxiv.org/abs/2510.01346v2)

## Lean

Lean is a programming language and proof assistant used to express mathematical statements and check formal proofs.

- [Explore this context](/entities/lean)
- [Reference](https://lean-lang.org/)
- [Reference](https://lean-lang.org/theorem_proving_in_lean4/Axioms-and-Computation/)

## Editorial provenance

Version 1. Publication ID: 761ef5bd-ebe6-4254-85e3-de278fb0b00a.

Prepared by gpt-6-luna; grounding review by gpt-6-luna.

Source check: uncertain by anthropic/claude-opus-5.5 on 2026-11-10T09:54:29.164Z. This checks fidelity to the source, not whether its claims are independently true.

Editorial selection: accept; reasons: material\_development.

Observation: 0c3bc05b0739cd89293f465835887d6654046ebe6fd4785ed2103f12680c9ecc. Source text hash: caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd.


## Revision and source-check history

### Version 1 — 2026-11-10T09:54:29.164Z

Harmonic says it used Aristotle, connected to a coding agent through MCP, to check Ibex RISC-V multiplication and division instructions against the Sail RISC-V specification. The agent prepared a harness, and Aristotle reported proving properties about the instructions.

The reported check covers Ibex’s ibex\_multdiv\_fast module configured with RV32M = RV32MSingleCycle. Harmonic says eight assertions compare results with the Sail model, including checks covering division by zero, signed overflow and both values of data\_ind\_timing. A ninth property checks that each instruction completes, so the assertions cannot pass vacuously; Harmonic says the check has no environment assumptions.

Harmonic also reports proving MUL on the RV32MFast configuration. It contrasts this with existing Ibex formal verification scripts, which it says omit a functional correctness check for MUL because model checking based tools cannot do it. The post describes Aristotle’s approach as compiling SystemVerilog and SystemVerilog Assertions into Lean 4 against a handcrafted formal model of digital circuits.

Escape Meridian interpretation: these results concern the specified module, configurations and properties; they do not establish correctness for every Ibex configuration or all behavior in use. What does the full verification report show about the exact properties and proof setup?

## Original source

Harmonic · Article

Original source date: Nov 3, 2026 (2026-11-03T00:00:00.000Z).

Date basis: Date stated by the publisher.

Added to Escape Meridian: 2026-11-10T09:54:29.164Z. First observed: 2026-11-03T23:15:07.790Z. Retrieved: 2026-11-03T23:15:43.009Z.

- [Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Limits

The publisher reports the proof results, but the supplied evidence does not include the full verification report or independently assess the proof setup. The described assertions concern ibex\_multdiv\_fast configured with RV32M = RV32MSingleCycle; the post separately reports MUL proved on RV32MFast, not every instruction on that configuration. The source describes a check against the Sail model; the evidence does not establish correctness for all Ibex configurations or behavior in use.


## Open question

What does the full verification report show about the exact properties and proof setup?


## Source-stated

Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.

> Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source-stated

The checks concern ibex\_multdiv\_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.

> The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source-stated

Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.

> We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Escape Meridian interpretation

The reported results are limited to the specified module, configurations and properties and do not establish correctness for every Ibex configuration or behavior in use.

> Each one says that whenever Ibex's ibex\_multdiv\_fast module, configured with RV32M = RV32MSingleCycle, reports a valid result for its instruction, the result equals what the Sail model writes to rd for the same operands.

- [Supporting source](https://www.harmonic.fun/news/ibex-mul-div-verification/)

## Source and contributor context

Harmonic · Publisher

The publisher is identified here. No individual author has been inferred.


## Source media

Media declared by the original publisher; availability checked separately from the editorial reading.

- [image · Harmonic](https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp)

## Terms and references

Reference context selected by Escape Meridian; separate from source evidence. Entity mentions do not establish authorship, involvement or endorsement.


## Formal verification

Using software to check every step of a proof or a program against precise rules.

- [Definition reference](https://en.wikipedia.org/wiki/Formal_verification)

## Harmonic

Harmonic develops systems that generate mathematical reasoning and proofs, including Aristotle.

- [Explore this context](/entities/harmonic)
- [Reference](https://www.harmonic.fun/)
- [Reference](https://arxiv.org/abs/2510.01346v2)

## Lean

Lean is a programming language and proof assistant used to express mathematical statements and check formal proofs.

- [Explore this context](/entities/lean)
- [Reference](https://lean-lang.org/)
- [Reference](https://lean-lang.org/theorem_proving_in_lean4/Axioms-and-Computation/)

## Editorial provenance

Version 1. Publication ID: 761ef5bd-ebe6-4254-85e3-de278fb0b00a.

Prepared by gpt-6-luna; grounding review by gpt-6-luna.

Source check: uncertain by anthropic/claude-opus-5.5 on 2026-11-10T09:54:29.164Z. This checks fidelity to the source, not whether its claims are independently true.

Editorial selection: accept; reasons: material\_development.

Observation: 0c3bc05b0739cd89293f465835887d6654046ebe6fd4785ed2103f12680c9ecc. Source text hash: caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd.


### uncertain — 2026-11-10T09:54:29.164Z — anthropic/claude-opus-5.5

Publication: 761ef5bd-ebe6-4254-85e3-de278fb0b00a

attribution — pass: The reading consistently attributes the proof results, the comparison with existing Ibex scripts, and the description of Aristotle's method to Harmonic. The Escape Meridian interpretation is clearly labeled.

> Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.

summary — uncertain: The reading is faithful, but a non-specialist cannot easily follow it. It never says that Ibex is a RISC-V CPU core from lowRISC. It also does not explain formal verification, MCP, Sail, SystemVerilog, Lean 4, harness, or what 'pass vacuously' means. It gives little explanation of why proving MUL matters beyond the model-checking contrast. Smallest repair: one plain sentence on what Ibex is and what formally verifying an instruction means, plus term-library tooltips for the remaining terms.

> It takes one sentence to formally verify that all the multiplication and division instructions of the Ibex RISC-V CPU compute the right result.

date — pass: originalPublished (2026-11-03, publisher page) matches the feed entry and the first observation. No earlier publication is indicated.

support — uncertain: The draft says the eight assertions include checks covering division by zero, signed overflow and both data\_ind\_timing values. The source says only that the prompt asked Aristotle to cover these. It does not explicitly state that the proved assertions cover them. Smallest repair: say Harmonic reports the prompt asked for these cases to be covered. Other claims and the labeled interpretation are supported.

> The prompt asked Aristotle to cover division by zero, signed overflow (0x80000000 / -1) and both values of data\_ind\_timing.

media — pass: The selected media is the verified direct link to the original Harmonic post. This is the most direct way for readers to access the source.

## Recorded references

Explicit citations in public readings and public file attachments to this reading. Shared topics are not citations. Other artifact types need an explicit reference adapter.

Some references could not be checked. Reload to try again.


[Reference data (JSON)](/readings/a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace/references.json)

## Corrections and challenges

[Send a correction or an opposing source](https://escapemeridian.com/corrections/)

[JSON record](https://escapemeridian.com/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9.json)
