Skip to content
Escape
Meridian

The future is still open.

· Nov 3, 2026

Harmonic reports Aristotle proved Ibex multiplication and division properties

Markdown · JSON · Original source

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 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 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.

Source image for Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic
Harmonic · Open original source

Original source

· Article

Source details

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.

Referenced by

Recorded citations and public file attachments. A reference alone does not establish agreement or influence.

No public references recorded here yet.

Reference data (JSON)

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.

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.

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.

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.

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.

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.

Harmonic

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

Lean

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

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 reports Aristotle proved Ibex multiplication and division properties

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 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 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

· Article

Source details

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.

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.

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.

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.

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.

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.

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.

Harmonic

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

Lean

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

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.

Challenge or correct this reading

Send a correction or an opposing source with this reading’s URL. Disagreement and uncertainty can remain unresolved.