{"id":"a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace","title":"Harmonic reports Aristotle proved Ibex multiplication and division properties","argument":"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.\n\nThe 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.\n\nHarmonic 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.\n\nEscape 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?","topicIds":["intelligence-and-discovery"],"domain":"science","claimType":"attributed reading","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.","speaker":{"name":"Harmonic","roleAtSource":"Publisher"},"source":{"title":"Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic","publisher":"Harmonic","format":"Article","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","publishedAt":"2026-11-03T00:00:00.000Z","dateBasis":"Date stated by the publisher."},"evidence":[{"text":"Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.","excerpt":"Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"The checks concern ibex_multdiv_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.","excerpt":"The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.","excerpt":"We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"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.","excerpt":"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.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Escape Meridian interpretation"}],"sourceMedia":{"status":"found","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","checkedAt":"2026-11-03T23:15:43.009Z","items":[{"type":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","attribution":"Harmonic","basis":"publisher-embed","availability":"verified","verifiedAt":"2026-11-03T23:15:43.118Z"}],"note":"Media declared by the original publisher; availability checked separately from the editorial reading."},"assumptions":[],"openQuestion":{"attribution":"Open question","text":"What does the full verification report show about the exact properties and proof setup?"},"whatWouldChangeView":{"attribution":"Change condition not recorded","text":""},"editorialComparisons":[],"live":{"title":"Harmonic reports Aristotle proved Ibex multiplication and division properties","summary":"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.\n\nThe 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.\n\nHarmonic 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.\n\nEscape 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?","question":"What does the full verification report show about the exact properties and proof setup?","claims":[{"text":"Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.","excerpt":"Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.","support":"source-stated"},{"text":"The checks concern ibex_multdiv_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.","excerpt":"The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.","support":"source-stated"},{"text":"Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.","excerpt":"We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.","support":"source-stated"},{"text":"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.","excerpt":"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.","support":"interpretation"}],"limitations":["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."],"mediaId":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","correctionReason":null,"id":"a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace","publicationId":"761ef5bd-ebe6-4254-85e3-de278fb0b00a","version":1,"sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","sourceTitle":"Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic","publisher":"Harmonic","publishedAt":"2026-11-03T00:00:00.000Z","originalPublished":{"value":"2026-11-03T00:00:00.000Z","precision":"instant","basis":"publisher_page"},"firstObservedAt":"2026-11-03T23:15:07.790Z","createdAt":"2026-11-10T09:54:29.164Z","historical":true,"entityIds":["harmonic"],"topicIds":["intelligence-and-discovery"],"media":[{"id":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","kind":"article","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","label":"Read original","provenance":"source_link","verification":{"status":"verified","checkedAt":"2026-11-03T23:15:43.118Z","method":"acquired_source","contentType":"text/html"},"recommendationReason":"Recommended by Jev for understanding this source; checked by Luna."},{"id":"88504c5825afa4ba3d0ecb947dca9eada1b96783ff88f86d921d4427c7085eeb","kind":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","label":"View source image","provenance":"publisher_page","verification":{"status":"verified","checkedAt":"2026-11-03T23:15:43.118Z","method":"publisher_association_and_head","contentType":"image/webp","cacheUntil":1793748043118},"recommendationReason":"Observed on the acquired publisher source; availability checked."}],"sourceMedia":{"status":"found","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","checkedAt":"2026-11-03T23:15:43.009Z","items":[{"type":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","attribution":"Harmonic","basis":"publisher-embed","availability":"verified","verifiedAt":"2026-11-03T23:15:43.118Z"}],"note":"Media declared by the original publisher; availability checked separately from the editorial reading."},"editorialDecision":{"outcome":"accept","reasonCodes":["material_development"],"rubricVersion":"stream-admission-v5","mediaId":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","confidence":0.86,"provider":"typesafe","model":"jev-1.13.0","inputHash":"785b1ff6fd4cd34db38e8262a72891920adaae44fe5268ab0c0c2397fe4c1014","decidedAt":"2026-11-03T23:15:44.249Z"},"provenance":{"textHash":"caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd","observationId":"0c3bc05b0739cd89293f465835887d6654046ebe6fd4785ed2103f12680c9ecc","retrievedAt":"2026-11-03T23:15:43.009Z","kind":"publisher-page","preparer":{"model":"gpt-6-luna","runId":"72a332c8-f5e0-45e0-8938-81d51e51583c"},"reviewer":{"model":"gpt-6-luna","runId":"c9d3b2a8-9ced-465b-802d-5f0f2b600961"}},"audit":{"status":"uncertain","reviewedAt":"2026-11-10T09:54:29.164Z","model":"anthropic/claude-opus-5.5"},"sourceAttribution":{"authors":[],"authorRole":"article-author","hosts":[],"status":"missing","authorRoster":{"truncated":false,"omitted":0,"assertionGroupsOmitted":0},"participation":[],"participationCoverage":{"total":0,"returned":0,"complete":true,"fullAssertions":"source-metadata-endpoint"},"distribution":null,"publisher":null,"sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","snapshotId":"cb7efb3ad6565550acab18fdb308a75c0e7c94f68a087648e502871a431ffb05","contentSha256":"71d436ecfe413930bb24b93a44f662dc37888ed11b42ba6c73f1f3a33aead84d","textHash":"caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd","observedAt":"2026-11-03T23:15:43.009Z","basis":"publisher-page-metadata","sourceLinks":13,"linksTruncated":false,"metadataUrl":"/api/pipeline/stream/a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace/source"}},"canonicalUrl":"https://escapemeridian.com/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9","formats":{"html":"/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9","markdown":"/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9.md","json":"/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9.json"},"attribution":"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.","maintainedGuideLinks":[],"readerContext":{"version":"reader-context-v1","attribution":"Reference context selected by Escape Meridian; separate from source evidence. Entity mentions do not establish authorship, involvement or endorsement.","terms":[{"id":"term-formal-verification","name":"Formal verification","explanation":"Using software to check every step of a proof or a program against precise rules.","referenceUrl":"https://en.wikipedia.org/wiki/Formal_verification"}],"entities":[{"id":"harmonic","name":"Harmonic","kind":"organization","context":"Harmonic develops systems that generate mathematical reasoning and proofs, including Aristotle.","referenceUrls":["https://www.harmonic.fun/","https://arxiv.org/abs/2510.01346v2"],"path":"/entities/harmonic","json":"/entities/harmonic.json","markdown":"/entities/harmonic.md"},{"id":"lean","name":"Lean","kind":"concept","context":"Lean is a programming language and proof assistant used to express mathematical statements and check formal proofs.","referenceUrls":["https://lean-lang.org/","https://lean-lang.org/theorem_proving_in_lean4/Axioms-and-Computation/"],"path":"/entities/lean","json":"/entities/lean.json","markdown":"/entities/lean.md"}]},"researchQuestions":[],"withdrawn":false,"references":{"schemaVersion":1,"target":{"type":"reading","id":"a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace","revision":"761ef5bd-ebe6-4254-85e3-de278fb0b00a","revisionKind":"publication-id","title":"Harmonic reports Aristotle proved Ibex multiplication and division properties","url":"https://escapemeridian.com/readings/harmonic-reports-aristotle-proved-ibex-multiplication-and-a9a6c9c9"},"source":{"type":"source","id":"https://www.harmonic.fun/news/ibex-mul-div-verification/","revision":"caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd","revisionKind":"sha256-source-text","title":"Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/"},"status":"available","items":[],"next":null,"scope":"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."},"revisions":[{"id":"a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace","title":"Harmonic reports Aristotle proved Ibex multiplication and division properties","argument":"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.\n\nThe 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.\n\nHarmonic 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.\n\nEscape 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?","topicIds":["intelligence-and-discovery"],"domain":"science","claimType":"attributed reading","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.","speaker":{"name":"Harmonic","roleAtSource":"Publisher"},"source":{"title":"Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic","publisher":"Harmonic","format":"Article","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","publishedAt":"2026-11-03T00:00:00.000Z","dateBasis":"Date stated by the publisher."},"evidence":[{"text":"Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.","excerpt":"Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"The checks concern ibex_multdiv_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.","excerpt":"The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.","excerpt":"We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Source-stated"},{"text":"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.","excerpt":"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.","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","relationship":"Escape Meridian interpretation"}],"sourceMedia":{"status":"found","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","checkedAt":"2026-11-03T23:15:43.009Z","items":[{"type":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","attribution":"Harmonic","basis":"publisher-embed","availability":"verified","verifiedAt":"2026-11-03T23:15:43.118Z"}],"note":"Media declared by the original publisher; availability checked separately from the editorial reading."},"assumptions":[],"openQuestion":{"attribution":"Open question","text":"What does the full verification report show about the exact properties and proof setup?"},"whatWouldChangeView":{"attribution":"Change condition not recorded","text":""},"editorialComparisons":[],"live":{"title":"Harmonic reports Aristotle proved Ibex multiplication and division properties","summary":"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.\n\nThe 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.\n\nHarmonic 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.\n\nEscape 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?","question":"What does the full verification report show about the exact properties and proof setup?","claims":[{"text":"Harmonic says Aristotle proved properties checking Ibex multiplication and division instructions against the Sail RISC-V specification.","excerpt":"Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU.","support":"source-stated"},{"text":"The checks concern ibex_multdiv_fast configured with RV32M = RV32MSingleCycle; the post says the ninth property ensures instructions complete, preventing vacuous assertions.","excerpt":"The ninth property says that every instruction completes, so the eight assertions can't pass vacuously. There are no environment assumptions.","support":"source-stated"},{"text":"Harmonic says Aristotle also proved MUL for the fast multi-cycle multiplier configuration.","excerpt":"We also ran the check on the fast multi-cycle multiplier, RV32MFast, and Aristotle proved MUL there too.","support":"source-stated"},{"text":"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.","excerpt":"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.","support":"interpretation"}],"limitations":["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."],"mediaId":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","correctionReason":null,"id":"a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace","publicationId":"761ef5bd-ebe6-4254-85e3-de278fb0b00a","version":1,"sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","sourceTitle":"Formally Verifying the MUL and DIV Instructions of the Ibex RISC-V CPU Using Aristotle | Harmonic","publisher":"Harmonic","publishedAt":"2026-11-03T00:00:00.000Z","originalPublished":{"value":"2026-11-03T00:00:00.000Z","precision":"instant","basis":"publisher_page"},"firstObservedAt":"2026-11-03T23:15:07.790Z","createdAt":"2026-11-10T09:54:29.164Z","historical":true,"entityIds":["harmonic"],"topicIds":["intelligence-and-discovery"],"media":[{"id":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","kind":"article","url":"https://www.harmonic.fun/news/ibex-mul-div-verification/","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","label":"Read original","provenance":"source_link","verification":{"status":"verified","checkedAt":"2026-11-03T23:15:43.118Z","method":"acquired_source","contentType":"text/html"},"recommendationReason":"Recommended by Jev for understanding this source; checked by Luna."},{"id":"88504c5825afa4ba3d0ecb947dca9eada1b96783ff88f86d921d4427c7085eeb","kind":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","label":"View source image","provenance":"publisher_page","verification":{"status":"verified","checkedAt":"2026-11-03T23:15:43.118Z","method":"publisher_association_and_head","contentType":"image/webp","cacheUntil":1793748043118},"recommendationReason":"Observed on the acquired publisher source; availability checked."}],"sourceMedia":{"status":"found","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","checkedAt":"2026-11-03T23:15:43.009Z","items":[{"type":"image","url":"https://www.harmonic.fun/_astro/ibex-mul-div-pinwheel.C98mspnm_1DYH0f.webp","sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","attribution":"Harmonic","basis":"publisher-embed","availability":"verified","verifiedAt":"2026-11-03T23:15:43.118Z"}],"note":"Media declared by the original publisher; availability checked separately from the editorial reading."},"editorialDecision":{"outcome":"accept","reasonCodes":["material_development"],"rubricVersion":"stream-admission-v5","mediaId":"444d91637bb6d6af3780cb819d2973b51053b73089a0e66a29e5d6821f35039f","confidence":0.86,"provider":"typesafe","model":"jev-1.13.0","inputHash":"785b1ff6fd4cd34db38e8262a72891920adaae44fe5268ab0c0c2397fe4c1014","decidedAt":"2026-11-03T23:15:44.249Z"},"provenance":{"textHash":"caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd","observationId":"0c3bc05b0739cd89293f465835887d6654046ebe6fd4785ed2103f12680c9ecc","retrievedAt":"2026-11-03T23:15:43.009Z","kind":"publisher-page","preparer":{"model":"gpt-6-luna","runId":"72a332c8-f5e0-45e0-8938-81d51e51583c"},"reviewer":{"model":"gpt-6-luna","runId":"c9d3b2a8-9ced-465b-802d-5f0f2b600961"}},"audit":{"status":"uncertain","reviewedAt":"2026-11-10T09:54:29.164Z","model":"anthropic/claude-opus-5.5"},"sourceAttribution":{"authors":[],"authorRole":"article-author","hosts":[],"status":"missing","authorRoster":{"truncated":false,"omitted":0,"assertionGroupsOmitted":0},"participation":[],"participationCoverage":{"total":0,"returned":0,"complete":true,"fullAssertions":"source-metadata-endpoint"},"distribution":null,"publisher":null,"sourceUrl":"https://www.harmonic.fun/news/ibex-mul-div-verification/","snapshotId":"cb7efb3ad6565550acab18fdb308a75c0e7c94f68a087648e502871a431ffb05","contentSha256":"71d436ecfe413930bb24b93a44f662dc37888ed11b42ba6c73f1f3a33aead84d","textHash":"caf38b8838a03f69d4b843915910fd580c3c45b4817f86286636ab1dbc5ccffd","observedAt":"2026-11-03T23:15:43.009Z","basis":"publisher-page-metadata","sourceLinks":13,"linksTruncated":false,"metadataUrl":"/api/pipeline/stream/a9a6c9c9ddd70b6edd3d188c225ec97c555adfa970d13b6b9b21aaf69c9d1ace/source"}}}],"audits":[{"publicationId":"761ef5bd-ebe6-4254-85e3-de278fb0b00a","verdict":"uncertain","findings":[{"dimension":"attribution","status":"pass","explanation":"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.","excerpt":"Aristotle proved 9 properties about MUL, MULH, MULHSU, MULHU, DIV, DIVU, REM and REMU."},{"dimension":"summary","status":"uncertain","explanation":"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.","excerpt":"It takes one sentence to formally verify that all the multiplication and division instructions of the Ibex RISC-V CPU compute the right result."},{"dimension":"date","status":"pass","explanation":"originalPublished (2026-11-03, publisher page) matches the feed entry and the first observation. No earlier publication is indicated.","excerpt":null},{"dimension":"support","status":"uncertain","explanation":"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.","excerpt":"The prompt asked Aristotle to cover division by zero, signed overflow (0x80000000 / -1) and both values of data_ind_timing."},{"dimension":"media","status":"pass","explanation":"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.","excerpt":null}],"createdAt":"2026-11-10T09:54:29.164Z","model":"anthropic/claude-opus-5.5"}],"correctionUrl":"https://escapemeridian.com/corrections/"}