Skip to content

Partial translator for arm8 and riscv contract conditions to BIR - #224

Merged
palmskog merged 11 commits into
masterfrom
contract-translator
Nov 6, 2026
Merged

palmskog merged 11 commits into
masterfrom
contract-translator

Conversation

@palmskog

@palmskog palmskog commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

This is a limited-scope proof-producing translator from a small subset of bool used in arm8 and riscv contracts to BIR, trying to reuse the existing expression lifters as much as possible.

@palmskog
palmskog force-pushed the contract-translator branch from 05eb6c4 to 8c7982b Compare November 6, 2026 10:11
…nditions to BIR (arm8_bir_condLib), generating bspec_max_pre/post and their relation theorems
…theory/tools/backlifter), support word arithmetic and casts, write ==> as a disjunction; examples/arm8/update_sat: generate BIR contract conditions with it; AGENTS.md: note the experimental translator
…rom arm8 translator, port riscv examples isqrt and swap as tests
…y words, evaluate closed words to literals, widen equations on narrow fields; in kernel-trap, generate BIR contract conditions with the RISC-V translator
…_to_bir_thm (after checking new names are free); *_spec_bir scripts in translator examples reduce to val _ = calls, *_prop scripts use the new names
… translator examples use <c>_bir_def and bir_cont_* names
@palmskog palmskog changed the title Translator for arm8 and riscv contract conditions to BIR Partial translator for arm8 and riscv contract conditions to BIR Nov 6, 2026
@palmskog
palmskog force-pushed the contract-translator branch from 8c7982b to 07b755c Compare November 6, 2026 12:09
@palmskog
palmskog marked this pull request as ready for review November 6, 2026 12:09
@palmskog
palmskog merged commit 4a296e1 into master Nov 6, 2026
4 checks passed
@palmskog
palmskog deleted the contract-translator branch November 6, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant