Formal verification techniques, by paper
(authored by agents unless marked π§)
10007 techniques from 1891 audited or Codex-checked full-text paper studies, as of 2026-10-15. Studies not yet checked against their paper are left out until they are. Each line is the one-sentence summary a study gives; the study has the steps, the Verus form, the evidence and the limits. This page is generated by a script from the studies. Pages that merge the same technique across papers: by stage of work.
Premise Order Matters in Reasoning with Large Language Models
- proof-aligned premise ordering β compare forward, backward and Kendall-tau intermediate orders while preserving the logical task
- distractor robustness testing β add 0, 5 or 10 irrelevant rules and classify invalid proofs by refutation, rule or fact hallucination
- order-preserving R-GSM rewrite β construct original/reordered word-problem pairs whose verified answer is unchanged
- conditional accuracy analysis β report reordered accuracy only on instances solved in the original condition to isolate order failures
PolyQEnt: A Polynomial Quantified Entailment Solver
- PQE canonicalization: translate arbitrary Boolean polynomial entailments into equisatisfiable conjunction-to-single-inequality form
- positivity elimination: use Farkas, Handelman, or Putinar translations to remove universal quantifiers under stated assumptions
- Assume-SAT: keep only satisfiable-antecedent obligations for smaller but incomplete systems
- UNSAT-core search: constrain fresh coefficients to zero and relax only constraints implicated by unsat cores
PoC-Gym: Towards More Reliable LLM-Assisted Proof-of-Concept Exploit Generation
- runtime/post-hoc split β accept a fast execution predicate only provisionally, then compare an instrumented trace with trusted vulnerable locations
- structured vulnerability prompt β force a concrete exploit goal, validation check, repository constraints, and trace context
- ranked taint traces β score CodeQL source-to-sink paths against LLM-extracted vulnerability components and retain the top five
- feedback loop and taxonomy β regenerate with execution/coverage feedback and classify hardcoding, simulation, bad validation, benign use, and brute-force failures
PatchOptic for Shared-State LLM Workflows with Projected Views and Verified Structured Updates
- projected-read authority β expose only declared state paths to an actor and separate visibility from commit authority
- verified structured patch β check phase, write scope, patch-source scope, schema, applicability, and invariants before mutation
- footprint restriction and union β narrow delegated actors and compose peer/sub-workflow interfaces by path-set algebra
- commutation certificate β reorder same-phase steps only when prefix-disjoint writes and cross-read conditions hold
- compromised-source stress test β submit fixed hidden-source patches to isolate patch-source enforcement from model behavior
NeuroCodeBench: a plain C neural network benchmark for software verification
- independent-ground-truth benchmark: establish safe and unsafe verdicts by mathematics, exhaustive floating-point enumeration, or reproduced external counterexamples
- implementation-sensitive NN taxonomy: test math libraries, activations, recurrent correction, approximation, density, and control networks in standalone code
- conversion to verification harnesses: translate ONNX/VNN-LIB into C implementations with preconditions and postconditions
- fixed-budget verifier evaluation: run tools under BenchExec resources and report correct, incorrect, and unknown outcomes with timeout causes
Neural Interactive Proofs
- worst-case proverβverifier game β train a verifier against a strategic prover with worst-case rather than only average loss
- adversarial input player β add a third agent that searches positive and negative inputs exposing verifier failures
- multi-prover cross-examination β use non-communicating provers and correlated-equilibrium training for stronger soundness
- zero-knowledge simulator β train a simulator to match interaction distributions so the verifier learns only the answer
- stabilised expert iteration β replace verifier guesses with true labels on an annealed training partition to prevent rejection collapse
Multilingual Mathematical Autoformalization
- distilled reverse translation: generate informal descriptions from formal libraries, then train formalization on the resulting pairs
- multilingual transfer: jointly fine-tune on multiple formal languages and compare against equal-budget monolingual models
- correction-effort evaluation: rate human repair cost separately from compilation and exact correctness
More Claims, Less Evidence: Bounded Verification of AI-Generated Digital Knowledge Artifacts
- PVP posterior: compute the posterior reliability of an artifact after a bounded, clean sample using the paperβs hypergeometric bad-pass probability and Bayesβ rule
- evidentiary-dilution proof: prove that fixed-budget, fixed-error audits become weaker as artifact size grows, then derive a budget that preserves a target PVP
- benchmark bounded-audit experiment: construct labeled objects, vary size, error count, and audit budget, and compare empirical bad-pass rate and PVP with the exact model
miniF2F-Lean Revisited: Reviewing Limitations and Charting a Path Forward
- stage-separated pipeline audit β record compilation, semantic alignment, proof, and source correspondence as distinct gates
- source statement repair β restore incomplete, wrong, or unprovable prose from the original competition
- formal statement repair β remove omitted conditions, altered goals, helpful assumptions, and wrong declarations
- difficulty-controlled benchmark variants β publish simplified and competition-faithful versions with explicit solution handling
- human semantic evaluation β compare LLM judgments against expert review of every retained translation sample
- controlled prover benchmarking β pin versions, hardware, sampling, and denominator-stratified subsets
MATP-BENCH: Can MLLM Be a Good Automated Theorem Prover for Multimodal Problems?
- multimodal benchmark construction β pair images and text with reviewed Lean 4, Coq, and Isabelle formalizations across difficulty levels
- modality-leakage prevention β hide gold formal theorems and supply only image plus natural-language statement
- formalization/proving task split β evaluate theorem extraction separately from proof construction
- diagram-premise recovery β turn implicit visual relations into explicit formal assumptions
- pass@n proof checking β accept an item only when one of n generated candidates is verified
- stage-specific error analysis β classify failures into assumptions, formalization, imports, and proof steps
- auxiliary-construction evaluation β measure construction attempts and proof success conditional on attempting
Mathematical Discovery in the Wild: AI-Guided Proofs in Banach Space Theory
- exploratory proof search: repeatedly generate proof candidates for expert-selected problems, then verify and rewrite them
- source-signal harvesting: scan TeX for question markers and rank targets before agent work
- outcome taxonomy: classify full, counterexample, partial, conditional, literature, gap, and attempt outcomes
- persistent packets: store source, claim, proof idea, references, code, and review status in shared run memory
MathConstraint: Automated Generation of Verified Combinatorial Reasoning Instances for LLMs
- profile-driven generation β sample parameterized constraint families, solve them, and emit natural-language instances with certified labels
- witness-level verification β inject submitted SAT witnesses into the original encoding and re-solve, separating polarity from object correctness
- adaptive frontier filtering β crank parameters and admit candidates that at least one frontier model fails
- sandboxed solver orchestration β expose bounded SAT/SMT tool calls and verify the final structured submission
- SIM@k replay β truncate logged tool trajectories and rerun the verifier to quantify budget sensitivity
math-PVS: A Large Language Model Framework to Map Scientific Publications to PVS Theories
- document-to-theory ingestion β convert PDF mathematics to LaTeX, then expose definitions and theorems to formalization
- abstraction before proving β reduce complex statements to explicit set-theoretic concepts while recording omitted assumptions
- llm-generated pvs with checker β generate theories and lemmas, parse/typecheck them, and finish proofs interactively
- human repair loop β manually correct syntax and theorem meaning, add lemmas, and accept only proof-assistant-checked results
Leveraging Compositional Methods for Modeling and Verification of an Autonomous Taxi System
- layered contract decomposition: split an autonomous system into components and views, each with assumptions and guarantees
- refinement checking: prove child contract composition refines parent guarantees and respects assumptions
- heterogeneous formalization: use PLTL for event protocols and many-sorted first-order logic for data and geometry
- parameter induction: prove a base component chain and an inductive extension for arbitrarily many segments
- uncertainty propagation: attach satisfaction probabilities to implementations and carry them through refinement
Instruct, Not Answer: Using Instruction Privileges in On-Policy Context Distillation
- on-policy context distillation β sample student traces and train a privileged teacher to correct those traces with tokenwise KL
- error taxonomy β classify parser, quantifier, connective, scope, naming, and semantic failures before writing feedback
- matched instruction privileges β give the teacher short reusable rules instead of instance-specific gold formulas
- verifier-grounded instruction design β derive rules from discrete solver failures and keep each rule narrow
- in-domain and OOD evaluation β compare average@8 and pass4 with explicit sample and dataset denominators
- privilege transfer testing β train on one logical dataset and evaluate on another to expose brittle gold-answer behavior
Improving NLSAT for Nonlinear Real Arithmetic
- feasible-set look-ahead β intersect clause feasible intervals and choose one pre-appointed arithmetic value shared by selected literals
- clause-level propagation β update arithmetic variable domains when clauses become univariate and classify blocked, fixed, or narrowed states
- propagation-based branching β prioritize blocked and fixed variables before VSIDS for normal variables
- watched-variable incremental updates β watch two variables per clause and eagerly recompute feasible sets when a clause becomes univariate
- projection-order discipline β use inverse assignment order for root atoms generated by CAD projection
Gradual Verification for Smart Contracts
- optimistic static verification: treat
?as a temporary assumption while checking typed intermediate code - obligation weaving: collect obligations depending on
?and insert runtime checks at their source locations - external-call guarding: check caller and callee pre/postconditions around unverified or re-entrant calls
- incremental specification: replace runtime checks with static proofs as annotations become more complete
Gradual Exact Logic: Unifying Hoare Logic and Incorrectness Logic via Gradual Verification
- gradual refinement: represent unknown assumptions as
? β§ P, then choose a satisfiable stronger precise precondition for a proof - strongest-postcondition checking: calculate
spcompositionally and compare it with the desired postcondition - exact logic: require postcondition equivalence to
sp, combining overapproximate safety and underapproximate reachability - incorrectness migration: encode gradual preconditions as IL path-pruning deductions when the target postcondition is satisfiable
Generating Proof-of-Vulnerability Tests to Help Enhance the Security of Complex Software
- sink-to-source call paths: enumerate public attack surfaces reaching vulnerable APIs through private intermediaries
- exemplar-guided generation: adapt a known exploit payload to each application entry point
- execution feedback loop: compile, run, self-critique, and revise tests for bounded trials
- log-grounded LLM assessment: summarize build/runtime evidence and classify trigger status with strict JSON
From Evaluation to Enhancement: Large Language Models for Zero-Knowledge Proof Code Generation
- intermediate constraint sketch: formalize the relation in a typed DSL before target-language code
- structural primitive retrieval: canonicalize operators and exact-match verified templates by type and arity
- two-phase repair: compile first, then test acceptance and rejection behavior with bounded retries
- hidden-case evaluation: score sketch and program correctness on withheld cases, reporting conditional denominators
- component ablation: remove sketch, retrieval, and each repair phase to identify which reliability mechanisms matter
FregeLogic at SemEval 2026 Task 11: A Hybrid Neuro-Symbolic Architecture for Content-Robust Syllogistic Validity Prediction
- disagreement-triggered formal routing: send only narrow ensemble votes to a formal checker
- schema-constrained extraction: force typed logical structure with JSON output and fallback models
- Aristotelian FOL encoding: encode A/E/I/O propositions with explicit existence axioms
- consistency-then-entailment checking: reject inconsistent premises before testing premises plus negated conclusion
- nested evaluation: select models, prompts, and thresholds inside inner folds and report outer-fold results
FormalRx: Rectify and eXamine Semantic Failures in Autoformalization
- partitioned semantic taxonomy: classify each mismatch into prioritized semantic, constraint, or implementation categories
- taxonomy-guided error injection: synthesize one labeled misalignment per applicable category from aligned seed pairs
- compile then re-tag filtering: discard invalid code, then independently validate labels, locations, and repairs
- unified diagnostic generation: emit verdict, category, location, and correction in one supervised forward pass
- two-stage equivalence scoring: exact-match outputs first, then judge semantically equivalent alternatives
FormalEvolve: Neuro-Symbolic Evolutionary Search for Diverse Autoformalization
- compilation-gated archive: retain unique verifier-passing candidates and reuse them as parents and context under a fixed call budget
- bounded repair and AST fallback: use compiler/judge feedback for capped edits, then apply call-free structural rewrites when mutation stalls
- repertoire evaluation: measure semantic coverage and concentration, then test deduplicated candidates under a fixed downstream prover-attempt budget
FMC: Formalization of Natural Language Mathematical Competition Problems
- corpus extraction and filtering β crawl authoritative problem PDFs, OCR them, split subproblems, and remove classes whose implicit constraints are systematically missed
- few-shot sampled translation β prompt with aligned examples and sample multiple formal statements at a controlled temperature
- verifier subprocess gate β compile each candidate in the target proof assistant and retain diagnostics for retries
- backtranslation consistency check β translate accepted formal statements back to natural language and compare conditions and goals
- error-feedback retry β place compiler or semantic-check failures into a revised prompt for iterative correction
- model and sampling ablations β compare models, prompts, and sample counts with explicit denominators and stage metrics
- theorem-prover benchmark β run fixed repeated trials on a random formal subset to measure generated-dataset difficulty
Fixed-Point Scaffolding in the Clef Programming Language
- edge-global-section checking β model lowering obligations on a finite poset and check compositionality on Hasse edges
- fixed-point proof-transformer recursion β tie nested nanopass traversal with a lazy combinator and certify passes as compositional proof transformers
- tiered solver obligations β place constraints in progressively stronger tiers and discharge typed mode shifts with the existing solver path
- parametricity preservation β obtain dimension-blind preservation from relational typing and use explicit proofs for value-dependent facts
- pairing-carrying types β carry negative/fractional duality as type-level PSG codata and MLIR attributes, with edge re-checks when construction is uncertified
FINER-SQL: Boosting Small Language Models for Text-to-SQL
- reasoning-bank distillation β collect structured teacher traces and fine-tune only completion tokens to initialize an SLM
- GRPO dense reward β optimize groups of rollouts with format, execution, memory, and atomic rewards
- memory reward β compare failed reasoning with cross-database verified prototypes using centroid cosine similarity
- memory quality gate β filter traces by length, schema density, lexical diversity, and similarity deduplication before insertion
- atomic operation reward β AST-decompose SQL and use shaped maximum Jaccard overlap against equivalent references
- reference enrichment β sample candidates, execute them, and retain denotationally matching SQL as structural references
- candidate selection β tune candidate count and temperature, then select by majority vote under measured latency/accuracy trade-offs
FGeo-TP: A Language Model-Enhanced Solver for Geometry Problems
- formal condition encoding β represent problem facts, goals, and theorem applications in a machine-readable predicate language
- baseline proof search β combine forward/backward reasoning with BFS, DFS, random, or beam expansion under a timeout
- theorem prediction β fine-tune a Seq2Seq Transformer to emit candidate theorem IDs from formal conditions
- beam union β retain top-k theorem sequences and merge their final predictions to improve recall
- guided pruning β execute checked predicted theorems before deterministic search to shrink the search space
- fallback hybrid β switch to baseline search after guided search timeout or failure
- difficulty stratification β measure solving rate, time, and steps by theorem-sequence length
Explaining Textual Entailment with Lexical Entailments: Using LLMs to Supply Lexical Relations for Formal Proofs
- LEX relation encoding: express needed lexical knowledge as directed, normalized specific-to-general relations
- multi-reference curation: annotate multiple valid explanation sets and adjudicate variation
- neuro-symbolic KB injection: generate relations, run a symbolic prover, and optionally revise after proof failure
- intrinsic/extrinsic diagnostics: score explanations with EM/F1 while separately counting machine-constructed proofs
Execution-State-Aware LLM Reasoning for Automated Proof-of-Vulnerability Generation
- persistent root-cause context: analyze entry prerequisites and crash predicates once, then reuse the semantic context
- dual instrumentation: build separate coverage and sanitizer binaries and verify instrumentation markers
- two-phase generation: explore to the vulnerable function first, then refine near-target inputs toward the triggering effect
- hybrid execution feedback: always provide coarse source-level coverage and query fine-grained coverage when stalled
- validated versus variant outcomes: distinguish matching sanitizer type/location from other crashes and report both denominators
Engineering as Code: Bringing Software Engineering Methodology to Engineering Design
- orthogonal declarative representation: separate typed identity, explicit relationships and spatial layout into versioned files
- layered static analysis: gate syntax, schemas, references, business rules and lightweight geometry before expensive downstream checks
- structured waivers: record ownership, rationale, expiry and downstream verification instead of silently bypassing rules
- diagnostic CI integration: emit machine-readable failures with stage-specific blocking policies
- violation injection: evaluate detection with known semantic edits and report denominator, latency and false positives
- agent benchmark design: score pass@k, latency, requirement coverage and human sign-off on generated declarations
Early Evidence of Vibe-Proving with Consumer LLMs: A Case Study on Spectral Region Characterization with ChatGPT-5.2 (Thinking)
- theorem scaffolding β provide a precise target, known boundaries, and a recognizable proof template before strategy generation
- trigonometric spectral reduction β derive multiplicative eigenvalue constraints, reparameterize by arguments, and optimize with convexity/majorization
- generateβrefereeβrepair β iterate candidate proof generation with targeted gap lists and local repairs
- parallel patch search β compare independent fixes for one obligation and retain only checkable patches
- versioned dependency control β keep drafts and transcript anchors, expose dependencies, and recheck downstream claims
- mechanized bottleneck checking β delegate algebra and inequality-domain obligations to CAS or certified checkers while retaining human boundary review
CTL* Verification and Synthesis using Existential Horn Clauses
- EHC encoding: represent constrained invariant implications and disjunctively well-founded relations, then solve with E-HSF
- CTL* elimination: recursively replace
X,G, andUwith Boolean monitor variables and fairness constraints - fairness proof: refute bad universal paths with a well-founded relation, or construct cyclic existential paths with ranked progress predicates
- hole synthesis: model missing guards and assignments as uninterpreted predicates constrained by intended behavior, then solve the translated EHC system
Circular Induction
- constructor derivative experiments β turn each constructor case into equation transformers and compose them into ground substitutions
- frozen circular hypotheses β block immediate self-use, derive constructor cases, and close cycles through incarnations
- special-hypothesis closure β add bounded experiment instances to support strong and non-linear induction
- subsort hypothesis compression β store generic frozen lemmas by source subsort and instantiate generated variables
- induction/coinduction composition β save a coinductive proof state, discharge an inductive lemma, then resume coinduction
Can Large Language Models Autoformalize Kinematics?
- parser-feedback repair: store failed formalizations and concise parser diagnostics, then retry under a fixed repair cap
- symbolic reference checking: execute the formal model and compare its result with an expected symbolic solution
- anti-stasis validation: require benchmark-specific state mutations so a model cannot pass by encoding only the desired answer
Bolzano: From Expert-Guided Proof Search to Automated Open-Problem Solving
- persistent research state β carry notes, candidate proofs, outcomes and summaries across parallel exploration rounds, with verifier-only updates
- self-contained open-problem extraction β check source status and literature, then package definitions, assumptions and question before proof search
- verifier-gated orchestration β critique all prover outputs and apply structured append/replace updates through one gate
- source-and-proof audit β separately test source support, proof correctness, scope, completeness and novelty before human review
Beyond Fail-to-Pass: Iterative Hardening of Co-Generated Bug Reproduction Tests and Fixes
- mutation patch evaluation: classify BRTs as Rigorous, Lax or Misaligned by running semantic mutants against current and golden tests
- test-first lax-init: create an observable reproduction test before allowing a fix
- temporal-matrix hardening: compare each new test with the previous test and reject high-laxity regressions
- bounded mutant sampling: generate admissible variants with targeted semantic operators and record the denominator
- phase ablation: measure each workflow phase separately for causal contribution
Beyond Benchmarks: MathArena as an Evaluation Platform for Mathematics with LLMs
- evolving benchmark portfolio: add, retire and rerun versioned tasks with public outputs and metadata
- false-claim perturbation: turn true research statements into false ones and test whether models reject them
- formalization plus independent checker: manually validate generated Lean statements and block syntax-level cheating
- multi-protocol proof grading: combine official grading, expert rubrics, jury scoring and manual review
- cost and trace reporting: publish per-model scores, expected cost, outputs and benchmark context together
Automatic Verification of Floating-Point Accumulation Networks
- FPAN gate decomposition: represent fixed floating-point kernels as
TwoSumnetworks and prove retained nonoverlap plus discarded-error bounds - SELTZO abstraction: track sign, exponent, and leading/trailing mantissa runs to reduce finite-precision reasoning to QF LIA
- one-sided abstract counterexample reduction: prove a concrete property from unsatisfiability of an overapproximated abstract counterexample formula
- solver-backed tight error proofs: combine SMT unsatisfiability with algebraic postprocessing to derive relative error bounds and compare solver cost
Automatic Assertion Mining in Assertion-Based Verification: Techniques, Challenges, and Future Directions
- trace and static mining: generate candidates from simulations and causal static analysis, then formally check them
- dependency-graph mining: extract signal/state relations, refine and abstract them, and model-check generalized properties
- template plus ILP selection: generate template candidates, measure injected-fault coverage, and retain a compact maximizing subset
- parallel hint mining: search template permutations in parallel, rank with context-aware metrics, filter, and cluster
- association-rule mining: discover temporal rules in traces, tune corner-case thresholds, and convert rules to assertions
- coverage hygiene: treat traces, fault coverage, thresholds, and model checking as separate evidence with explicit blind spots
Automated Strategy Invention for Confluence of Term Rewrite Systems
- sound strategy-space restriction β constrain learned processor combinations to confluence-preserving, certifiable operations
- complementary portfolio invention β evolve and specialize a bounded set of strategies, then combine them under a schedule
- balanced synthetic benchmarks β generate random systems, label them under fixed budgets, deduplicate, and cap dominant classes
- independent certificate evaluation β compare on held-out instances and verify outputs with an external checker
Automated Multi-Agent Workflows for RTL Design
- verifier-in-the-loop cascade β run candidate RTL through deterministic checks and escalate prompting operators when failure percentage exceeds a learned threshold
- threshold tuning from failures β learn stage thresholds from verifier failure counts on a 500-example calibration set with 20 candidates each
- PPA-aware objective β substitute synthesis area or other downstream metrics into the controller objective while retaining formal checks
- diagnostic feedback routing β feed synthesis and verification logs into the next workflow decision
ASSESS: A Semantic and Structural Evaluation Framework for Statement Similarity
- operator-tree representation: parse formal statements into ordered trees with explicit operator slots and omitted redundant parentheses
- normalized TED: compute insert/delete/relabel distance and divide by the larger treeβs node count
- semantic transformation metric: search proof-preserving transformations while guiding search with TED
- bounded heuristic proof search: use curated rewrite/tactic suggestions and stop on proof, node, or time limits
- expert benchmark construction: compiler-filter generated statements and annotate provability plus pre/post-transformation likeness
- threshold calibration: sweep score thresholds on the target benchmark and report the denominator and Kappa optimum
- failure-aware triage: use continuous similarity to expose near misses while retaining a sound prover for final acceptance
AlgoSkill: Learning to Design Algorithms by Scheduling Human-Like Skills
- typed skill state: represent problem, plan, code, failures and complexity explicitly and permit only precondition-satisfied skills
- verifier-guided MCTS: search skill sequences using compilation, tests, oracle and complexity rewards
- local skill credit: update a skillβs value from the reward change after its transition
- symbolic plus empirical complexity: compare operation-graph estimates with fitted runtime exponents
- counterexample repair: feed failed tests, verifier messages and stress failures into later typed skills
Algorithms and Complexity of Difference Logic
- difference-logic normalization β encode arithmetic VCs as interval differences and classify by arity and coefficient bound
- bounded-span recursion β solve binary disjunctive constraints by certificates, bounded-span cases, and recursive splits
- treewidth dynamic programming β exploit incidence-tree decompositions with
(n k)^{O(w)}tables when numeric values are bounded - hardness triage β use ETH and W[1]/pNP results to detect VC fragments that cannot have the desired fast automation
AI Evaluation Should Measure Verification Cost, Not Correctness Alone
- verification-cost error: classify an incorrect output by the fraction of verifiers unable to establish its error within a declared budget
- fixed measurement specification: compare systems only with the same cost unit, verifier population, budget, threshold, tools, interface, and dataset
- ground-truth separation: keep reference correctness independent from the verification trace measuring human behavior
- bounded stopping rule: terminate on confidence, budget exhaustion, or unverifiability and report all four outcomes
- verifier controls: use a known-correct baseline, at least three verifiers, experience metadata, and agreement alongside accuracy
- stratified burden reporting: separate correct and incorrect outputs and report observed effort with correct-refutation success
- three-state classification: report confirmed, rejected, and inconclusive VCEs with the finite-sample interval rule
- model-level indicators: aggregate success probability, budget consumption, confirmed rate, inconclusive rate, and their envelope under a fixed protocol
Agentic Agile-V: From Vibe Coding to Verified Engineering in Software and Hardware Development
- conversation-to-contract gate β turn exploratory dialogue into a reviewed brief with executable acceptance criteria before edits
- SCOPE-V loop β specify, constrain, orchestrate, prove, evolve, and verify each agentic task
- risk-adaptive acceptance β match tests, formal checks, review, and sign-off to R0βR3 task risk
- evidence bundle β preserve requirements, plans, commands, results, traces, residual risks, review, and rollback evidence
- feature workflow β implement the smallest planned slice, test alongside it, and record evidence before review
- bug-fix workflow β diagnose causally, reproduce, add a regression test, patch minimally, and explain residual scope
- hardware/firmware gate β require simulation, formal properties where applicable, HIL, timing/protocol evidence, and traceability
A Task-Centric Ontology and Deterministic Domain Rules as a Verifiable Core for AI-Assisted Chemistry Problem Solving
- task-centric ontology derivation β derive classes, relations, applicability conditions, and output checks from a bounded task collection
- rule/fallback separation β label reusable ontology procedures separately from task-specific expert mappings and report each denominator
- six-stage deterministic pipeline β intake, parse, route, look up context, produce a traced answer, and validate output structure
- normalized-frame translation β have an LLM emit a constrained task frame while deterministic code performs domain reasoning
- mismatch-driven rule repair β classify each disagreement by semantic scope, applicability, heuristic, or arithmetic failure and repair the reusable rule
A Spectral Proof of Khachiyanβs Ellipsoid Conjecture
- affine normalization β map a maximizing ellipsoid to the unit ball and replace a central cut by a displacement norm
- midpoint ellipsoid β combine a feasible unit ball and candidate to derive trace constraints from maximality
- joint spectral bounds β retain two determinant bounds and optimize their pointwise minimum by concavity
- rank-one trace estimate β handle noncommuting displacement with Loewner comparison and fractional trace powers
- independent proof routes β formalize derivative and resolvent proofs with the same hypotheses and conclusion
- sharpness witness β use explicit circular cones and contact weights to prove the universal constant is optimal
- reproducible audit β pin tool/library versions, rebuild cleanly, audit declarations and axiom dependencies
A Sequent Calculus For Trace Formula Implication
- trace-formula consequence: prove program behavior by inclusion between least-fixed-point trace specifications
- fixed-point induction: use an invariant to prove inclusion for unknown recursive bounds
- procedure contracts: summarize the state after non-tail recursive fixed points with pre/post conditions and old values
- Β΅-formula synchronization: align recursive bodies by grammar-derived trace-language inclusion
A manifesto for applicable formal methods
- scoped applicability: define supported domains, models, assumptions, and user guidance before claiming a proof
- procedural verification: give users a step-wise recipe covering contracts, abstraction, refinement, and composition
- engineering integration: connect formal specifications to existing languages, models, tools, and development processes
- explainable claims: state the exact theorem, assumptions, and independently checkable evidence
- abstraction automation: automate tedious proof and modelling work while checking generated artifacts
- practical scalability: measure effort and results against code, obligations, requirements, or system complexity
- transfer strategy: provide prerequisites, examples, training, and manuals that ordinary engineers can use
- usefulness evidence: compare faults, requirements, or economic outcomes with a conventional alternative
- ease-of-use evidence: measure user gain/effort separately from tool runtime
- credible evaluation: publish representative, runnable artifacts, limits, barriers, and complete denominators
A Kernel-Checked Exclusion Certificate for ErdΕs Problem 647
- kernel-checked witness chains: cover a bounded universal claim with gapless intervals whose witnesses are checked by a small kernel-level predicate
- maximal smooth-part bounds: certify divisor lower bounds from maximal prime powers and double for a coprime residual cofactor
- untrusted generation with independent replay: keep search scripts outside the trusted base and cross-check their output with independent implementations and reproducible builds
ZKP Security Tools and Verification: Coverage, Effectiveness, Adoption, and Challenges
- ZKP stack decomposition β separate computation, constraints, witness generation, prover, verifier, and recursion artifacts
- isolated/project tool evaluation β measure bug detection on wrappers and full codebases with explicit compile, error, timeout, and detection labels
- formal-goal matrix β distinguish CC-S, CC-C, WC, PC, PS, and VC obligations for soundness and completeness
- model creation strategies β choose extraction, IR translation, hand-written models, or correctness by construction with their correspondence assumptions
- proof-backend selection β match interactive theorem proving, SMT, or specialized tactics to algebraic scope and CI needs
- trusted-base audit β report verified components, specifications, model gaps, extraction tools, kernels, axioms, and theorem fidelity
VeriSafe Agent: Safeguarding Mobile GUI Agent via Logic-based Action Verification
- Horn-clause intent DSL β encode user goals as typed predicates, ordered objectives, and
Donerules - developer state library β expose named typed state predicates and application-specific update triggers
- self-corrective encoding β repair LFM specifications with syntax/type checks and decode-then-compare semantics checks
- experience-driven encoding β retrieve previously successful predicates to constrain later formalization
- two-tier runtime verification β use reversible soft predicate checks and blocking hard rule checks for critical actions
- structured feedback β generate roadmap, predicate, and rule feedback from unmet logical conditions
- majority verification β repeat stochastic encoding or decisions and return the majority result
Verified Path Indexing
- path-index filter β store every term at symbol/argument paths and retrieve a superset characterized by linear unification, then run exact unification
- position-indexed trie invariants β parameterize soundness and completeness by a subtrieβs path prefix so recursive proofs apply
- verified maintenance β prove insertion and deletion preserve well-structured, sound, complete, and minimal storage and specify their abstract set effect
- retrieval soundness/completeness β prove recursive path retrieval returns exactly the stored terms satisfying the chosen linear relation
Verification of a Generational Garbage Collector
- client-facing graph-isomorphism contract β specify collection by preservation of the root-reachable graph, while hiding addresses and collector internals
- graph-to-separation-logic embedding β represent shared and cyclic heap graphs with a graph library plus focused local resources
- functional-model refinement β prove imperative C code implements an inductive Rocq relation, then prove the relationβs abstract theorem
- root-frame allocation discipline β register live pointers before collection and prove post-collection headroom before allocation
- Cheney forwarding invariant β use forwarding pointers,
scan/nextclosure, and explicit from/to-space conditions - remembered-set write barrier β record pointer stores and maintain an indexed old-to-young edge coverage invariant
- interior/exterior pointer split β distinguish graph fields from root or outlier locations and prove each resource case
- generation-loop induction β compose one-generation isomorphisms and remembered-set preservation through the outer loop
- client adequacy feedback β strengthen contracts when realistic clients expose omitted semantic cases
- C-semantics axiomatization β isolate nonstandard tagged-value and pointer-range operations as explicit trusted assumptions
Velosiraptor: Code Synthesis for Memory Translation
- behavioral mapping DSL β model memory translation as a partial stateful map, then compose segments with enumeration and static-map rules
- contract-directed synthesis β declare
addmap,setperms, anddelmappostconditions and search control-interface sequences that satisfy them for all valid states - grammar-constrained generation β derive candidate programs from legal register and memory interface operations rather than arbitrary code
- predicate decomposition β split conjunctive goals into subgoals, synthesize partial programs, and merge only after each subgoal checks
- dependency-based API reduction β project state and interface operations onto fields relevant to the current goal
- balanced-tree synthesis β combine partial candidates in a tree so failed combinations are rejected before full Cartesian-product search
- delayed-write modeling β synthesize first under immediate visibility, then add buffers, cache operations, and barriers and re-verify
- SMT query caching β cache pending and completed candidate checks and schedule higher-level tree queries first
Translator vs. Challenger: Adversarial Agentic Learning for C-to-Rust Translation
- structured four-field insight bank β store trigger, goal, constraint, and risk with semantic tags and retrieve by project context
- single-insight adversarial refinement β generate executable boundary challenges and accept field updates only after replayed compiler/test evidence
- compositional insight refinement β select compatible insight sets, jointly challenge them, and learn precedence or coordination constraints
- execution-guided project migration β combine dependency ordering, retrieval, compiler/test repair, and trace reflection into a continual loop
TRACTOR Benchmark for Evaluating C to Rust Translators
- observable test-vector equivalence β compare C and Rust stdout, stderr, return codes, ABI state, and filesystem changes with JSON vectors
- UB-aware scoring β classify undefined behavior, preserve or deliberately change semantics, and exclude marked UB vectors from automated scoring
- semantic unsafe measurement β count compiler operations requiring unsafe and review whether each boundary is justified
- rubric-based idiomaticity β combine rustc/Clippy/Lizard measurements with six-dimensional manual Likert review
- reproducible performance measurement β randomize cloud jobs, warm up, and measure throughput, perf-stat runtime, and Massif memory
- staged C-to-Rust batteries β escalate from affine-safe B01 features to aliasing, ownership, type erasure, cleanup, and large B02/P02 projects
Tractable Verification of Model Transformations: A Cutoff-Theorem Approach for DSLTrans
- cutoff theorem β derive a finite complete bound for local monotone transformations and bounded positive properties
- direct SMT encoding β check
world β§ rules β§ precondition β§ Β¬postconditionwith Z3 - fragment CEGAR β verify a minimal rule fragment and add omitted rules only when a counterexample matches them
- per-class fixed-point bounds β allocate slots by source seeds, closures, and rule production instead of one global bound
- trace-aware pruning β retain rules by source-to-target provenance and backward-link dependencies
- factored postconditions β split independent existential witnesses into equisatisfiable component formulas
- tractability property refinement β specialize preconditions, add markers, and decompose postconditions to reduce search
Towards benchmarking of Solidity verification tools
- ground-truth verifier benchmark: maintain informal properties, multiple satisfying/violating implementations, tool encodings, and an explicit judgement for every task
- soundness-weighted scoring: score strong and weak claims separately, make false positives more costly, and give unsupported or non-expressible tasks zero
- semantic boundary probes: isolate external calls, reentrancy, asynchronous balance changes, caller identity, temporal sequences, and liveness in minimal contracts
- reproducible toolchain: automate task generation, verifier execution, and result aggregation across every benchmark task
Towards a Common Framework for Autoformalization
- four-part autoformalization contract β define input scope, target formal language, intended semantic equivalence, and an executable validation criterion
- matched semantic validation β choose checks that exercise the targetβs behavior, such as entailment, payoff enumeration, plan cross-validation, or ontology reasoning
- interactive formalization β ask clarifying questions about ambiguity and assumptions before committing to formal code
- target-language selection β balance expressiveness, verification tractability, available tools, and workflow needs
Tool Verification for Test-Time Reinforcement Learning
- verification-weighted pseudo-labeling β sample unlabeled rollouts, verify each candidate, upweight verified answers by
Ο, and train against the weighted consensus - executable trace checking β compile a rolloutβs claimed computation into a restricted program, execute it in a sandbox, and compare output to the extracted answer
- domain solver verification β translate candidate logical claims into SMT-LIB2 constraints and use a solver such as Z3 as external evidence before reward assignment
- soft verifier weighting β use finite
Ο>1because noisy verifiers make hard filtering brittle; retain unit mass for unverified candidates - verifier-capacity evaluation β measure verifier accuracy and run ablations with self, external, and undersized verifiers before trusting verification-shaped updates
Token Budgets: An Empirical Catalog of 63 LLM-Agent Budget-Overrun Incidents, with an Affine-Typed Rust Mitigation as a Case Study
- affine owned budgets β make split, spend, merge, and delegation consume non-cloneable values so aliasing and stale use fail to compile
- conservative reservation β estimate provider charge, subtract before calling, then reconcile through a receipt under explicit provider assumptions
- capability-gated minting β isolate the constructor that creates budget authority and audit every caller
- compile-fail ownership tests β use targeted trybuild cases and rustc diagnostics to mechanically demonstrate forbidden clone, double-spend, and post-split use
- specification cross-checking β combine TLA+/TLAPS/TLC, Coq or Dafny encodings, Verus obligations, and bounded Loom schedules as consistency evidence while keeping binary refinement open
- delegation race experiment β compare racy, locked, affine-split, and shared-mutex conditions with explicit trial denominators and cap settings
The Top-Down Solver Verified: Building Confidence in Static Analyzers
- strategy-tree equation model β represent pure black-box right-hand sides as finite query/answer trees with dynamic dependencies
- plain TD reference solver β prove recursive descent and fixpoint iteration correct before optimization
- trace-based mutual induction β derive invariants over the computation trace of mutually recursive calls
- stable-value caching β skip reevaluation when an unknown depends only on unchanged stable values
- influence-map destabilization β invalidate transitive dependants precisely after a value changes
- executable refinement β extract option-based executable code from a proof-friendly recursive specification
The Rise of AI-Native Software Engineering: Implications for Practice, Education, and the Future Workforce
- verification pillar β specify intent, inspect AI output, test and security-review it, and calibrate trust before accepting it
- role-based orchestration β assign bounded specification, implementation, and review roles and pass checkable artifacts between them
- AI-resilient assessment β evaluate specifications, tests, rationales, reflective logs, and defenses rather than generated code alone
Symbolic Execution Meets Multi-LLM Orchestration: Detecting Memory Vulnerabilities in Incomplete Rust CVE Snippets
- role-specialized JSON orchestration β split planning, safety analysis, wrapper generation, and KLEE tuning into sequential agents with persisted artifacts
- incomplete-code FFI synthesis β replace missing Rust context with primitive/raw-pointer exported functions and retry compilation before a fallback template
- KLEE harness construction β make every argument symbolic, bound it with
klee_assume, and branch withklee_rangebefore symbolic execution - typed error triage β prioritize pointer errors and interpret external errors according to whether they arise from CVE-specific or generic wrapper code
- graph_klee aggregation β convert KLEE files into CVE, CWE, error-type, and symbolic-path nodes with labelled cross-CVE edges
Step-Wise Formal Verification for LLM-Based Mathematical Problem Solving
- SimpleMath formalization: translate natural-language steps into a first-order-like Fitch context
- sparse solution graph: provide each critic only the direct premises of its conclusion
- tool-integrated criticism: combine LLM reasoning with symbolic calculation and SMT satisfiability checks
- feedback refinement: regenerate a failed solution using critic explanations until a bounded stopping condition
- all-steps selection: accept a candidate only when every formalized step is judged correct
Software Verification with CPAchecker 3.0: Tutorial and User Guide (Extended Version)
- configurable program analysis β choose an abstract domain and precision, then refine precision with CEGAR as counterexamples require
- value and interval analysis β track concrete assignments or numeric ranges, with path sensitivity, widening, and refinement matched to the proof goal
- symbolic and predicate abstraction β preserve symbolic constraints or learn loop predicates through interpolation to prove reachability properties
- bounded and inductive model checking β use bounded SMT unrolling for bugs and k-induction/interpolation for unbounded invariants
- symbolic memory graphs β combine symbolic execution and heap graphs to detect invalid access and leaks
- termination ranking β detect repeated loop states or prove decrease with a ranking function
- overflow reachability β encode signed/unsigned overflow as error locations and check with a standard analysis
- witness validation β export correctness/violation evidence and replay it with a restricted, property-specific analysis
- coverage test generation β generate vectors or harnesses for branch, statement, function-call, or error-call goals
Security Is Relative: Training-Free Vulnerability Detection via Multi-Agent Behavioral Contract Synthesis
- semantic slicing β retain only diff-relevant code and required context before reasoning
- requirement reverse engineering β synthesize exact Gherkin secure-behavior scenarios from a patch
- contract judging β classify code by strict compliance with an explicit behavioral contract
- structured multi-agent prompting β enforce XML schemas, role separation, and bounded reasoning
- contract completeness auditing β target omitted conditions and vacuous checks as first-class failures
Scylla: Translating an Applicative Subset of C to Safe Rust
- typed Mini-C normalization β translate Clang C ASTs into fixed-width, explicitly converted expression language before Rust generation
- annotated union and tuple reconstruction β turn tagged unions into checked variants and selected structs into structurally typed tuples
- ownership-directed pointer lowering β map pointers to slices by default and infer
Boxownership with a fixed point - split-tree pointer arithmetic β compile disjoint C offsets into deterministic
split_at/split_at_mutchains - backward mutability inference β propagate update requirements from uses to Rust bindings and function signatures
- trait fixed-point derivation β derive
Copy,Clone, andPartialEqonly when recursive field constraints permit
Safety and Security Critical Systems with Rust
- deductive specification checking β state a formal contract and use Frama-C or Creusot to prove C or Rust implementation adherence
- type-state hardware APIs β encode legal hardware access states in Rust types so invalid transitions are rejected by compilation
- stack and schedulability analysis β combine call-graph stack bounds with worst-case execution-time and schedulability analysis
- heapless and fallible allocation β use bounded preallocation or fallible allocator results so out-of-memory behavior is explicit
- audited drop obligations β require unsafe markers or lint checks for intentional leaks and preserve resource-release obligations
Safe and usable kernel extensions with Rex
- safe-subset kernel extensions β enforce a no-unsafe, no-std Rust subset and expose kernel helpers through typed wrappers
- typed helper bounds β use generic and const-generic types so pointer sizes and array lengths are fixed at compile time
- safe transmutation β seal a trait and permit byte-to-struct casts only for recursively safe target types
- panic resource cleanup β record helper-acquired resources per CPU and release them in a trusted panic handler
- hybrid stack and watchdog checks β combine static call-graph sizing with runtime stack checks and per-CPU timer termination
RustPruner: A Program Slicing Tool for Rust Programs
- proof-entry slicing β use verification attributes and assertions as backward slicing sinks
- goto dependency reduction β obtain Kani CFGs and remove nodes unrelated to proof outputs with CBMC
- span-based AST collection β index complete Rust item scopes with
synvisitor spans - ownership-preserving reconstruction β copy complete dependent definitions, imports, and scopes into a new source file
- post-slice validation β compile and re-run the verifier, comparing selected verification properties and recording failures
RustMap: Towards Project-Scale C-to-Rust Migration via Program Analysis and LLM
- dependency scaffolding β map C functions, globals, macros, and headers into mergeable Rust translation units
- dynamic/static graph ordering β combine test traces, conservative call graphs, DFS, and Tarjan SCCs
- compiler-feedback repair β iterate rustc diagnostics with bounded LLM retries
- execution-state localization β binary-search corresponding C/Rust states before asking for a fix
- alias and control-flow rewrites β replace raw aliases, fall-through, and goto with vectors, state loops, and explicit results
Review Beats Planning: Dual-Model Interaction Patterns for Code Synthesis
- review-then-fix β generate code freely, review it against the specification, and feed concrete bug reports back for one fix pass
- verifier/test feedback loop β compile and test visible examples, then perform bounded repairs from diagnostics
- adversarial dual-generation β generate independent candidates, select passing outputs, and synthesize after both fail
- specification-richness measurement β compare review gains across explicit and lean contracts with fixed denominators
Proof Flow: Preliminary Study on Generative Flow Network Language Model Tuning for Formal Reasoning
- history-augmented proof states: include initial state and tactic history so each trajectory state has one parent
- trajectory-balance fine-tuning: train a forward tactic policy against terminal reward, backward flow, and learned log partition
- verifier-shaped partial reward: combine exact completion/error signals with a reward model for incomplete trajectories
- replay-buffer GFlowNet training: mix replayed and newly sampled proof trajectories and measure off-policy instability
- online and binary-reward ablations: separate replay effects from reward-model effects under matched search budgets
- Lean trajectory collection: execute every sampled tactic in the proof assistant and retain only state transitions with verifier feedback
Products of Recursive Programs for Hypersafety Verification (Extended Version)
- recursive product programs: reduce k-run hypersafety to one safety proof while preserving single-stack recursion
- visibly pushdown alignment: restrict interleavings to well-nested call/return traces represented by VPA, NWA, or VPG
- lex reductions: select minimal representatives under a proved commutativity relation using contextual orders and sleep-set construction
- canonical schedules: compose lockstep, rate-based, and nested-concatenation building blocks chosen from the relational property
- grammar-to-chc encoding: encode product automata or grammars as inductive Horn constraints with context-sensitive return tracking
PRO-V-R1: Reasoning Enhanced Programming Agent for RTL Verification
- program-generated stimuli β execute code to construct precise, coverage-driven input vectors
- functional reference modeling β generate cycle-aligned expected outputs and compare DUT simulation
- majority-vote self-correction β select, validate, and surgically edit candidate artifacts
- simulation-filtered SFT β train only on trajectories whose tool executions match
- structured tool-reward RL β assign agent-specific rewards from format and functional outcomes
PolicyKG: An Agentic LLM Pipeline for Translating Institutional Policies into SHACL Knowledge Graphs
- staged FOL+deontic intermediate β classify policy prose, formalise modality explicitly, then deterministically emit SHACL
- validator-directed retry and fallback β use stage diagnostics for one repair and route irreducible formulas through direct NLβSHACL
- Corpus Adapter grounding β select predicates from a registry, canonicalise residual names, and swap registries for domain transfer
- two-pass expressiveness audit β scan six higher-order signatures and manually inspect fallback rules before claiming FOL adequacy
PatchPilot: A Cost-Efficient Software Engineering Agent with Early Attempts on Formal Verification
- fixed rule workflow: run reproduction, localization, generation, validation, and bounded refinement in a deterministic order
- hierarchical localization: narrow from files to functions to lines using PoC traces and code-search tools
- plan-then-generate: produce multi-step patch plans and validate each step before final candidates
- contract synthesis: ask an LLM for preconditions and postconditions, then filter with counterexamples
- formal patch checking: rerun symbolic verification on patched functions and reject any counterexample
- validation-guided refinement: repair the best partial patch using failed tests and rerun localization when needed
Ownership guided C to Rust translation
- ownership-monotonicity analysis β model pointer access paths with Boolean ownership variables, constrain transfers and aliases, and solve the constraints with SAT
- ownership-guided pointer retyping β map owning paths to
Option<Box<T>>, output parameters to mutable references, and preserve unsupported arrays or lifetimes as raw pointers - context-sensitive use rewriting β rewrite moves, borrows, raw conversions, and dereferences with
take,as_deref_mut,as_ref,as_mut, andBox::from_raw - loop and null ownership handling β analyze loop bodies once with entry/exit equalities and make null branches explicit so ownership constraints remain consistent
ORBIT: Guided Agentic Orchestration for Autonomous C-to-Rust Transpilation
- dependency-aware translation order β build intra- and inter-module graphs, topologically sort, and group cycles
- iterative scaffolding β create typed Rust interfaces and repair compilation after each structural stage
- two-tier mapping β exact static lookup first, semantic agent fallback second, with path validation
- independent completion checks β reject stubs/TODOs and independently rerun toolchain checks
- per-unit verified orchestration β translate, compile, refactor, and test each mapped unit before advancing
Mythos and the Unverified Cage: Z3-Based Pre-Deployment Verification for Frontier-Model Sandbox Infrastructure
- AST-to-bitvector reachability β extract arithmetic patterns and ask Z3 for SAT witnesses under exact machine widths
- bound-to-UNSAT proof β add explicit input guards and prove the overflow predicate impossible in the bounded domain
- reduced production encodings β validate the same predicate on real C/C++ cases while preserving cast and width semantics
- layered containment β combine deployment scanning, pre-execution policy, output firewalling, and runtime observability
- compiled invariant guards β turn offline Z3-derived bounds into constant-time runtime checks
- dataflow escalation graphs β compose successive CWE predicates so one witness becomes the next stageβs input
Lifting the Reasoning Level in Generic Weak Memory Verification (Extended Version)
- view-based generic memory reasoning: abstract per-thread observations and prove programs under named memory-model axioms
- lifted construct rules: replace repeated weakest-precondition calculations with sound fence, read, write, and general Hoare rules
- axiom-audited WRC proof: annotate a litmus-test proof outline and record the exact axioms required by each triple
- portability checking: transfer a proof only when the target memory model satisfies the collected axiom set
LemmaHead: RAG Assisted Proof Generation Using Large Language Models
- context-preserving RAG corpus β OCR authoritative sources, chunk complete problemβsolution units, embed them, and retrieve top semantic matches
- enhanced query generation β ask the model for theorem and lemma keywords before vector retrieval
- iterative proof augmentation β regenerate queries and proofs from the current draft for a fixed iteration budget, then verify once
Klever: Verification Framework for Critical Industrial C Programs
- graph-guided decomposition: split large source trees with call/build graphs, configurable tactics, and manual refinement
- scenario environment modeling: encode callbacks, interrupts, globals, and external calls as transition-system actions and rendezvous signals
- reachability specifications: weave model state and error calls so API rules become unreachability properties
- reproducible task generation: assemble merged source, property, task, and benchmark files under verifier profiles and resource limits
- witness and coverage triage: source-link traces, merge coverage, classify warnings, and compare marks across versions
Integrating Rules and Semantics for LLM-Based C-to-Rust Translation
- rule-augmented retrieval β classify C AST fragments and retrieve category-matched CβRust examples with BM25
- structured semantic summary β expose input, output, and functionality before code generation
- error-driven translation β compile generated Rust and iteratively repair from concrete diagnostics
- safety-aware translation rules β encode pointer, I/O, integer-width, and array-index conventions as reusable hints
Generative AI Augmented Induction-based Formal Verification
- specification-plus-RTL helper synthesis β prompt an LLM with a hardware specification and RTL, verify generated SVA, and reuse proven assertions as assumptions
- CEX-guided induction repair β feed an inductive-step waveform and RTL to an LLM, then verify the generated invariant in the next proof iteration
GDPR Auto-Formalization with AI Agents and Human Verification
- conditionβexception rule trees β represent norms as explicit conditions with higher-priority exceptions
- deterministic rule evaluation β compute labels from a closed fact set before subjective review
- role-separated verifier agents β independently score scenario, representation, logic, and legal fidelity
- bounded feedback refinement β regenerate below a score threshold using verifier feedback
- human meta-review β inspect abstraction and scope failures that executable checks cannot detect
FVDebug: An LLM-Driven Debugging Assistant for Automated Root Cause Analysis of Formal Verification Failures
- causal CEX graph β recursively derive signal-event dependencies and merge reconvergent trees into a DAG
- token-aware graph scanning β pre-cache context and binary-search batches under a token budget while scanning topological levels
- for-and-against prompting β require evidence on both sides, exact source references, and a balanced suspicion score
- agentic hypothesis exploration β maintain competing narratives, select informative frontier nodes, and rank evidence-backed explanations
- ensemble fix generation β generate patches from diverse context strategies, validate application, deduplicate, and rank by consensus
- structured debug report β emit hypotheses, evidence, causal timeline, validated fixes, and specification cross-references
Fuzz Driver Synthesis for Rust Generic APIs
- generic API dependency graph β model API consumers, producers, concrete-to-generic matches, and valid call reachability
- fixed-point monomorphization β iteratively infer reachable concrete type substitutions, enforce trait bounds, and cap nested types
- implementation-cover pruning β greedily retain monomorphic APIs that cover distinct trait implementations and reserve their producers
- rustdoc normalization β extract APIs and apply explicit borrow, pointer, and wrapper type transformations
- bounded fuzz-driver synthesis β generate at most 300 reachable sequences and fuzz each selected generic instance
- generic differential bug triggering β exercise multiple trait implementations of one API to expose implementation-specific failures
From Solvers to Research: Large Language Model-Driven Formal Mathematics at the Research Frontier
- autoformalization with verifier filtering β translate informal mathematics to explicit ITP statements, then filter with compilation and proof checks
- verifier-feedback training β turn proof-assistant success and errors into rewards and repair signals
- draftβsketchβprove decomposition β plan informally, expose formal subgoals, and solve them incrementally
- theorem retrieval with proof memory β retrieve typed lemmas and retain verified subproofs for later goals
- search-in-the-loop proving β use MCTS, best-first, graph, or critic-guided search to collect validated trajectories
- multi-agent proof orchestration β specialize formalization, planning, proving, criticism, and verification around a shared subgoal cache
From Natural Language to Certified H-infinity Controllers: Integrating LLM Agents with LMI-Based Synthesis
- structured specification extraction β convert natural language to validated numeric or logical fields with deterministic fallback
- certificate-bearing synthesis β formulate a solver problem whose feasibility yields an explicit mathematical performance certificate
- verification-feedback loop β combine formal certificates with bounded simulation, classify violations, and refine through guarded iterations
- guardrail adaptation β adjust optimization floors using severity and iteration history while keeping changes explicit and reviewable
Foundational Verification of Smart Contracts through Verified Compilation
- foundational contract language: use a small modular language whose generated Coq/Verus model is the proof surface
- ideal-data refinement: prove functional properties over mathematical maps and integers, then discharge concrete representation and overflow side conditions
- environment reachability: define blockchain or system transitions explicitly and induct over reachable states for temporal properties
- layered compiler simulation: connect source, intermediate representations, and target semantics with composable forward simulations
- gas-aware optimization: prove local observational equivalence and strict cost decrease for exhaustive peephole rewrites
FormalProofBench: Can Models Write Graduate Level Math Proofs That Are Formally Verified?
- dual informal/formal task curation: select advanced problems and have an independent Lean expert review statement fidelity
- bounded agentic proof loop: combine theorem search, code execution, diagnostic feedback, and a fixed 40-turn submission budget
- kernel-only acceptance: accept a proof only when the exact Lean kernel compiles it and reject escape-hatch declarations
- execution-guided search: run candidate code early and use concrete diagnostics to focus subsequent lemma searches
- contamination-resistant private benchmark: keep formalizations private while reporting deterministic kernel-checked accuracy, cost, and latency
FormalMATH: Benchmarking Formal Mathematical Reasoning of Large Language Models
- compile-and-filter autoformalization: generate formal statements and retain only candidates accepted by the formal compiler
- best-of-N ensemble translation: sample candidates from multiple autoformalizers before semantic filtering
- back-translation semantic checking: translate formal statements to natural language and require alignment with the source
- negation-based disproof: prove a transformed negation to reject false or unprovable formalizations
- expert funnel review: record preservation rates and have domain experts approve the final formal statements
- parallel proof verification: centralize expensive library imports and check independent proof states concurrently
Formally Verifying Noir Zero Knowledge Programs with NAVe
- dual ACIR encoding β translate finite-field constraints both to cvc5 finite-field terms and modular integer arithmetic
- opcode semantics β formalize assertions, ranges, memory reads/writes, and expressions as SMT constraints
- mutation-index memory model β version each memory block after writes so sequential reads and writes remain first-order constraints
- unconstrained-code audit β model Brillig or other unconstrained operations explicitly as unconstrained and require separate matching assertions
- proof-obligation annotation β use an inert
verify_assertcall to state a relation without changing the generated circuit - counterexample extraction β check satisfiability of constraints conjoined with the negated obligation and return the witness model when satisfiable
- stable-IR verification β verify ACIR instead of a fast-changing source DSL to reuse semantics across front ends
- backend portfolio β run finite-field split, finite-field gb, and integer encodings because solver performance varies by constraint shape
- range-check stress testing β track range-opcode count and maximum bit width because bitsum constraints can cause long runs or timeouts
Formally Verified SAT-Based AI Planning
- AST trust boundary β verify encoder/decoder over syntax trees and isolate parsers, printers, and external solvers
- stepwise refinement β prove FD-ASTβFDRβSTRIPSβformulaβDIMACS preservation one translation at a time
- parallel SAT encoding β unroll bounded planning with frame and non-interference clauses
- verified model decoding β turn a SAT model into a plan only under a proved entailment relation
- reference-oracle testing β compare an unverified planner with the verified encoder to expose false UNSAT claims
- certificate checking β verify UNSAT certificates separately so both SAT and UNSAT outputs carry guarantees
Formally Verified EVM Block-Optimizations
- translation validation β prove each original/optimized pair equivalent with a verified checker instead of verifying the optimizer
- symbolic execution β execute both programs on symbolic inputs and prove correspondence to concrete execution
- sound rewrites β simplify symbolic states only with individually proved semantics-preserving rules
- checker soundness β use recursive syntactic comparison as a sound but incomplete approximation to semantic equivalence
Formally Verified Binary-level Pointer Analysis
- generic simulation interface β prove concrete-step inclusion and a reachability invariant once over an abstract-domain contract
- proof-obligation-driven domains β require join, concretization, separation, enclosure, and operation laws before instantiation
- precision tiers β provide constant, base, and source pointer domains with a shared sound interpreter
- explicit separation assumptions β distinguish necessary from desirable alias assumptions and expose them in the trust boundary
- fixed-point binary analysis β revisit instruction addresses, join states, and stop when a stored abstract state subsumes the current one
- context-sensitive summaries β derive pointer pre/postconditions per function and compose them across indirect calls
Formal Verification of Probing Security via Conditional Independence
- simulator-to-independence reduction β replace existence of a simulator with a conditional-independence Hoare triple
- semi-graphoid entailments β derive symmetry, decomposition, weak union, contraction, and monotonicity facts
- sequence and loop composability β propagate noninterference contracts through calls and index-dependent loops
- symbolic probe invariants β quantify arbitrary probes and track ownership, uniform masks, and affine share equations
- compositional masked primitives β combine refresh, noise addition, and multiplication proofs with uniform-bijection rules
Formal Verification of PLCs as a Service: A CERN-GSI Safety-Critical Case Study (extended version)
- independent service verification β separate requirement, implementation, and verification teams and iterate until code and requirements agree
- requirement formalization β encode logic as matrices, state machines, diagrams, and safety assertions with explicit priorities
- black-box timing reconstruction β simulate proprietary functions, record cycle traces, generate assertions, model transparently, and verify iteratively
- cycle-bounded checking β choose loop unwinding as the maximum of timer-trigger cycles and timing-diagram length
- assume-guarantee boundaries β constrain shared-module inputs with producer guarantees and conditional consumer requirements
Flood and Harvest: The Provable Necessity of Trivia for Generating Valuable Mathematics via the Lens of Language Generation in the Limit
- nested validity/value model β represent formally valid outputs F and valuable outputs H separately, classifying hallucination, triviality, and value
- exhaustive sound coverage β emit F minus the seen set to cover every unseen H item without hallucinations
- racing adversary β alternate enumeration and recycling to force a one-half prefix-density cap
- sparse sweep β reserve infinitely many density-zero rounds to eventually claim every unenumerated valuable item
- race-plus-sweep generator β combine intersection racing with union sweeping to attain 1βΞ±/2 on the tight family
- compression-model instantiation β realize density interfaces with macro dictionaries and count precision of exhaustive generation
Fearless Unsafe. A More User-friendly Document for Unsafe Rust Programming Base on Refined Safety Properties.
- API pre-filtering β deduplicate standard-library namespaces, numeric variants, and intrinsics before safety labeling
- staged property review β derive and revise a safety taxonomy through five audited rounds with explicit conflict rules
- pre/post safety isolation β separate call preconditions from obligations on later use of outputs and memory
- correlation-guided refinement β compare full and deduplicated API datasets to detect taxonomy overlap and sampling bias
- parameter-property-slice documents β attach each requirement to a parameter or return value with a unique API identifier
- editor-integrated safety prompts β serialize structured obligations and show them at the unsafe call site through hover
- CVE coverage audit β classify historical vulnerabilities by violated safety property and double-check the code review
- ecosystem exposure mining β count unsafe API names in crates.io source to prioritize common operations and risks
FaithSieve: Fine-Grained Evaluation of Math Proofs with Faithful Formal Evidence
- proof-state-tree decomposition: split coarse proof steps into faithful state transitions and EdgeUnits before formal checking
- suspicion-tree audit windows: score every local transition cheaply and validate the earliest suspicious edge plus its prefix
- typed obligation generation: map each transition type to a local theorem, separating newly introduced facts from goal reduction
- faithfulness scoring gate: compare formal premises and conclusions with the source claim before accepting Lean evidence
- hybrid formal evaluation: use SymPy for pure numerics and Lean for other faithful obligations, with explicit inconclusive outcomes
- evidence fusion: aggregate local artifacts back to benchmark steps and return the earliest step with reliable negative evidence
Evaluating and Improving Automated Repository-Level Rust Issue Resolution with LLM-based Agents
- fail-to-pass benchmark filtering: retain real issues only when tests fail before a patch and pass after it without regressions
- reproducible Cargo environments: pin dependency snapshots and isolate task execution
- ReAct repair loop: alternate repository actions and observations to localize and patch issues
- isolated reproduction workspace: decouple tests from complex project build configurations
- AST Trace command: inject selective macros, capture cross-project calls, and restore source after diagnosis
Efficient PRM Training Data Synthesis via Formal Verification
- verifier-as-labeler β run Z3 or Isabelle on each reasoning step to produce binary correct/incorrect labels without human annotation
- formal-to-informal PRM transfer β fine-tune a step classifier on symbolic traces and evaluate it on natural-language reasoning tasks
- minimum-step aggregation β score a candidate solution by its lowest step score and choose the highest-scoring candidate among K samples
- task-mixture ablation β compare single-domain and mixed formal datasets to measure transfer and specialization
- verifier-label data ablation β test whether 10K or 20K verified instances approach the full 40K corpus
- strictness audit β inspect accepted-but-imprecise intermediate steps to detect over-penalization by exact formal labels
Decidable By Construction: Design-Time Verification for Truly Fearless Systems
- principal dimensional inference: solve integer-exponent unit equations and reject inconsistent operations before richer analyses
- evidence-bound semantic graph: retain each fact with derivation, concrete object, state, and reusable-mode conditions
- four-tier verification: route structural, arithmetic, reusable-system, and relational obligations to progressively richer mechanisms
- verified distributed reduction: compose capacity, ownership, partition freshness, boundary correspondence, and final rounding laws
- explicit probabilistic budgets: combine worker, boundary, and output errors with a declared union bound and completion model
Data Verification is the Future of Quantum Computing Copilots
- Inference: verified corpus filtering: prove every generated example against a domain specification before training or evaluation
- Inference: equal-validity optimization benchmark: compare models on objective quality while every option already satisfies correctness
- Inference: calibrated confidence: softmax answer-token log probabilities and separate confidence from verifier acceptance
- Inference: generation-time SMT gate: check each partial artifact before committing it to the design
- Inference: constraint-rich benchmark: publish executable oracles and explicit denominators for reproducible verification-aware evaluation
CoqCryptoLine: A Verified Model Checker with Certified Results
- typed CryptoLine modeling β encode signed/unsigned words, carries, bitwise operations, and multi-word arithmetic with explicit pre/postconditions
- dual algebra/QF_BV reduction β prove nonlinear equalities through root entailment and ranges through complete bit-vector queries
- certificate-checked automation β validate CAS polynomial witnesses and SMT certificates in a verified checker
- mixed-theory fact transfer β prove carry/range facts in QF_BV and pass them as algebraic lemmas through assertion/assumption annotations
- verified slicing β remove irrelevant predicates during reduction, accepting incompleteness when the optional slice is enabled
- solver engineering β combine GrΓΆbner
lift, substitution elimination, QF_BV bit-blasting caches, and parallel obligations
Compositional Program Verification with Polynomial Functors in Dependent Type Theory
- Inference: polynomial interface: encode input positions and dependent response directions as a composable module boundary
- Inference: free-monad implementation: represent repeated, conditional dependency calls as a typed computation tree
- Inference: wiring-diagram theorem: recursively compose box implementations and their contracts along an explicit dependency graph
- Inference: Mealy operational semantics: run interaction programs by threading stateful interface machines
- Inference: dependent free-monad verification: carry precondition evidence and postcondition proofs through every call and composition
- Inference: dependent Mealy invariant: prove stateful executions preserve relational and state predicates at each transition
Co-Evolution of Types and Dependencies: Towards Repository-Level Type Inference for Python Code
- Entity Dependency Graph β model repository-visible objects and inter-procedural type constraints as graph nodes and edges
- SCC clustering and topological contexts β collapse cycles, bound cluster size, and infer nodes whose dependencies are ready
- co-evolutionary refinement β alternate missing-edge discovery and type generation until the graph stabilizes
- checker-in-the-loop backtracking β apply one annotation, run a static checker, revert conflicts, and re-infer with diagnostics
- component ablation β separate dependency context, conflict repair, and model choice to measure each contribution
Characterizing Paraphrase-Induced Failures in Lean 4 Autoformalization
- deterministic paraphrase suite β apply guarded, reference-backed single-axis rewrites outside protected math/specification spans and compare paired formalizations
- layered robustness measurement β separate compilation, equivalence checking, and structural similarity, then classify compiler failures
- dataset-specific repair targeting β map dominant diagnostics to retrieval for unknown identifiers or compiler-feedback training for syntax/elaboration failures
Characterizing and Bridging the Diagnostic Gap in eBPF Verifier Rejections
- proof-lifecycle localization β reconstruct establishment, loss, and required evidence from per-instruction checker states
- evidence-aware diagnostics β emit source spans, proof obligations, confidence, and a concrete re-establishment action
- layer attribution β separate source bugs from compiler-lowering, environment, and verifier causes sharing one terminal message
- verifier-gated repair benchmarking β accept an LLM patch only after independent load, functional, and source-semantics checks
Can Large Language Models Model Programs Formally?
- benchmark filtering and execution gate β normalize source programs, remove unsupported dependencies and types, rewrite difficult constructs, then execute and retain only valid cases
- CFG-to-state-machine lowering β map basic blocks to program-counter actions so imperative control flow resembles a transition-system specification
- prompt variants with examples β compare zero-shot, few-shot original code, and few-shot transformed code under a fixed formal-language prompt
- checker-based runnability metric β sample three candidates per case and report the fraction with at least one TLC-passing model at k = 1, 2, or 3
- state-set similarity metric β compare oracle and generated execution states with a variable-value matching threshold ΞΈ = 1.0
- deterministic specification post-processing β add built-in imports, null values, and unchanged-variable assignments before running TLC
- complexity-stratified failure analysis β correlate runnability with cyclomatic complexity, loop depth, variable count, and classify checker failures by compilation, runtime, or assertion cause
Caesar: A Deductive Verifier for Probabilistic Programs
- expected-value contracts β encode probabilities, runtimes, and quantitative reachability as expectations with lower-bound
procor upper-boundcoproc - approximation-aware proof rules β choose loop and recursion rules whose over/under direction matches the desired proof or refutation
- verification-language IR β represent programs, specifications, and proof rules in an extensible quantitative intermediate language
- lazy VCG β share substitutions, prune unreachable branches, and unfold HeyLo formulas only when needed
- quantitative quantifier elimination β remove infimum/supremum quantifiers when possible before SMT translation
- extended-real SMT encoding β represent non-negative extended reals as a real plus an infinity flag
- model-checking backend β compile a HeyVL subset to JANI MDPs and calculate expected values with Storm
- semantic slicing β query minimal source statement sets that preserve a proof or counterexample and map them to diagnostics
- semantic guardrails β reject combinations of procedure kinds and approximation rules that could be unsound
Benefits of Applying Software Design Patterns to Backend Rust Applications
- typestate state structs: represent each legal phase with a distinct Rust type and consuming transitions
- newtype validation: parse a primitive into a checked wrapper at the earliest boundary
- explicit outcome enums: enumerate expected business outcomes and handle them exhaustively
- criterion-rs comparison: use warmup, repeated samples, regression, confidence intervals, and a noise threshold
BarrierBench: Evaluating Large Language Models for Safety Verification in Dynamical Systems
- barrier certificate conditions: separate initial, unsafe, and invariant-boundary obligations and discharge their negations with SMT
- retrieval-guided synthesis: retrieve structurally similar verified examples to seed fresh candidate templates
- staged verification: reject sampled counterexamples before invoking formal SMT checks
- feedback refinement: adjust coefficients first, then alter structure using solver counterexamples within bounded iterations
- barrier-controller co-synthesis: generate a feedback law and substitute it into the dynamics before checking safety
Autoformalizing Euclidean Geometry
- semantic equivalence checking: compare generated and reference specifications by bidirectional implication and satisfiability
- SMT gap completion: discharge implicit diagram or state facts with restricted non-construction rules
- Lean/Verus checker loop: generate proof steps, run the kernel verifier, and repair only rejected obligations
- few-shot repair measurement: report as-is success and repaired-proof similarity with dataset denominators
Autoformalization of Agent Instructions into Policy-as-Code
- Inference: schema grounding: derive formal action/resource types from MCP tool definitions before generation
- Inference: verification sandwich: combine deterministic syntax/schema checks with an LLM semantic critic and feedback loop
- Inference: fail-closed enforcement: keep deterministic policy evaluation outside the model and deny on engine errors
- Inference: denominator-separated replay: compare policy conditions with explicit rule scope and eligible-action denominators
- Inference: temporal policy extension: model prerequisites and persistent trajectory state for multi-turn authorization
Asterinas: A Linux ABI-Compatible, Rust-Based Framekernel OS with a Small and Sound TCB
- resource-centric TCB split: keep sensitive CPU, memory, and device resources in a privileged framework
- untyped memory wrappers: expose externally modified memory only through POD-copy interfaces
- safe policy injection: isolate complex policies behind verified mechanism contracts
- KernMiri testing: interpret OS tests with physical-memory shims to detect undefined behavior
- linked code size: measure TCB-relevant executable lines after link-time optimization
Are LLMs Rigorous Logical Reasoners? Empowering Natural Language Proof Generation by Stepwise Decoding with Contrastive Learning
- proof-tree decomposition β represent a conclusion as ordered entailment steps over facts and prior intermediates
- contrastive stepwise decoding β train latent representations to separate gold steps from semantically wrong alternatives
- vanilla hard negatives β replace a conclusion with a premise to suppress repetition
- enhanced hard negatives β recombine premises, generate a fluent conclusion, and filter it with a checker
- independent candidate checking β use a separate verifier or checker rather than trusting the generator
- structural proof metrics β score leaves, steps, intermediate conclusions, and overall correctness separately
- multi-stage versus one-stage tradeoff β compare search and verifier cost against a single contrastive generator
Architect in the Loop Agentic Hardware Design and Verification
- Inference: blueprint specification: define shared parameters, ISA, interfaces, and dependencies in one machine-readable architecture
- Inference: staged generation gate: generate, lint, test, repair, approve, and retry each component with a bounded budget
- Inference: golden-model checking: compare cycle-level DUT state with an executable architectural model
- Inference: failure taxonomy: convert recurring integration failures into shared schemas, prompts, and regression checks
- Inference: architect-in-the-loop: retain human approval for specification, repairs, synthesis, and physical validation
AI-Assisted Engineering Should Track the Epistemic Status and Temporal Validity of Architectural Decisions
- ADI epistemic cycle β move claims from hypothesis through logical checking to empirical corroboration and record the decision externally
- WLNK aggregation β compute serial-dependency assurance as the minimum adjusted evidence score under five invariants
- F-G-R ceilings β cap reliability by formality, scope congruence, and epistemic layer
- evidence decay β attach validity windows, lower expired evidence to 0.1, and alert for re-validation, waiver, or deprecation
- SMT and property checks β validate quantitative constraints with SMT and test calculator invariants with generated inputs
A Survey on LLM-Integrated Hardware Design Verification
- structured specification grounding β convert heterogeneous requirements into explicit intermediate representations before generating properties
- retrieval and feedback refinement β retrieve design context and iteratively repair with compiler, simulation, formal, counterexample, and coverage feedback
- agentic verification decomposition β separate analysis, generation, checking, debugging, and escalation with independently validated artifacts
- training plus deterministic checking β adapt models to domain idioms while retaining formal tools as the correctness evidence
A Survey of Vibe Coding with Large Language Models
- constrained agent process β model human intent, project state, agent actions, transition constraints, and execution feedback as a CMDP
- context engineering β retrieve and rank code, specifications, rules, tools, memory, and tasks under a context-window limit
- compiler repair loop β compile, return structured diagnostics, and iteratively repair with project context
- static-analysis feedback β combine syntax, complexity, vulnerability, fuzzing, and specification analyzers in a multi-agent gate
- test-driven generation β author acceptance tests first, generate implementation, and iterate through red-green-refactor
- execution candidate filtering β select or rerank generated programs by test outcomes, dual execution, or learned verifiers
- self-refine cycle β generate, critique, refine, and repeat using execution traces or other reliable feedback
- reflection memory β separate actor, evaluator, and reflection roles and store trajectory and long-term lessons
- layered security loop β inject secure context, scan in flight, sandbox and fuzz execution, and maintain a threat model
- assurance taxonomy β choose UAM, ICCM, PDM, TDM, and CEM according to human control and constraint needs
A Survey of Safety and Trustworthiness of Large Language Models through the Lens of Verification and Validation
- staged V&V lifecycle β use falsification and explanation first, expensive verification next, runtime monitoring in deployment, and ethics throughout
- red-team falsification β actively search diverse adversarial prompts and data for safety failures
- oracle-based statistical testing β define an oracle, coverage metric, generator, threshold, and confidence bound
- interval bound propagation β propagate perturbation intervals and certify a bounded robustness region
- abstract interpretation β over-approximate behavior in a sound abstract domain and compare output bounds
- randomized smoothing β sample noisy inputs and certify a radius from majority agreement
- black-box verification β estimate robustness or correctness using queries without model internals
- self-verification β mask reasoning conditions and score the modelβs reconstruction with an independent check
- runtime OoD monitoring β classify inputs with density, embedding, or calibrated-confidence thresholds
- runtime attack monitoring β detect backdoors or adversarial inputs from activations, uncertainty, density, or disagreement
- formal output monitoring β compile and verify generated code or theorem-prove generated mathematical outputs
A Grounded Conceptual Model for Ownership Types in Rust
- Ownership Inventory: derive diagnostic tasks from real compiler-error questions and score error explanation, counterexample, and repair
- counterfactual execution: disable static checking in a model to expose the unsafe behavior a rule prevents
- permissions abstraction: track flow-sensitive read/write permissions on memory paths
- semantic visualization: render dynamic traces and static permission states beside source code
- temporal A/B evaluation: compare baseline and intervention quiz scores with denominators and effect sizes
A Formal Semantics for P-Code
- producer-guided semantics: compare generated IR with known-source programs, then turn observations into executable syntax and transition rules
- explicit control flow: obtain reliable branch destinations from a producer API and encode both successors instead of trusting malformed fall-through
- predecessor-keyed phi: attach predecessor addresses to phi alternatives and select using tracked previous-block state
- call-frame semantics: model ABI argument registers, fresh locals, cleanup, and return values explicitly in the transition system
- executable validation: implement the semantics as an interpreter and report its assumptions and nondeterministic cases
A Formal CHERI-C Semantics for Verification
- capability-aware memory model: represent bounds, permissions, tags, fragments, freed blocks, and typed values explicitly
- error-refining operations: return success or a classified capability/logical error with specified priority
- invariant and operation-law proofs: prove well-formedness preservation, soundness, completeness, and good-variable laws
- compositional extraction: prove a separation-algebra interface, extract executable code, and connect it to a parametric analysis framework
- adversarial semantic tests: compare formal-tool, compiler, and hardware outcomes on spatial, temporal, and tag violations
A Deductive Verification Infrastructure for Probabilistic Programs (Extended Version)
- quantitative weakest preexpectation β translate probabilistic commands backward into real-valued verification conditions
- dual quantitative assertions β use assert/coassert, assume/coassume, and validate/covalidate for lower and upper bounds
- sound modular procedure calls β assert pre, havoc outputs, validate, then assume post
- conditional expectation encoding β combine wp numerator and wlp denominator for observe-conditioned values
- Park and related loop rules β encode quantitative invariants, omega families, k-induction, and dual upper/lower bounds
- martingale termination rules β encode super-martingale and optional-stopping side conditions as HeyVL obligations
Gaming the Judge: Unfaithful Chain-of-Thought Can Undermine Agent Evaluation
- counterfactual CoT rewriting β hold actions and observations fixed, rewrite only reasoning, and measure judgment flips
- adversarial manipulation taxonomy β test style confidence, reflective reasoning, progress fabrication, environment blaming, and goal framing
- manipulation-aware/rubric judging β ground verdicts in task requirements and observable evidence with explicit prompts or key points
- judge-time scaling β use parallel self-consistency or longer sequential reasoning and report robustness/recall tradeoffs
From Rocq to Metal: A Pipeline for Formally Verified Microcontroller Firmware
- pure state-transition firmware β express business logic as
step : State Γ Event β State Γ list Effectand interpret effects at a fixed trusted boundary - Scheme extraction to a no-std CPS VM β compile extracted Gallina through DS, CPS, optimization, and register bytecode stages for Cortex-M execution
- typed hostβVM interface β expose only typed calls and extern callbacks, with generated constructor tags and bindings
- explicit trust-chain accounting β list kernels, compilers, runtimes, callbacks, and I/O as trusted components rather than silently including them in a proof claim
- embedded resource benchmarking β compare flash, heap, and build time under named MCU, QEMU, and benchmark denominators
Adversarial Agent Collaboration for Correctness Improvements of C to Safe Rust Translation
- adversarial translation loop β alternate a translator and a discriminator while appending validated differential tests
- agent-customized differential fuzzing β generate program-specific inputs, execute C and Rust identically, normalize trivial output differences, and retain mismatches
- cross-method relative pass rate β evaluate each translation on tests generated by other methods to reduce self-test bias
- cost-aware ablation β vary seeds, iterations, tests per iteration, and fuzzing while recording pass-rate denominators and token or dollar cost
Worst-Case Symbolic Constraints Analysis and Generalisation with Large Language Models
- incremental solver-checked examples: derive small constraints with symbolic execution and generalize to larger bounds
- canonical formal output: require parser-ready SMT or Verus artifacts with explicit delimiters
- solver-guided reinforcement: reward semantic equivalence far more than formatting
- bidirectional equivalence: prove both formulas imply each other with UNSAT checks
- held-out extrapolation benchmark: test unseen larger sizes and stratify jump difficulty
- dependent error taxonomy: separate formatting, syntax, and semantic verification outcomes
When Helping Hurts and How to Fix It: Multi-Agent Debate for Data Cleaning
- GeneratorβCritic structured debate β propose executable operations, challenge each separately, and revise for bounded rounds
- evidence-gated compliance β accept feedback only when it cites concrete source evidence
- code-execution grounding β let the Critic run sandboxed checks against actual data before issuing objections
- rescueβdamage routing condition β deploy debate when Critic verification odds times repairability exceed baseline accuracy odds
- factorial self-verification control β compare separate Critic, same-tool self-check, and text-only conditions to isolate causal interaction
What Was Said, Not What WasβThoughtβ: Type-6 Logic for CoT Verification
- epistemic update state β track truth, commitment strength, and doubt per proposition while reading a trace
- Kleene constraint back-propagation β resolve, abstain, or log contradictions from IFβTHEN constraints
- licensed revision test β require a structural revisit plus a targeting constraint before accepting a changed claim
- multigraph route analysis β enumerate bounded edge-simple derivation paths and compare terminal states
- provenance failure taxonomy β report hard, soft, residual, and quality failures with statement locations
WaveCert: Translation Validation for Asynchronous Dataflow Programs via Dynamic Fractional Permissions
- canonical cut-simulation β symbolically execute source and target at paired cut points under a deterministic schedule
- dynamic linear permissions β attach nonduplicable read/write tokens to channel values and solve constraints for race freedom
- confluence lifting β use cut-point coverage and permission consistency to generalize canonical equivalence to all schedules
- bounded-channel liveness β derive a capacity bound from symbolic execution and prove progress for channels at least that large
- proof-failure diagnostics β use unequal states and unsatisfiable permission cores to locate compiler bugs
Verifying Peephole Rewriting In SSA Compiler IRs
- parametric typed IR: define operation signatures, denotations, and intrinsically typed SSA syntax once for many dialects
- local rewrite contract: package MLIR-pattern lhs/rhs fragments with a semantic equality or refinement proof
- zipper lifting: split SSA at a match, substitute the rewrite, stitch the program, and prove global semantic preservation
- proof-carrying DCE/CSE: fold over typed SSA while returning transformed code together with context maps and preservation proofs
- effect-aware rewriting: restrict rewrites to pure operations and carry a valuation invariant through impure monadic context
- region loop proofs: encode structured control flow and prove loop fusion, reversal, deletion, and canonicalization by iteration invariants
- normalization automation: erase framework encoding to expose a clean mathematical goal for domain-specific tactics
Verifiable abstention makes AI leak diagnosis accountable in urban water distribution networks
- deterministic differential diagnosis β fit leak and confounder hypotheses in a hydraulic twin, fuse evidence, and keep model-generated prose outside numeric decisions
- six-predicate goal contract β require existence, region, margin, rival exclusion, residual, and safety predicates before action
- machine-checkable abstention β request evidence on failure and emit a dossier rather than force a prediction
- reject-only independent auditor β let an independent LLM add rejection while deterministic code retains approval authority
- hashed evidence certificate β bind thresholds, predicate outcomes, and accepted hypothesis to canonical evidence serialization
- discriminative active sensing β reveal hidden measurements where surviving hypothesesβ twin responses differ most
Type-Checked Compliance: Deterministic Guardrails for Agentic Financial Systems Using Lean 4 Theorem Proving
- asynchronous policy formalization β translate and compile policies before runtime, then store the checked environment
- kernel-gated request loop β formulate each agent action as a conjecture and allow the API call only after proof success
- proof-checking latency split β keep proof generation offline and execute only precompiled checking synchronously
- structured refusal explanation β derive a human-readable reason from the exact failed proof state
- concept-symbol registry β constrain translation with explicit mappings from policy concepts to formal identifiers
- context sanitization β statically remove untrusted or unnecessary text before formalization
- WASM sandboxing β run the policy and orchestrator with denied host network and filesystem capabilities
- phased shadow-to-production rollout β compare shadow judgments, enforce a narrow policy, then scale the verified state machine
Tridirectional Discriminating-Power Formal Verification of Smart Contract Reentrancy Defense Against Production-Deployed Solidity Source
- explicit source-level security predicates β define call-stack, storage-update, callback, and guard semantics before protocol proofs
- negative-instance derivation β prove an attacker trace and invariant break for a known vulnerable deployment
- positive cross-function invariant proof β show a shared mutex is set before external calls and reset after across all guarded paths
- minimal-diff mutation boundary β distinguish a production-safe function from a structurally adjacent mutant under one predicate
- no-retrofit theorem composition β seal component proofs before direct-conjunction capstone composition
- axiom-record CI gating β recheck theorem types, dependencies, and expected axiom footprints on every push
Towards Richer Challenge Problems for Scientific Computing Correctness
- layered correctness challenges β combine numerical, data-structure, concurrency, model, and physical properties in one realistic application
- representation-independent mathematics β specify a mathematical abstraction once and verify multiple optimized representations against it
- approximation and uncertainty contracts β state error, uncertainty propagation, and approximation validity separately from memory safety
- method-neutral benchmark design β avoid challenges tied to one prover or toy algorithm so different verification methods can be compared
- verification plus validation β test both implementation conformance and whether the formalized program models the intended scientific problem
Towards Reliable Generation of Executable Workflows by Foundation Models
- taxonomy-first auditing β open-code generated DSL programs against requirements and build a defect vocabulary before detector design
- structure-gated analysis β parse JSON and validate the DSL schema before constructing deeper representations
- CFG/dataflow analysis β build control-flow, use-def, and def-use chains to detect reachability, usage, and type propagation defects
- skill-registry checking β compare generated actions and parameters with an authoritative available-skill database
- verifier-feedback repair β feed localized static-analysis reports and category-specific context to an FM repairer
- iterative rechecking β rerun the analyzer after every repair to catch both unresolved and newly introduced defects
- path-feasibility support β add dynamic execution or SMT solving when static dataflow cannot decide runtime reachability
Towards Practical Requirement Analysis and Verification: A Case Study on Software IP Components in Aerospace Embedded Systems
- temporal requirement mining β filter temporal statements, standardize code-level variables, and translate them to LTL
- assumption/assertion harnesses β call an IP interface under explicit preconditions and check postconditions
- multi-verifier checking β combine bounded model checking, configurable reachability analysis, and trace-based verification
- coverage by precondition union β use separate harnesses for distinct assumptions and inspect their union for requirement coverage
Towards an Agentic LLM-based Approach to Requirement Formalization from Unstructured Specifications
- atomic requirement extraction β normalize prose into identified JSON requirements before formal translation
- verifiability gate β filter properties outside the target modelβs observable and semantic boundaries
- grammar-constrained translation β generate formal queries under an explicit BNF and model mapping
- three-level validation β apply compilation, exact comparison, and carefully justified semantic-equivalence checking
Theorist Toolbox: Tools for Agent Based LLM-assisted economic theory Research
- disciplined single pass β force complete, explicit derivations and mark conjectures before external checking
- adversarial proverβverifier pair β have an independent model seek counterexamples, then human-triage every finding
- multi-agent reviewer-gated project β decompose research into role-separated workstreams with strict gap flags and durable verdicts
- composed verification gates β combine self-discipline, adversarial, numerical, and reviewer gates before a claim enters a paper
- open-obligations ledger β record every unresolved step, transition reason, and negative result
- reproducibility trail β attach prompts, transcripts, scripts, seeds, outputs, and reviewer decisions to each load-bearing claim
The Hitchhikerβs Guide to Program Analysis: A Journey with Large Language Models
- post-constraint guided analysis β prune initializer paths using conditions at the later use
- progressive source prompting β retrieve function definitions only when the model signals uncertainty
- conversation decomposition β separate initializer/constraint extraction from behavior summarization
- self-validation and voting β repeat constrained analyses, check rule adherence, and aggregate outputs
- LLM-assisted static triage β use model summaries to prioritize candidates while retaining a checker as oracle
The Best Programming Language for Tokenmaxxing: An Investigation of Coding Agent Behavior Across Programming Languages
- controlled language comparison: hold tasks, scaffold, environment, limits, and tests fixed while varying language
- snapshot re-execution: run every intermediate artifact through an external checker and store outcome vectors
- transition graph: label changes between outcome vectors to expose stuck, regression, churn, and post-success loops
- post-success split: measure tokens and edits before and after the first fully passing artifact
- failure taxonomy: classify spans into implementation, debugging, infrastructure, verification, optimization, and cosmetic work
- strategy-text audit: inspect comments, test choices, and cross-language prototyping for recurring agent behaviors
- mixed-effects cost model: estimate language penalties with problem identity as a random effect
The Banach lattice Lean library
- semiautoformalization workflow β keep humans responsible for architecture while LLMs draft small, checkable definitions and lemmas
- reusable-domain library β build a trusted base of definitions and theorems before formalizing many research results
- normalization-based proof β reduce recursive expressions to a canonical form, prove a generic transfer lemma, and reuse it
- domain-specific definitions β introduce a new predicate when an imported name has a different mathematical meaning
- theorem-backed tactic β turn a proved abstraction theorem into automation with explicit scope and performance limits
- staged research formalization β prove a core theorem in a simple setting, then derive general corollaries and counterexamples
Synthesizing Feature Extractors: An Agentic Approach for Algorithm Selection
- checkβfixβverify synthesis β repeatedly clear, insert, validate, execute, and repair a complete extractor until it produces the required vector
- typed semantic graph extraction β preserve model roles in a graph and compute named structural features instead of flattening constraints
- solver-aware feature engineering β add tightness, propagation, constraint-family, and domain metrics correlated with solver behavior
- inspectable fixed-shape output β require exactly 50 named features and a methodology description for downstream selection
- multi-run selector evaluation β compare baselines, all independent syntheses, and valid-run denominators with held-out accuracy and rank
Substructural Parametricity
- algebra-indexed logical relation: parameterize value predicates by a monoid or commutative monoid to track ordered or linear resources
- fundamental theorem: induct on typing derivations to show every well-typed term satisfies the relation
- ordered free theorems: use a free noncommutative monoid to force identity, reversal, folds, and tree traversals
- linear free theorem: use a free commutative monoid to prove that list transforms are permutations
- algebra-to-Verus encoding: model resources as ghost sequences or multisets and prove contracts with
spec fn,ensures, and proof lemmas
Stratified Consistency Distillation for Natural Language Formalization
- synthetic formalization pipeline: extract declarations and rules, generate natural-language pairs, and produce formal completions
- semantic equivalence clustering: use solver checks to group logically identical candidates before labeling
- entropy-stratified selection: vote, judge, or abstain according to disagreement among equivalence classes
- checker-gated distillation: fine-tune a small model on selected labels while retaining formal verification as the deployment gate
Specification Grounding Drives Test Effectiveness for LLM Code
- enumerated specification grounding β provide external rules and write one test per rule, with expected values from the rules
- content-versus-decomposition ablation β compare spec content and coverage planning separately to identify the causal signal
- independent-oracle evaluation β score final correctness, detection, false alarms, and repair completeness against a hidden broader suite
- grounded versus ungrounded baselines β compare against doubled budgets, property generation, and agentic test-and-repair flows
- specification corruption audit β drop or contradict rules and measure coverage loss separately from precision loss
- model and scope replication β vary code models and vendors while preserving tester controls and explicit bug-class limits
Sound Enforcement of Dynamic Release Information Flow Policy
- dynamic-release labels β attach conditional, transient or persistent security labels whose meaning changes with an event trace
- event-trace oracle β carry
usingfacts about event history and prior releases into compile-time checks - separate flows-to and release-to β distinguish future-safe label flow from current-point output permission
- trace-indexed unwinding proof β prove dynamic noninterference by matching executions and projected output traces
- Rust trait enforcement β encode label relations in phantom types and trait bounds for compile-time checking
Semantic Search over 9 Million Mathematical Theorems
- layered theorem parsing: use structured parsing, compilation logging, and regex fallbacks with source metadata
- sloganized retrieval: generate concise natural-language descriptions linked to exact formal statements
- two-stage vector search: HNSW and quantized candidate retrieval followed by cosine or cross-encoder reranking
- blind validation: evaluate Hit@k and MRR on queries written without corpus access
- retrieval-augmented proving: supply retrieved lemmas to an agent while requiring the proof checker to accept use
RLTL;DR: Self-improvement by Internalizing Self-generated Feedback
- sequential verifier feedback: feed each failed rolloutβs compact lesson into the next attempt
- insight SFT: backpropagate only on verifier-derived insight tokens to internalize reusable rules
- SFTL;DR: train on taskβinsight pairs without rollout-token supervision
- insight evaluation: measure advantage, too-easy/too-hard ratios, and unaided held-out Pass@1
Reliable Self-Improvement Training by Verifying Reasoning, Not Just Answers
- verified self-improvement loop β sample multiple solutions, mechanically check each solutionβs answer and reasoning, and fine-tune only on accepted traces
- logical-flow verification β track named intermediate values and flag large unexplained changes across separated steps
- constraint satisfaction filter β enforce domain properties such as non-negativity, integrality, and conservation
- verifier-derived DPO β prefer fully checked traces over correct-answer traces that fail intermediate checks
REFACTOR: Learning to Extract Theorems from Proofs
- graph labeling of embedded proofs β classify proof-tree nodes with a feature-aware GNN to propose reusable connected components
- proof expansion β inline a theorem body with substituted hypotheses to synthesize positive extraction examples
- checker-gated lemma mining β reject disconnected or invalid predictions, canonicalize accepted components, and retain only verified theorems
- proof refactoring β repeatedly match extracted lemmas and replace matching subtrees with calls
- verified-library training β train proof search on checker-accepted, refactored proofs and measure held-out theorems proved
Reasoning about External Calls
- protection assertions: express that a capability is unreachable by relevant external objects, then prove assignments and calls preserve the predicate
- scoped invariants: preserve a conditional property across nested external states until the current method returns
- Hoare quadruples: prove both terminal postconditions and intermediate external-state conditions
- adaptation and deep satisfaction: translate assertions across call frames and require them from a selected stack frame onward
- module adherence: combine method proofs and invariant rules to obtain a whole-module effect guarantee
r2py: AI-Assisted Conversion of R Statistical Packages to Python
- dependency graph conversion order: classify calls and translate callees before callers
- construct catalog guides: settle every recurring source construct in a reviewed artifact
- layered differential verification: combine static audit, workflows, historical tests, and generated boundary tests
- foreign-runtime reconstruction: implement only the API symbols actually referenced at the compiled boundary
- FFI root-cause instrumentation: log intermediate values to localize semantic divergence before changing code
QED: An Open-Source Multi-Agent System for Generating Mathematical Proofs on Open Problems
- failure-mode-driven multi-agent proof pipeline β map observed model failures to separate planning, proving, verification, selection, and verdict components
- independent prover/verifier contexts β check a saved proof in fresh calls that receive only the original statement and proof
- exact citation verification β require verbatim theorem statements, source metadata, URL resolution, and hypothesis matching
- key-original-step tagging β force detailed treatment of every nontrivial novel step and reject vague or untagged reasoning
- decomposition DAG and retry hierarchy β revise proof, plan, or strategy according to classified verification failures
- staged structural/detailed verification β reject statement, citation, completeness, or subgoal-tree errors before expensive step checking
PutnamBench: Evaluating Neural Theorem-Provers on the Putnam Mathematical Competition
- cross-language corpus: hand-construct and independently check aligned statements in each proof assistant
- factored solution task: separate candidate discovery from proof-of-correctness evaluation
- contamination audit: search formal repositories and exclude prior or newly discovered proofs from benchmark data
- pass@n protocol: count success only when the formal environment accepts one of the stated number of attempts
- proof-search trace: retain candidate choices, backtracking, checker feedback, and solver settings
- second-person verification: independently recheck every formalization before release
Plans You Can Check: Verifier-Grounded Learning of an Open-Weight Planner for Executable Video-Editing
- typed executable planning: represent actions as schema-checked patches over a typed state
- constraint ledger: turn requirements into per-entry deterministic predicates and evidence
- verifier replay: canonicalize, execute, score, and select branches before training
- verifier-best SFT: train on replay-selected patches rather than teacher first choices
- verifier-centered DPO: sample repairs, score with verifier/rubric, and train on high-margin pairs
- closed-loop Apply/Verify: bound repairs, reject invalid patches, and recompute obligations after every step
- component failure accounting: report hard-pass, recall, duration, no-regression, and execution metrics separately
Not Self-Decidable: LLMs Cannot Draw the Boundary of What an Agent Verifier Can Check
- type routing: classify each predicate as fixed-checkable or judgment before enforcement
- corroborate-then-verify: use unanimous panel output only to prioritize synthesis, then gate the executable check
- attested-field grounding: reject checks that read agent-written evidence
- intervention gate: require structure, groundedness, sensitivity, and rewording invariance
- perturbation audit: re-probe labels under meaning-preserving paraphrases and templates
- dual-cost accounting: report automation coverage, false-decidable denominator, and recurring judge cost
NL2AGBench: Benchmarking LLM Auto-Formalization for AlphaGeometry
- executable paired benchmark: store natural-language tasks with verified formal targets and run generated outputs
- constrained output prompting: require a parser-ready artifact with no explanatory text
- execution-based taxonomy: separate syntax, construction, and semantic failures by running the checker
- few-shot formal examples: provide verified input/output pairs covering syntax and semantic variants
- verifier-guided repair: feed localized checker errors or hints back into a second generation pass
- fine-tuning with caution: improve DSL fluency while independently checking semantics
Never the Number: Structural Abstention for AI Systems Whose Answers Are Consumed as Fact
- trusted-kernel invariant β let generative components choose or phrase questions but never compute returned values
- explicit partial-state dialogue β represent completeness, missing fields, and inconsistency as machine-checkable state
- deterministic intermediate compilation β map confirmed requests through a typed tree to a fixed query/function
- structural abstention β refuse requests outside the enumerable answer space instead of estimating confidence
- confirmation perimeter β require the user to read and assent to the exact grounded question before execution
Natural Emergent Misalignment from Reward Hacking in Production RL
- synthetic-document finetuning: seed knowledge of concrete evaluator vulnerabilities at 1% synthetic-document dilution before coding RL
- hacking-onset tracking: define onset as successful hacking above 2% of episodes and compare matched checkpoints
- realistic sabotage evaluation: place checkpoints in an unmodified Claude Code scaffold and measure action plus monitor degradation
- overt/covert audit: inspect hidden reasoning as well as final answers because 40β80% of misaligned responses were covert
- targeted RLHF: include prompts close to agentic evaluation distributions and disclose overlap with validation sets
- inoculation prompting: vary the single-line association between hacking and acceptability and measure misalignment at matched hack rates
LSPRAG: LSP-Guided RAG for Language-Agnostic Real-Time Unit Test Generation
- branch-token extraction β map AST and semantic tokens to a CFG and retain symbols controlling conditions
- LSP definition/reference retrieval β fetch exact workspace definitions and enclosing usage symbols for grounded context
- diagnostic-context repair β classify diagnostics, retrieve symbol/workspace context, and iterate fixes under a retry budget
- concise structured prompting β combine focal source, retrieved dependencies, and a lightweight scaffold
- verifier-aware evaluation β report coverage, valid rate, latency, token cost, and component ablations with explicit denominators
Looping Is Not Reliability: State-Bound Evidence and Typed Revision Contracts for Agentic Code Repair
- transition reliability decomposition β measure current and ever-correct states plus wrong-to-correct and correct-to-wrong transitions using Ξ±, Ξ², and q
- state-bound evidence β bind each diagnostic to code and suite hashes and reject or refresh mismatches
- typed revision actions β parse only Keep, Patch(code), or Escalate(reason), mapping malformed output to a safe no-op
- last-known-good checkpoint β retain and restore the latest gated state across rejected or invalid proposals
- gated admission and recertification β run challenge/full checks before commit and re-execute them on the selected completion
- risk/dependence stopping β choose verifier thresholds using selective risk and conditional false-accept dependence at stated coverage
- conformance failure injection β exercise replay, mutation, malformed action, rollback, and recertification cases with auditable receipts
LLM-Guided Program Evolution for Circle Packing: Breaking 10 Packomania Records for 28 study - verifier-gated full-program evolution β prompt a complete candidate from current code and history, independently verify every target, and retain only an aggregate improvement - per-target best tracking β preserve each targetβs best verified result even when another candidate is the overall champion - independent zero-tolerance feasibility checking β recompute bounds, pairwise non-overlap, objective, and numerical shrink outside the solver - plateau-window stopping β stop after a configurable window has no champion or has improvement below a threshold - complete replacement isolation β evaluate self-contained candidate programs so architectural changes do not accumulate patch conflicts ## LLM-Driven Heuristic Synthesis for Industrial Process Control: Lessons from Hot Steel Rolling study - behavioral-feedback heuristic synthesis β separate strategy, implementation, and evaluation while returning per-component rewards over diverse scenarios - AST security and structure audit β reject unsafe imports, stateful tricks, missing returns, mask violations, and malformed generated functions before execution - interval range analysis β propagate declared input intervals through supported arithmetic and prove output bounds without running code - two-translation relational verification β compare two symbolic executions to prove monotonicity and emit counterexamples when the relation fails - staged Z3/property audit β prove translatable universal properties with SMT and explicitly defer unsupported properties to randomized edge-case testing - Luby universal restarts β use a fixed restart schedule to diversify LLM search without retrospective budget tuning ## LLM-Based Test Oracles: Source-of-Authority TaxonomyβA Systematic Literature Review study - source-of-authority coding β classify each oracle by the auditable artifact or agent that makes its verdict count as correct - form/mechanism separation β record contract or oracle shape separately from the computation that adjudicates pass or fail - execution filtering β compile and run generated oracle candidates on known-correct behavior before acceptance - mutation-grounded evaluation β test whether an oracle catches injected faults instead of relying only on resemblance to a reference ## LLM-Based Repair of Static Nullability Errors study - error-derived decision flowchart β refine repair branches from manually analyzed residual errors - null-safe heuristic rewrites β apply preconditioned semantic-preserving transformations before LLM calls - bounded false-positive classification β ask for Yes/No/Unsure with incremental context and explicit casts only after evidence - safe usage-region retrieval β index symbol contexts and prompt patches with project-consistent safe examples - triggered-error propagation β rerun the checker after each annotation and process newly exposed errors under a fixed budget - structured prompt validation β enforce XML schemas, benchmark prompt decisions, bounded retries, and syntax checks ## Invariant Discovery for Networked Systems study - metadata-only grammar induction β ask an LLM for a bounded typed grammar from names and annotations - grammar re-induction β widen the grammar when held-out known-invariant recall stalls - exhaustive typed enumeration β generate every candidate and retain equivalent representatives - solver pruning β remove trivial, contradictory, or singly entailed relations - residual-derived tolerance β infer a per-candidate soft tolerance from residuals - calibrated confidence acceptance β accept only when held-out hold-rate clears a proxy-calibrated bound - monotone completeness claim β use an accepted invariant as a threshold for candidates with at least its coverage ## Inference-Time Amplification of Weak Reasoning Models study - coverage/identifiability decomposition β measure whether useful candidates appear separately from whether a selector recognizes them - weak-edge committee amplification β repeat critic calls and pairwise votes to suppress local selection error - local-verifier comparator β turn a one-sided intermediate checker into critic and pairwise evidence - adaptive error composition β sum conditional local failure bounds over a rank-limited trajectory - blind-spot decomposition β separate finite proposal width from zero-support proposer failures - oracle-gap recovery β quantify the fraction of perfect-selection gain realized by a deployable selector - context intervention β hold candidate pools fixed and add task-relevant context to raise comparator edge ## Ineq-Comp: Benchmarking Human-Intuitive Compositional Reasoning in Automated Theorem Proving on Inequalities study - verified seed corpus: curate human-reviewed seed statements and check every proof before generating variants - compositional duplication: duplicate independent inputs and combine postconditions by addition or multiplication with explicit side conditions - algebraic substitution: apply a typed variable transformation and prove transformed-domain conditions before reusing the seed proof - rule-based composition: compose validated transformation rules into scalable, metadata-labeled targets - pass@N evaluation: count a problem solved only when at least one of N generated proofs passes the proof checker - transfer ablations: compare seed, transformed, in-context, in-distribution, and held-out out-of-distribution settings ## HydroAgent: Closing the Gap Between Frontier LLMs and Human Experts in Hydrologic Model Calibration via Simulator-Grounded RL study - simulator-grounded verifier loop: expose bounded edits, executable checking, diagnostics, and iterative repair - trajectory SFT: preserve complete tool-call and repair trajectories, then filter and quality-weight them - GRPO with checker reward: group-normalize multiple attempts using executable outcomes and shaped interaction signals ## HaliVer: Deductive Verification and Scheduling Languages Join Forces study - pointwise pipeline contracts β specify input bounds and output equations directly on Halide functions - reduction invariants β preserve a quantified bound across each reduction update and derive the final postcondition - front-end translation β encode Halide functions and reductions as verifier-friendly pure functions and recursive forms - schedule-aware annotation transformation β generate permissions and loop invariants through split, fuse, parallel, reorder, unroll, store_at, and compute_at - trigger-aware quantified reasoning β choose index forms and triggers that SMT instantiation can use without matching loops ## Growing Mathlib: maintenance of a large scale mathematical library study - deprecation bridge: retain renamed declarations or modules temporarily and warn users with a direct replacement - semantic linting: run local syntax checks and global environment checks for style, dependencies, dead proof code, and brittle proof structure - build-speed benchmark: track wall-clock, task-clock, and instruction changes continuously and flag a stated threshold - hierarchy and elaboration design: reduce instance/coercion search and avoid unnecessary definitional unfolding - technical-debt report: publish machine-readable debt counts and deltas in CI and pull-request summaries - review triage dashboard: cache change history, compute actionable metadata, and provide sortable review queues ## Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation study - contract-first agent workflow β extract structured descriptions, preconditions, postconditions, and suggestions before test synthesis - Tested/Untested condition mapping β cross-reference each contract clause with existing tests and generate targeted gaps - oracle-driven fail-to-pass testing β generate suites from untested clauses, validate on fixed code, then reverse-patch historical bugs - greenfield evaluation β remove tests and hide the fix to measure code understanding rather than test copying - ContractCoverage metric β score whether a generated contract captures the exact defect behavior and separate spec failure from test failure - paired multi-run evaluation β compare identical agents with and without contracts using explicit denominators, bootstraps, and paired tests ## GRID: Grammar-Railed Decoding for Enterprise SQL Generation study - viable-prefix parser oracle: derive exact legal continuations from incremental parser configuration and gate EOS on ACCEPT - byte-trie token bridge: walk canonical token bytes, prune dead subtrees, and split cacheable CI from live-stack CD tokens - configuration-keyed cache: content-address masks by parser/lexer/schema state and prove cache-on equals recomputation - hard policy and audit loop: enforce role/schema grammar projections, record hash-chained decisions, and repair post-parse residue ## Goal-Autopilot: A Verifiable Anti-Fabrication Firewall for Unattended Long-Horizon Agents study - durable stateless FSM β externalize goal, progress, gates, and history and advance one atomically persisted tick at a time - falsifiable goal compiler β compile requirements into dependency-ordered states with executable gates and a definition of done - A3 coverage auditing β statically and optionally semantically check that compiled gates mention every concrete goal requirement - executed-gate completion floor β allow DONE only after every path gate actually ran and passed; otherwise record an honest stall - paired fabrication evaluation β compare true success, stall, underclaim, and fabrication against an independent held-out oracle ## Generalization or Memorization? Brittleness Testing for Chess-Trained Language Models study - hard verifier-in-the-loop β gate generated actions with independent validity and semantic critics, retrying with feedback - bounded retry and reset β suppress repeated parser failures and restart context after three consecutive failures - explicit metric denominators β distinguish pass@1, pass@10, puzzle-wide success, position accuracy, and sanity - verifier-scope discipline β treat accepted output as satisfying implemented checks while recording what remains trusted ## From LLM-Generated Conjectures to Lean Formalizations: Automated Polynomial Inequality Proving via Sum-of-Squares Certificates study - SOS certificate: prove polynomial nonnegativity by an exact sum of polynomial squares - neural SOS conjecture: train an LLM to propose and rank Gram-matrix structures - symbolic correction: refine numerical candidates and recover exact rational coefficients - template formalization: instantiate a fixed Lean proof template and let the kernel check equality and nonnegativity ## FLAMES: Fine-tuning LLMs to Synthesize Invariants for Smart Contract Security study - AST-guided context abstraction β retain target code, callers, modifiers, state, and signatures while removing events before synthesis - FIM invariant fine-tuning β mask real `require` predicates and train a domain model to infill executable guards - Compile/test/exploit validation β accept a synthesized guard only after compilation, regression tests, and exploit replay all succeed - Incident replay hardening β fork pre-incident state, inject a guard, and run the published attack transaction to validate mitigation ## Fine-Tuning Language Models Using Formal Methods Feedback study - automaton system modeling β encode finite environment valuations and allowed transitions as a transition system - vocabulary alignment and GLM2FSA β normalize model text into proposition/action phrases and finite-state controller steps - product-automaton model checking β compose controller and model and check LTL properties, retaining counterexample traces - empirical specification feedback β run controllers, check traces, and compute satisfying-sequence percentages when no complete model exists - verifier-ranked DPO β rank sampled responses by satisfied specifications and fine-tune on preferred/unpreferred pairs ## Finding Memory Leaks in C/C++ Programs via Neuro-Symbolic Augmented Static Analysis study - analyzer-agnostic ownership summaries β represent allocator/deallocator roles and ownership targets independently of a specific checker - CFG/SAT summary validation β retain an LLM summary only when a feasible path satisfies its allocation or deallocation claim - summary-augmented static analysis β inject validated summaries into complementary analyzers to expose custom wrappers - path-feasibility warning filtering β use symbolic state reachability to discard infeasible leak reports before expensive review ## Exploring Structures in Physics Problems: Can AI Agents Discover Statistical Mechanical Mappings? study - tiered structural benchmark β separate canonical, established, and open mapping tasks and include negative controls - proposeβverifyβrefine loop β generate executable mappings, test all probes against an independent brute-force oracle, and feed structured failures back - complexity-honesty audit β check that claimed tractable classes and asymptotic costs match the implementation after numerical success - symbolic transformation checking β use a CAS to verify each algebraic mapping step rather than relying on output equality - interaction-graph invariants β compute treewidth, planarity, symmetry, and connectivity to constrain admissible mappings - scalable oracle stack β combine bounded enumeration with MCMC or tensor-network checks as system size grows ## EvilGenie: A Reward Hacking Benchmark study - hidden-test construction: reserve 30% of tests, capped at 10, outside the agent workspace - reward-hacking taxonomy: classify hardcoding, evaluator edits, and non-general heuristics separately - detector ensemble: combine holdout behavior, file snapshots, and LLM judging before human adjudication - denominator discipline: report model, setting, category, and exact n for every percentage - specification audit: review whether a formally proved contract captures the intended task ## Evidence-Driven LLM Agent for C-to-Synthesizable-C Conversion and Verification study - four-stage verifier loop β generate, run staged checks, expose the earliest failure, patch, and repeat under a fixed budget - prompt/artifact isolation β admit only bounded failure evidence while keeping reference implementations and labels audit-only - Progressive Mismatch Localization Chain β normalize logs, backward-slice the AST, and align selective dual traces - typed self-evolving MoE RAG β hard-route exact repair cards by stage, family, and symbols after human audit ## Enumerating Choice Terms in Model-Based Quantifier Instantiation study - model-based grammar enumeration β enumerate SyGuS-generated lambda terms and keep candidates that refute the current model - epsilon grammar extension β add Hilbert-choice productions for quantified-variable result types - Skolem purification β replace each choice term with a fresh symbol and emit its characteristic lemma - trigger-guided lemmas β use Skolem applications as triggers for subsequent quantifier instantiation - semantic candidate filtering β test substituted bodies in the current model before committing them - rewrite and vacuity filtering β simplify epsilon terms and discard predicates whose bound variable is unused - progress-aware search β cache failed substitutions, bound nested calls, and use lookahead symbols ## Correct Tests Are Not Enough: Measuring and Training Oracle Conversion in Specification-Based Test Generation study - potential/effective kill accounting β union faulty-program detections and count only fully correct outputs as effective - additive executable reward β jointly reward correctness, valid inputs, potential kill, and effective kill - group-relative suite training β normalize eight complete-suite rewards and apply a clipped policy update - fixed-input crossover β freeze inputs and cross policies to separate input-selection difficulty from oracle prediction ## Contextual Drag: How Errors in the Context Affect LLM Reasoning study - drag benchmark β compare clean-slate and failed-draft-conditioned generations on matched filtered problems - structural similarity audit β use parsed proof trees and edit distance to detect repeated failed patterns - independent error-signal test β distinguish external warnings from model self-verification with separate conditions - context denoising β revise or filter drafts before reuse, measuring cost and residual degradation - conditional fallback training β train incorrect-draft verification followed by clean-slate regeneration and correct-draft reuse ## ChipMEM: Verification-Grounded Memory for EDA Agents study - checker-gated procedural memory β retrieve task-similar skills and store only trajectories accepted by a deterministic harness - Bayesian retry predictor β estimate tool-call success from hierarchical Beta posteriors with saturated retry history - recovery-action ranking β rank error-specific recovery strategies by smoothed historical success - agent-agnostic verification adapter β standardize task, tool, trajectory, and final-artifact interfaces across domains - frozen transfer evaluation β test memory reuse on unseen tasks with read-only libraries and matched controls ## Bridging Syntax and Semantics of Lean Expressions in E-Graphs study - dynamic capture check β inspect free variables and shift them before a binder-changing rewrite - binder-depth match rejection β reject repeated-binder aliases and locally bound substitutions - typed e-node annotation β include explicit types to reduce bound-variable aliasing - zeta normalization β eliminate let expressions before equality saturation - proof erasure β replace proof terms with `Ο΅` and reconstruct them during proof generation - e-class beta/eta substitution β implement binder-aware shifts and substitutions on e-classes - cycle-breaking traversal β defer cyclic e-nodes until all substituted child classes are available ## Automatic Goal Clone Detection in Rocq study - live proof-tree extraction β execute each proof step, record goal-state deltas, and attach vanished goals to newly created children - dependency-aware goal generalization β quantify context free variables in reverse topological dependency order - Ξ±-equivalence clone reporting β canonicalize bound names and pair equivalent generalized obligations for lemma reuse - proof-reuse triage β classify duplicate, generalized, and differently proved goals and prioritize extraction ## AutoKernel: Autonomous GPU Kernel Optimization via Iterative Agent-Driven Search study - Amdahl prioritization: allocate optimization experiments by each kernelβs fraction of end-to-end runtime - five-stage correctness gate: require smoke, shape, stability, determinism, and edge-case checks before timing - single-file keep/revert loop: isolate one edit, benchmark it, retain only a passing threshold improvement - tiered optimization playbook: order block, memory, compute, advanced, architecture, and kernel-specific transformations - fixed evaluation firewall: keep benchmark and reference semantics outside agent control - dual backend interface: expose Triton and CUDA implementations through one tested kernel interface - experiment provenance: commit, log, and revert every candidate so performance claims are auditable ## An LLM-Based Assistance System for Intuitive and Flexible Capability-Based Planning study - routed specialist workflow β classify intent and dispatch fixed graph branches with explicit approval checkpoints - symbolic back-end gate β let the SMT/verifier, not the LLM, decide constraint satisfaction - UNSAT adaptation cycle β analyze conflicts, propose a targeted model edit, obtain approval, apply, and retry - shared-state traceability β pass machine-readable intermediate results among narrowly scoped agents ## All for One and One for All: Program Logics for Exploiting Internal Determinism in Parallel Programs study - schedule-independent safety β prove one terminating safe execution implies safety of all schedules - Musketeer separation logic β use restricted triples and chained relational proofs to establish that schedule independence - Angelic one-interleaving logic β select and verify one sequential ordering after schedule independence is known - MiniDet logical relation β prove an affine type system sound by relating types, deterministic shapes, and values - phased priority writes β use associative/commutative updates concurrently and separate writes from reads - deterministic concurrent hash set β maintain ordered probing so parallel insertion yields deterministic contents ## Aletheia: What Makes RLVR For Code Verifiers Tick? study - execution-grounded listwise evaluation: create candidate lists with one checker-confirmed winner and test OOD shifts - trace-budget ablation: vary reasoning style and maximum tokens by model scale - on-policy verifier training: compare current-policy sampling with offline and batch-online alternatives - negative-sample learning: train on rejected candidates and checker diagnostics, not positives alone ## AgentModernize: Preserving Business Logic in Legacy Modernization with Multi-Agent LLMs and Behavioral Specification Graphs study - business rule inventory β extract explicit and implicit rules with source locations, effects, categories, and confidence - behavioral specification graph β represent operations, typed data, pre/postconditions, invariants, and labeled control-flow edges - contract-directed transformation β generate endpoints, data models, validation, and orchestration from BSG contracts - BSG-derived validation β test contracts and boundaries, compare differential traces, and report per-node causes - targeted feedback loop β send failed cases to the transformer for at most three correction iterations while checking regressions ## AfterVibe: What Remains When the Conversation Ends study - abstract spec distillation: recover intent, essential decisions, and undiscoverable facts from diff plus conversation - independent oracle extraction: derive verification conditions and test commands without using the recovered spec - three-tier regeneration test: score flexible tests, VCs, and intent alignment with weighted evidence - iterative strengthening: rewrite weak specs from failed conditions and retain the best-of-K candidate ## A Natural Formalized Proof Language study - proof-action AST β encode readable proof steps as explicit premise/conclusion transformations - partial-proof dependency closure β discharge temporary assumptions and quantify every derived result over them - context-sensitive elaboration β use goal transitions and lexical scope to resolve ambiguous statements and notation - bounded solver scheduling β select proposition-specific solvers with priorities, costs, recursion, and branch pruning ## A Formally Verified Library of Mathematical Finance in Lean 4 study - faithfulness tiers and axiom gate β classify every theorem against its claimed mathematics and fail the pinned build when recorded axioms change - principle-based bridge library β derive many instruments from shared pricing, normal-form, and Brownian-grounding abstractions - staged continuous ItΓ΄ construction β extend deterministic and simple adapted L2 integrals by isometry, density, and norm-preserving extension - derived risk-neutral measure β construct an Esscher/Girsanov measure and prove the pricing hypothesis instead of assuming it ## A Case Study in Assuring AI-Written Software study - authority separation: delegate bounded implementation while reserving durable context and production release for an operator - incident regression loop: seed failures, require detection, fix analogous defects, and preserve lessons - external coverage mapping: compare accumulated checks with independent security/property catalogs - auditor audit: verify check execution, outcome validity, missing-result visibility, and remediation authority ## When Lifetimes Liberate: A Type System for Arenas with Higher-Order Reachability Tracking study - three-mode arena allocation: use ordinary, scoped, and `at` coallocation with one reference type to vary lifetime and reclamation granularity - reachability qualifiers: track aliases, separation, conditionals, and closure captures with conservative resource sets - coarse arena reachability: group coallocated resources to support cyclic and higher-order store topologies - scoped non-escape: reject scoped resources in scope results and reclaim the whole arena at lexical exit - observation-filter deallocation proof: hide killed locations dynamically and preserve typing across scope exit ## TorchLean: Formalizing Neural Networks in Lean study - shared SSA/DAG semantics: execute, differentiate, and verify one typed graph denotation - reverse-mode AD proof: compose local operator derivative lemmas into a graph-level theorem - IBP/CROWN transfer: propagate sound interval or affine enclosures by topological induction - certificate checking: replay external bounds and prove the target property about the Lean graph - explicit numerical boundary: separate real, interval, IEEE32, and hardware semantics with named assumptions ## The Choice of Divergence: A Neglected Key to Mitigating Diversity Collapse in Reinforcement Learning with Verifiable Reward study - verifier-based data partition: split queries into near-perfect and exploration sets using repeated checked samples - mass-covering rehearsal: use forward-KL or JS against a frozen reference, estimated from pre-sampled responses - conditional policy guarantee: disable regularization for exploration states and prove an assumption-dependent improvement bound ## SCOPE: Leveraging Subgoal Critiques for Code Generation study - structured subgoal critique: emit subgoals, gap analysis, and robustness checks before code repair - critique-guided revision loop: coder draft, critic fields, revised program, then execution or verification feedback - dense-plus-sparse training: combine semantic structure rewards with downstream improvement over the original draft - repair localization: measure trigger-line recovery and edit-hunk compactness on baseline failures ## On the Reliability and Explainability of Language Models for Program Generation study - maximum-BLEU duplication audit: score each test source against training sources and recompute accuracy after overlap filtering - input-output copying audit: compare generated code with inputs and perturb inputs by controlled token deletion - gradient-SHAP attribution: estimate token importance with baseline-sampled gradients and test it by targeted removals ## Is Self-Repair a Silver Bullet for Code Generation? study - executable repair tree: generate, check, explain diagnostics, and sample repairs as a branching search - equal-budget evaluation: compare repair trees with iid samples using the same program count or token cost - boosted feedback: substitute a stronger critic or human explanation and measure repaired-program pass rates ## Canonical Byte-String Encoding for Finite-Ring Cryptosystems study - fixed-width residue headers: encode length and final state in least-width base-m prefixes - normalized payload transduction: reverse-scan bytes with thresholded emit/divide and `256x+b` updates - staged suffix-tolerant decode: recover declared length, invert state, consume exactly that many bytes, ignore valid suffix - layered roundtrip proof: prove prefix inversion, renormalization, payload inversion, then stream correctness ## AI IDEs or Autonomous Agents? Measuring the Impact of Coding Agents on Software Development study - repository provenance recovery: infer agent adoption and prior IDE exposure from ordered branch, author, bot, and configuration signals - matched staggered DiD: estimate heterogeneous adoption effects after propensity matching and event-study checks - maintainability quality gate: pair throughput with static warnings, complexity, duplication, and comment-density monitoring ## VUPER: Verified ASN.1 UPER Parser study - refined bitstream parser: return constrained values, exact bit cursors, and version flags from option-typed parser results - weak-injection round trip: use strict injection for same-version messages and validity-preserving re-encoding for unknown extensions - verified combinator compiler: compose proved primitive and structural ASN.1 combinators, then generate parsers and serializers - verified-oracle fuzzing: compare real implementations against a formally verified parser and classify minimized discrepancies ## Vibe Coding in Software Development: A Multivocal Literature Review study - evaluationβrepair loop β run checks after generation, feed concrete failures into a patch or prompt, and repeat before reliance - trust checkpoints β retain versioned diffs and human review at commit or deployment boundaries while calibrating reliance to evidence - constrained execution and provenance β sandbox generated code and record source, model, dependency, and artifact lineage ## VerIF: Verification Engineering for Reinforcement Learning in Instruction Following study - hard/soft verifier split β route exact predicates to generated code and semantic constraints to a reasoning judge, then aggregate explicit binary scores - verifier-bearing RL data β generate constraints and a checker alongside each instruction so online rewards are reproducible - verifier ablation and distillation β remove each reward component to expose dependence and distill a smaller judge only after measuring agreement and cost ## Validating Solidity Code Defects using Symbolic and Concrete Execution powered by Large Language Models study - detector-to-proof triage β use static patterns to select candidates and require executable or symbolic confirmation - paired exploit harness β test normal behavior and an adversarial callback, interpreting both outcomes together - symbolic resource bound β turn gas or another finite resource into an explicit budget and check failure under that budget ## Unifying Model Execution and Deductive Verification with Interaction Trees in Isabelle/HOL study - interaction trees: use executable coinductive trees with return, silent, and visible-event constructors as a shared semantic object - semantic unification: derive operational, relational, Hoare, and process-algebra views from the same tree - invariant-based Hoare verification: prove loop invariants and variants, then discharge generated conditions with automation - verified animation: refine partial functions to finite lists, generate code, and interactively explore enabled events - Z-Machines: package state invariants and guarded operations into an executable and verifiable abstract machine ## Towards Trustworthy Legal AI through LLM Agents and Formal Reasoning study - typed statute schema and case-tested SMT knowledge base β compile actor/action/condition/norm rules into guarded, executable constraints and validate them on known cases - suspect-centric dual extraction β separate each defendant and obtain adversarial prosecutor and defense fact tuples under one shared schema - provenance-aware autoformalization β ground fuzzy values, resolve statute references, and retain source/confidence metadata in the solver formula - two-stage solver adjudication β filter article applicability, then qualify clauses, with unsat-core feedback and explicit unknown handling - solver/result rendering boundary β let a judge LLM explain a solver-validated structured result while similar cases and interpretations cannot override it ## Towards Reliable AI-Assisted Analog Design: Template-Constrained LLM Agents for SAR ADC Generation study - retrieval-grounded planning: select similar expert designs and summarize them before planning generation - checker-in-the-loop repair: iterate generation using rule violations as feedback - template-constrained fallback: choose and minimally edit curated component templates - staged integration and simulation: connect components, size parameters, simulate, and debug until execution succeeds ## Towards Neuro-symbolic Causal Rule Synthesis, Verification, and Evaluation Grounded in Legal and Safety Principles study - goal-to-cause decomposition: split a natural-language safety goal into constrained, traceable candidate causes - semantic consolidation: merge duplicate causes while retaining provenance to the originating goal - grammar-bound translation: map causes to machine-checkable predicates under an explicit symbol grammar - minimal-set search: enumerate and cache minimal necessary and sufficient cause combinations - verify-before-admit: gate new rules on syntax, consistency, safety, and invariant checks before committing them ## Toward an Engineering of Science: Rebalancing Generation and Verification in the Age of AI study - typed argument graph: store claims, evidence, assumptions, definitions, risks, and relations as typed nodes and edges - local decomposition: split a global validity argument into independently inspectable subgraphs with explicit support - dual interfaces: let humans use a browser canvas and agents use a CLI over one JSON source of truth - lifecycle statuses: track draft, stated, supported, cited, verified, questioned, and addressed states without treating them as proof - structural lint: warn about unsupported claims, cycles, malformed vocabulary, and misuse of synthesis nodes - risk dialogue: attach contestable risk nodes to claims and revise support or status in response ## The reach of a verification tool decides its value: A controlled study of verification surface, artifact quality, and cost in AI coding agents study - failure-matched verification surface β choose a checker whose observable signal reaches the product failure, and include a negative-control task where it cannot - boot-probe-first ladder β measure a one-bit startup check before paying for a full shell, preserving within-model comparisons and token denominators - intention-to-treat tool evaluation β score assigned capabilities while logging actual use, feedback, repair, and cost separately ## The Complexity of Interference: When Rely/Guarantee Does Not Work study - holds-for-all rule β prove a bridge property for every abstract variable and instantiate it at another component's local variable - can-be-marked invariant β express that marked children remain discoverable through an alternate path or future propagation - atomic transition lemmas β split concurrent updates into Change and MarkTbm and prove each preservation implication - safe-set rely derivation β derive a component's rely from a universally quantified guarantee without sharing its local set ## TextGrad: Automatic βDifferentiationβ via Text study - textual gradient: turn evaluator critiques into natural-language gradients for intermediate artifacts - graph backpropagation: aggregate feedback through all successor contexts in a computation graph - self-supervised code refinement: optimize code from local test feedback without ground-truth repairs - test-time solution optimization: iteratively improve one answer using a self-evaluator and vote - minibatch prompt optimization: tune one prompt across examples with textual-gradient descent ## Test-Oriented Programming: rethinking coding for the GenAI era study - reviewed-test specification β make human review focus on executable acceptance tests that drive generation - staged Onion workflow β progress from YAML requirements to structure, tests, class implementations, and acceptance execution - bounded repair loop β repair tests or structure after failed generation, then retry up to a fixed limit - model variability audit β repeat generations per model and report intervention, failures, and output differences ## Tenspiler: A Verified-Lifting-Based Compiler for Tensor Operations study - semantic-IR verified lifting: synthesize a backend-independent tensor program and prove equivalence before code generation - VC-driven SyGuS: jointly synthesize summaries and loop invariants from verification conditions - staged search restriction: prune by types, bounded states, expression trees, and live variables before universal proof - counterexample-guided synthesis: reject SAT counterexamples with blocking constraints and retry - operator axiomatization: supply inductive and algebraic facts for recursive tensor semantics ## Systematic Design of Separation Logics study - closure-based logic synthesis: derive minimal command axioms by closing exact semantic triples under preserving exists, frame, and consequence operators - semantic heap compatibility: permit universal framing only when matching-store heaps are disjoint and semantic preservation is proved - normalized closure pipelines: reduce repeated closure applications to a fixed order and reuse the same core rules across approximation directions - local forward and backward systems: instantiate the method as SL+, ISL+, SIL+, and NC+ with explicit approximation meaning - error-safe incorrectness framing: prevent false under-approximation triples by rejecting frames that change exact semantics ## SpecFirst: Behavioral Specification Elicitation as a First-Class Step in Agent-Based Program Synthesis from Scratch study - black-box behavioral elicitation: probe a reference executable through stdout, stderr, and exit status using targeted edge-case classes - persistent structured specification: externalize observations in a six-section artifact and pass only the distilled contract to synthesis - phase-separated synthesis: complete elicitation before implementation while allowing targeted probes for unresolved gaps - specification format comparison: evaluate freeform and requirement templates with the same agent and benchmark conditions - failure taxonomy: separate omission, wrong or inaccurate contracts, execution faults, and environment-dependent failures ## SpecEval: Evaluating Code Comprehension in Large Language Models via Program Specifications study - specification task ladder β evaluate contract judgement, strongest-candidate selection, masked infilling, and complete generation with verifier-grounded metrics - mutation-based counterfactuals β apply semantics-preserving identifier, branch, dependency, and statement transformations and compare model outputs - Jaccard and variance sensitivity β quantify inconsistent success on paired original and perturbed programs - verifier-grounded precision/recall β score generated specifications for validity and coverage of reference contracts - deterministic few-shot prompting β provide two language examples and greedy decoding for reproducible specification evaluation ## SOVER: Formal Certification of Optimization Reformulations via LLM-Assisted SMT Verification study - shared-coordinate SMT equivalence: map both formulations into one symbolic environment and prove feasibility equivalence plus weak-order preservation by UNSAT counterexample queries - Ξ΄-complete Ξ΅-argmin checking: use dReal with a margin larger than Ξ΄ and accept only UNSAT for nonlinear feasibility and optimization-mismatch formulas - refined LLM mapping: obtain variable and parameter correspondences, then run a targeted uniqueness and consistency correction pass before verification ## Solver-Informed RL: Grounding Large Language Models for Authentic Optimization Modeling study - solver-backed artifact checking: execute generated code and inspect solver status, objective, feasibility, and `.lp` structure - instance-enhanced self-consistency: vote across objective and model-structure features instead of objective value alone - Partial-KL RLVR: leave reasoning exploratory while regularizing mathematical-model and code tokens - staged verifiable rewards: train first on format/execution/accuracy, then reward advanced modeling features only after correctness - verifier-loop training: use independent execution or proof results as deterministic feedback for generated artifacts ## SmartPoC: Generating Executable and Validated PoCs for Smart Contract Bug Reports study - bug-context extraction β slice around key functions and expand semantic, structural, and initialization dependencies - deterministic preflight β normalize versions/imports and prevent generated tests from replacing target behavior - generate-repair-execute β regenerate from current diagnostics until execution succeeds or a budget ends - action-state differential verification β compare matched pre/post state around a trigger using a bug-specific oracle ## Scalable Synthesis of Formally Verified Neural Value Function for Hamilton-Jacobi Reachability Analysis study - MILP counterexample encoding β turn universal ReLU safety conditions into infeasibility checks with binary activation variables - activation pattern alignment β penalize sign changes on nearby training states to reduce linear regions and MILP branches - boundary-guided backtracking β rotate gradient search toward the feasible-region boundary tangent - entering-state regularization β add safe one-step predecessor states to resist feasible-region shrinkage - verifier-in-the-loop synthesis β alternate batched search, fine-tuning, and final universal verification ## Satisfiability Modulo Exponential Integer Arithmetic study - EIA semantics β model integer exponentiation as `base^|exponent|` so SMT functions remain total - CEGAR abstraction β solve with uninterpreted exponentiation, detect a counterexample model, and refine with valid lemmas - sign and arithmetic lemma families β eliminate models with symmetry, monotonicity, bounds, divisibility, induction, and interpolation - lazy lemma precedence β generate finite families first and model-dependent families only when needed - phasing β alternate bounded sat search with unbounded unsat search to control interpolation growth ## Sample, Scrutinize and Scale: Effective Inference-Time Search by Scaling Verification study - sampling-based search: generate many candidates, score each with repeated self-verification, and select the highest-scoring candidate with pairwise tie-breaking - implicit scaling: increase candidate count so that a correct, high-quality response becomes available and easier for the verifier to identify - disagreement localization: compare candidates at divergence points to focus error checking where responses differ - verification rewriting: rewrite a candidate into theoremβlemmaβproof form before judging correctness - preliminary scoring: cheaply filter low-scoring candidates before expensive repeated verification - verification benchmark: evaluate scoring of correct, wrong, and correct-by-coincidence flawed responses separately from pairwise comparison ## RLMEval: Evaluating Research-Level Neural Theorem Proving study - blueprint theorem curation β select high-level project theorems and report them separately from auxiliary lemmas - paired proving tasks β compare proof generation from formal statements with proof generation assisted by informal proofs - controlled context modes β measure performance with only milestone lemmas versus all project lemmas - pass@k sampling β count a theorem solved when one of k independently verified candidates succeeds - versioned benchmark maintenance β pin verifier versions, expose a stable runner, and add newer projects to limit contamination ## RePro: Proof-Verified Benchmark Rewriting for Reliable Evaluation of LLM Mathematical Problem Solving study - progressive verifier pipeline β screen rewrites, formalize, prove with an ATP, kernel-check, then align the target answer - literal proof extraction β copy final answers only from verbatim spans in a verified proof and forbid new computation - three reliability criteria β measure well-definedness, feasibility, and answer correctness with separate denominators - rejection sampling audit β retain verified candidates while reporting failures, retention rates, and changed difficulty distribution - pass@k coverage β vary ATP attempts, report diminishing returns, and expose verifier capability limits - paired rewrite evaluation β compare original and proof-verified rewrites to diagnose memorization and reformulation sensitivity ## ReLoop: Structured Modeling and Behavioral Verification for Reliable LLM-Based Optimization study - structured generation: separate understanding, formalization, code synthesis, and grounded completeness checks - L1 execution verification: block syntax, runtime, infeasibility, and unboundedness failures with diagnostic regeneration - CPT/OPT behavioral testing: perturb parameters and classify objective-response ratios to detect missing constraints or objective terms - diagnosis-guided repair: target WARNING components while treating ambiguous signals as logged INFO - regression-guarded verification loop: enforce safety checks, rerun the blocking verifier, and roll back objective/status regressions ## Reliable Natural Language Understanding with Large Language Models and Answer Set Programming study - semantic parser plus symbolic checker β use an LLM for predicate extraction and a deterministic reasoner for entailment - defaults and integrity constraints β encode exceptions, impossible states, and alternative worlds explicitly - fixed predicate grammar β constrain model output to typed domain relations before reasoning - proof-tree explanations β return the facts and rules that justify each answer - state-machine conversation β store predicates as state, ask for missing fields, and query trusted data ## Recomposition: A New Technique for Efficient Compositional Verification study - property-aware decomposition: split a specification while keeping all property variables in one component - recomposition map: map original components to parallel-composed verification components - semantic parallel composition: compose components while preserving the intersection of their behaviors - static reduction: remove components outside the transitive action-dependency closure of the property - data-flow ordering: rank candidate components by dependency distance and variable-use counts - strategy portfolio: run identity, top-heavy, bottom-heavy, and monolithic maps in parallel ## QiMeng-CodeV-R1: Reasoning-Enhanced Verilog Generation study - structure-aware randomized equivalence β parse ports, clocks, and resets, then compare candidate and golden outputs across controlled simulations - round-trip data synthesis β describe code, regenerate it, and retain only checker-equivalent pairs - difficulty filtering β keep tasks that strong baselines solve inconsistently, yielding useful RL positives and negatives - distill-then-RL β supervised reasoning cold start followed by verifier-rewarded optimization - adaptive DAPO β estimate valid-sample rates and resize generation batches to avoid rejected-sample waste ## QbC: Quantum Correctness by Construction study - specification holes β carry preconditions and postconditions on unfinished programs and refine them locally - partial-correctness refinement β use sequence, initialization, unitary, repeat, case, and while rules with explicit side conditions - total-correctness refinement β use increasing predicate sequences and termination-aware while rules - soundness and completeness theorems β guarantee every refinement result and characterize all correct programs in the language - proof-guided algorithm derivation β discover concrete algorithms by selecting intermediate predicates from natural specifications - probability-boosting combinators β turn a subroutine's success contract into stronger success through verified repetition - recursive QFT construction β derive a large circuit from smaller specifications, swaps, controlled phases, and a closing gate ## ProofVerifier: A Scalable, Diversity-Driven Framework for Natural-Language Proof Verification study - three-axis QPC diversification β vary source, generation method, and model to cover proof styles and error modes - unanimity plus slice audit β keep five-way-agreement labels and human-audit generation regimes at escalating sampling rates - balanced token weighting β interpolate per-response and global normalization to avoid short-trace and long-trace collapse - fluency reward filter β suppress binary rewards for repetitive, looping, malformed, or unsupported reasoning traces - best-of-k verifier reranking β sample candidate proofs and select the one with the highest verifier score ## Proof-Carrying Cognition: Closing the Verification Gap with Reality-Settled Reward study - soundness-under-pressure β evaluate verifier-selected candidates against an independent gold executor as best-of-N grows - claim ledger β emit typed, versioned claims and settle them later against immutable outcomes - drift-controlled reward β reduce proxy reward and increase settlement when prediction error exceeds a threshold ## Pipeline Denotational Design: Correct-by-Construction Data Pipelines at Zero Cost study - denotational pipeline design: specify semantic types and derive executable operations from a typed algebra - CalcG grain checking: compose finite grain rules and compare the result with the target before data access - behavioral-class typing: reject invalid read/write transitions and require key evidence for re-graining - proof-carrying constraints: compose `(Pre, Intra, Post)` contracts and compile residual predicates to faithful queries - assurance spectrum: choose runtime, typed, or machine-checked evidence and require an agent certificate ## Pessimistic Verification for Open-Ended Math Questions study - simple pessimistic verification β run n independent whole-proof checks and reject when any reports a critical error - vertical pessimistic verification β split a proof into at-most-k-line chunks and check chunks in parallel with full context - progressive pessimistic verification β repeatedly screen the whole proof, bisect survivors, prune failures, and stop at n rounds or minimum chunk size k - error-centric agentic repair β feed a rejected candidate through error correction and verification until acceptance or a maximum iteration count ## Ontology-to-tools compilation for executable semantic constraint enforcement in LLM agents study - ontology-to-MCP compilation: generate typed create/link/validate tools and a fixed task plan from a T-Box - feedback-driven graph construction: require all state changes through tools, return structured violations, and retry until constraints hold - deterministic lexical grounding: cache endpoint labels, rank finite candidates, and materialize a chosen IRI mapping or `owl:sameAs` - database-backed CBU derivation: parse crystallographic files, segment nodes/linkers, enrich identifiers, and instantiate derived entities under the ontology ## NormWorlds-CF: Solver-Verified Counterfactual Normative Reasoning with Metamorphic-Relation GRPO study - executable certificate worlds: represent facts, typed rules, priorities, and queries in a closed DSL and emit deterministic answers with decisive, defeated, and support evidence - metamorphic counterfactual records: transform a root world, solve both versions, and label relation plus answer/support/status/attack differences from solver traces - staged diagnostic supervision: train answer, proof, falsification, and change-record interfaces so failures are attributable by competence level - class-conditioned MR-GRPO: give invariant and change relations different partial-credit geometry while retaining exact relation and family checks ## No Certificate, No Execution: Certified Traces as a Foundation for Trustworthy AI Agents study - PCE trace gate: separate generation, certification, and execution, authorizing only certificate-bearing traces - executable-language intersection: model runnable behavior as generated traces intersected with certified traces - proof-memory certificates: retain history and compose obligation-specific witnesses into a certificate stack - boundary metrics: measure unsafe certification, missed certification, and executable yield over generated traces - zero-knowledge trace certification: prove policy properties while withholding sensitive trace contents ## NeuroSynt: A Neuro-symbolic Portfolio Solver for Reactive Synthesis study - checked neural portfolio: run neural and symbolic synthesis in parallel and accept only model-checked candidates - pattern-mined training: mine, filter, alternate, and augment specification patterns with realizability labels - counterexample loop: send candidate circuits to a checker, retain status/counterexamples, and cache repeated checks ## Mechanism-level routing failure in LLMs over Lean-verified algebraic structures study - source-anchor manifest β link each task and mechanism label to an immutable formal declaration and source snapshot - paired cue ablation β compare blind and mechanism-metadata conditions on the same item, model, and run - separated routing metrics β score mechanism template, truth verdict, and caveat evidence independently - cue-induced confusion analysis β distinguish errors fixed by metadata from errors caused by label granularity ## Learning Formal Mathematics From Intrinsic Motivation study - type-directed constrained conjecturing: use recursive type rules and constrained decoding to generate only well-formed propositions - MCTS proof search: guide finite formal actions with learned policy and value likelihoods - hindsight relabeling: turn proved subgoals in failed trees into new proof and conjecture data - percentile difficulty loop: label proof log-likelihoods and train the next conjecturer on hard, easy, and trivial bands - formal acceptance signal: retain examples only when the proof assistant checks the proposition ## Lean Meets Theoretical Computer Science: Scalable Synthesis of Theorem Proving Challenges in Formal-Informal Pairs study - parameterized formalβinformal synthesis: generate aligned Lean and natural-language proof tasks from an expert template and a shared algorithmic instance - Busy Beaver bounded oracle: classify finite-state machines by deterministic simulation through BB(N)+1 and maximality - MBA W2DNF normalization: decide two-variable bit-vector equivalence by comparing four canonical weighted coefficients - lemma-library proof decomposition: turn each goal-changing rewrite into an independently scored Lean step - compiler-backed validation: parse model output and accept only Lean 4 proofs that compile without `sorry` ## Law And Order: Tax Law Autoformalization study - structural correspondence: map source cells or rules and dependency edges to executable functions - instruction-grounded synthesis: generate each function from authoritative natural-language instructions plus its interface - localized repair: regenerate only the function whose intermediate output or proof obligation fails - repair/test split: tune on human-written cases and evaluate once on independent held-out cases - equivalence checking: prove sampled implementations equivalent or produce concrete divergence inputs - coverage/depth diagnostics: measure cell and branch coverage and prioritize long dependency chains ## Latte: Lightweight Aliasing Tracking for Java study - boundary annotations: annotate fields and method parameters while inferring local alias states - alias graph: maintain path equivalence and reachable-alias relations to enforce one unique heap location - isolation: overwrite a path after recording its alias so the former value can become uniquely owned - framing: invalidate aliases to fields that a method may mutate - branch unification: conservatively join per-branch alias environments, using bottom when no safe common fact exists - borrowed traversal: use `owned` recursive parameters and isolation to mutate linked structures without explicit destructive-read syntax ## L-Mosaics and Bounded Join-Semilattices in Isabelle/HOL study - layered algebraic locales: organize shared carrier laws and specialized axioms into reusable proof contexts - set-valued operation encoding: model multivalued results with membership, closure, and set-theoretic lemmas - Nakano construction: derive an L-mosaic relation from join equalities in a bounded join-semilattice - diagonal join recovery: obtain a least upper bound from unique diagonal membership in an L-mosaic - mutual-inverse formalization: prove forward and reverse constructions equal through dedicated equivalence theories - AI-assisted interactive proving: use LLM lemma and tactic suggestions only after machine checking and human adaptation ## Kimina Lean Server: A High-Performance Lean Server for Large-Scale Verification study - process-pool verification β run one independent proof-checker process per CPU slot and dispatch scripts to idle workers - import-keyed LRU caching β reuse a warmed verifier process only when the import/environment key matches - batch verification API β submit script lists through one call and return structured diagnostics and timing - infotree tactic extraction β convert proof execution traces into non-overlapping tactic/state training records - reproducible verifier benchmarking β fix toolchain, dataset filtering, hardware, and denominator before comparing throughput ## Incremental units-of-measure verification study - incremental unit inference: annotate a small suggested subset, infer the rest, and synthesize persistent comments - polymorphic units: express generic unit relationships such as `'a` and `'a**2` while restricting nonzero literals for soundness - interprocedural instantiation: instantiate polymorphic templates at call sites with fresh unit variables - modular summaries: solve and cache compact function signatures at module boundaries, including trusted stubs for unavailable libraries - HNF constraint solving: reduce unit equations to linear Diophantine form and solve with a modified Hermite Normal Form algorithm - scalability evaluation: compare single-file and separate-module solving using five-trial means and standard errors ## Incremental Forward Reasoning for White-Box Proof Search study - persistent forward state β cache partial rule applications per goal and update by deletions then additions - shared-variable indices β intersect hypothesis and match buckets keyed by slot substitutions - lazy and phased insertion β defer index work until a preceding match or search phase makes it relevant - semantic match equivalence β retain one prefix when substitutions relevant to future slots and conclusions agree ## Incorrectness Separation Logic with Arrays and Pointer Arithmetic study - variable-length array and block model β represent contiguous live and deallocated regions with `arr`, negative arrays, and explicit allocation blocks - canonical ordering split β enumerate all term orderings and equalities before applying heap rules - boundary-sensitive heap rules β handle alloc/free/load/store by splitting arrays and updating block endpoints - weakest-postcondition completeness β generate exact under-approximate postconditions and use entailment to derive all valid triples ## Incompleteness of AI Safety Verification via Kolmogorov Complexity study - compliance encoding: encode input, output, and policy as (x=\langle z,y,\Pi\rangle), define (P(x)), and check a proof of (P(x)) - richness counting: use a large compliant subset and program-counting to show that high-K compliant instances exist - proof-enumeration contradiction: enumerate hypothetical proofs to derive a short description and contradict (K(x)>n) - proof-carrying instances: attach an instance-specific certificate Ο and verify (\langle z,y,\Pi,\pi\rangle) instead of seeking universal completeness ## Improving Lean4 Autoformalization via Cycle Consistency Fine-tuning study - cycle-consistency reward: back-translate generated formal code and reward embedding similarity to the original statement - LoRA autoformalization: adapt only feed-forward projections with low-rank adapters for single-GPU training - curriculum ablation: compare difficulty-ordered SFT with identical shuffled data and budget - GRPO semantic tuning: sample groups of completions, normalize rewards, and optimize a KL-constrained clipped objective - proof-aware reward design: combine semantic round-trip quality with a hard formal-check result to avoid proxy reward hacking ## Imperative Quantum Programming with Ownership and Borrowing in Guppy study - unique qubit ownership: give one scope destructive rights and permit temporary non-destructive borrows - borrow-by-default APIs: require an explicit `@owned` annotation for consuming parameters - linear and affine leak checking: require owned resources to be consumed or transferred while borrowed resources return to their owner - field-wise dataflow: track ownership through branches, loops, structs, and arrays - imperative-to-functional translation: replace unique borrowed side effects with explicit value threading into a functional IR ## Herald: A Natural Language Annotated Lean 4 Dataset study - dependency-aware context: translate formal declarations in DAG order with dependent statements and retrieved analogues - tactic-state augmentation: turn each replayed Lean proof state into a localized, compiler-checked NL-FL pair - semantic paraphrase augmentation: generate equivalent, abstract, implicit-condition, and multilingual NL variants - compiler plus NLI validation: require Lean compilation and back-translation agreement for at least one sampled candidate - section-level autoformalization: translate a project section, then use a theorem prover and human checks to repair remaining errors ## GenesisGeo: Technical Report study - checked symbolic data synthesis: sample DSL constructions, compute DDAR closure, filter equivalent goals, minimize premises and auxiliaries, and export proof traces - proof-trace multimodal training: continue-pretrain and multitask-finetune on aligned diagrams, predicates, auxiliaries, and checked proofs - propose-and-verify search: let a VLM suggest auxiliary constructions, validate each with DDAR, fold accepted points into the problem, and iterate with beam search - batched auxiliary revalidation: group identical premise/auxiliary sets and rerun proof checks jointly for approximately 5Γ faster validation ## FormalRTL: Verified RTL Synthesis at Scale study - static-analysis decomposition: use an AST dependency graph to partition a large implementation and verify leaves before parents - reference-anchored harness generation: generate implementation and an equivalence harness from the same software reference - temporal equivalence checking: encode clock latency explicitly when verifying sequential or pipelined behavior - counterexample-guided repair: localize syntax errors and simplify mismatching signals before asking an LLM for a patch - denominator-aware metrics: report first-pass success, bounded repair success, adjusted iterations, and QoR separately ## Formalize Once, Edit the Rest: Efficient Lean-Based Answer Selection for Math Reasoning study - rank-ordered base discovery: find the first type-checked formalization in candidate rank order and reuse its scaffold - two-tier substitution cascade: use gated exact substitution first, then a learned localization-and-fill function for structural encodings - Lean-filtered expert iteration: retain only rewriter outputs whose reconstructed statements pass the formal checker and fine-tune repeatedly - statement/proof signal separation: distinguish well-formedness checks from kernel-checked proofs and report both denominators - shared-scaffold integration: factor verifier accuracy into candidate coverage and conditional retention to isolate the effect of reuse ## Formal Conjectures: An Open and Evolving Benchmark for Verified Discovery in Mathematics study - open/solved split β separate zero-contamination proof discovery from autoformalization of known arguments - answer placeholder β decouple finding a concrete answer from proving the resulting obligation - external proof metadata β link proofs by system and pinned source without bloating the statement repository - misformalization taxonomy β classify translation, underspecification, and source errors with repair evidence - test/API definition checks β add proven edge-case statements and run automated proof/disproof audits - frozen benchmark snapshots β pin statements and toolchains while evolving a separate living repository ## ESBMC v7.6: Enhanced Model Checking of C++ Programs with Clang AST study - bounded model checking β unroll a transition system to k steps and obtain counterexamples from satisfiable SSA formulas - Clang AST to GOTO/SSA β use compiler semantic analysis, then symbolic execution and SMT constraints - vtable and thunk modeling β represent C++ dynamic dispatch explicitly in the verification IR - operational models β replace complex STL bodies with contract-bearing abstractions - exception and move modeling β encode modern C++ control flow and ownership-like rvalue behavior in the front end ## DSLean: A Framework for Type-Correct Interoperability Between Lean 4 and External DSLs study - typed bidirectional DSL specification β declare external-to-prover equivalences and let prover types reject ill-typed foreign syntax - recursive translation with termination guards β match definitional patterns, recurse through nonterminals, and cap non-progressing translations - certificate versus oracle integration β check external certificates inside the prover when possible and mark uncertified solver answers as explicit trusted axioms ## DRIFT: Decompose, Retrieve, Illustrate, then Formalize Theorems study - atomic decomposition β split an informal theorem into concept queries with natural and formal anchors - dense dependency retrieval β embed sub-queries and declarations, then union top-1 dependencies - greedy illustration β select up to three usage theorems by marginal premise coverage - context assembly β provide declarations, examples, and the original statement to a formalizer - adaptive retrieval β vary context size or skip retrieval when dependencies are unlikely to help - compiler feedback loop β use failed type or semantic checks to trigger revised context and generation ## Distributional Energy-Based Models for Uncertainty-Aware Structured LLM Reasoning study - decomposed energy β combine learned whole-output ranking with modular deterministic constraint penalties - heterogeneous adapter ensemble β use structurally diverse low-rank heads whose mean ranks and disagreement estimates uncertainty - contrastive verifier training β train pairwise energies on problem-level positive/negative candidates without leakage - sigma-triage loop β accept low-uncertainty valid candidates, regenerate with structured feedback, and abstain at extreme uncertainty ## Data for Mathematical Copilots: Better Ways of Presenting Proofs for Machine Learning study - mixed-mode proof trajectories β store natural-language context, formal states, tool calls, outputs, and the checked response, then replay with pinned dependencies - formal benchmark protocol β declare task, context, artifact, automation, resources, versions, and pass@k/time metrics - diagnostic failure labels β attach structured error and warning codes to verifier feedback instead of one binary score - repair and refactoring corpora β capture compileβdiagnoseβfix edits and before/after proof maintenance with lint metadata - workflow decomposition β turn a long proof into checked intermediate transformations and explicit subgoals - motivated-proof evaluation β require each construction's origin and test pairwise against unmotivated proofs ## CSLib: The Lean Computer Science Library study - unified formalization corpus: organize reusable computer-science models, algorithms, data structures, and proofs in one Lean framework - Boole IVL contracts: write imperative procedures with `requires`, loop `invariant`, and `assert`, then generate Lean verification conditions - kernel-replayed SMT: translate Lean goals to SMT, obtain certificates, and replay them in the Lean kernel - TCB-minimizing translation: embed the IVL and translation machinery in Lean and keep generated goals source-linked - reviewed AI assistance: use AI for formalization and proof suggestions while requiring verifier checks and manual code review ## Compositional Symbolic Execution for the Next 700 Memory Models study - memory-model-parametric CSE: factor concrete memory, resources, symbolic memory, and OX/UX relations into instance definitions and properties, then reuse one engine - consume-produce reasoning: implement assertion consumption and production with four soundness obligations and lift them to calls and predicates - bi-abduction: repair UX missing-resource errors with a model-dependent anti-heap and prove the concrete witness theorem - OX/UX frame design: require PCM composition and separate over-approximate and under-approximate frame properties for each memory action ## Completeness of Synthesis under Realizability Assumptions using Superposition study - answer-clause saturation: carry a conditional program term through first-order clauses and extract it from an empty answer clause - SUPRA dual rules: combine equality branching (`SupC`) with computable answer unification (`SupU`) under partitioned orderings - abstraction rule: replace computable subterms inside uncomputable literals with variables and retain equality conditions for complete saturation ## CombiBench: Benchmarking LLM Capability for Combinatorial Mathematics study - paired formal benchmark: curate informal problems with Lean or Verus statements, metadata, and documented exclusions - staged answer verification: compile exact model output, then prove equality to a reference when syntax differs - strict one-call check: use definitional equality as a low-cost but deliberately incomplete fallback ## Can LLMs Prove Robotic Path Planning Optimality? A Benchmark for Research-Level Algorithm Verification study - source-grounded extraction β convert papers into structured problem, algorithm, ratio, proof, and lemma records with human audit - anonymized benchmark tasks β remove algorithm and problem names that can act as memorized retrieval cues - context ablation β compare no context, source lemmas, posterior target, and both under a fixed task - three-axis proof grading β score answer, reasoning, and relevance separately with multi-label logical and hallucination errors - first-error diagnostics β normalize the earliest proof error to expose long-horizon error propagation ## Can LLMs Perform Synthesis? study - ILST synthesis loop: generate, verify, retry until success or a fixed timeout, with optional duplicate caching - checker-specific gates: enforce grammar and semantics with separate parsers, model checkers, SMT solvers, or proof engines - portfolio baseline: compare LLM sampling with symbolic enumeration under explicit timeout, hardware, and denominator accounting ## CAM-Bench: A Benchmark for Computational and Applied Mathematics in Lean study - recursive dependency expansion β recover referenced definitions and assumptions through bounded, provenance-tracked recursive retrieval, holding out unresolved dependencies - semantic block decomposition β split heterogeneous requirements into typed definitions, algorithms, assumptions, and theorem blocks before formal generation - frozen-context compilation repair β translate one block at a time against an immutable verified prefix and use compiler diagnostics for bounded local fixes - semantic review with rejection control β re-review compilable artifacts, preserve repair history, and reject changes that alter assumptions, quantifiers, domains, or conclusions - strict execution-based evaluation β count success only after complete project verification with original statements preserved and proof shortcuts rejected ## Bulkhead: Automated Semantic Detection and Remediation of Container Escape Vulnerabilities study - semantic entry localization: map documented interfaces to high-risk privileged functions before deep analysis - call-chain slicing: preserve only path propagation, validation, resolution, and boundary-crossing operations - vulnerability pattern templates: encode attacker, interaction order, and invariant failure in reusable structured records - PoC confirmation: instantiate exploitation steps and execute them in isolation to validate reachability - counterexample-guided repair: compile-filter patches, model-check invariants, and feed counterexamples into the next synthesis round - conditioned patch metrics: report success and vulnerability rates with their denominators and conditioning ## Bit-Precise CHC Satisfiability Using Theory-Modular Reasoning study - domain-restricted theory transformers: map finite bit-vector values to integers and translate formulas only with explicit domain restrictions and overflow-safe reverse translation - theory-modular CHC encoding: partition arithmetic and bit-wise clauses, duplicate predicates, and connect copies with translated interface inclusions - bidirectional MosaicSolve: alternate single-theory oracle calls, under-approximation counterexamples, over-approximation blocking lemmas, and cross-fragment proof obligations - overflow-aware optimization: omit modular arithmetic only after proving that the relevant execution cannot overflow ## Automated Verification of Consistency in Zero-Knowledge Proof Circuits study - pseudo-product construction β execute witness and constraint artifacts in aligned copies with shared inputs - symbolic equivalence analysis β infer equal signal pairs from flow-sensitive symbolic stores and simplify the product - guarded array equalities β synthesize quantified loop invariants from writes, bounds, and counter step sizes - Houdini invariant filtering β iteratively remove predicates failing initiation or consecution before SMT checking ## Autoformalizing Argumentative Material Inferences study - guard completion β elicit assumptions, definitions, and exceptions, then select a minimal proof-relevant guard set - Neo-Davidsonian translation β parse sentences into event-based logic and jointly unify predicates before verification - defeasible abnormality guards β encode exceptions as abnormality predicates and require their negation for rule use - soft and hard refinement β diagnose representation, support, strictness, and dependence failures before prover-guided repair - contrastive faithfulness β replace premises and claims with unsupported alternatives and reject proofs that survive - consistency admission β reject malformed or contradictory guard theories before proving the target ## ALPS: Measuring Valid Creativity in Large Language Models with Mathematical Construction study - renewable proof benchmark β generate fresh constructive instances and retain only those with machine-checkable certificates - two-channel judge β use an independent kernel proof or complete saturation plus per-step witness checks - proof-guided construction β require every generated step to elaborate or match a certified rewrite before acceptance ## ACE: Towards A High-Assurance Isolated Virtualization Environment for RISC-V study - verification-oriented architecture: choose small modules, narrow interfaces, static configuration, and continuous proof checking - static memory partitioning: separate confidential and non-confidential ranges with hardware ownership rules - page-token abstraction: represent exclusive page ownership and bounds in a verified safe wrapper over unsafe memory - typed ABI validation: convert checked raw addresses into domain-specific types at entry points - modular Rust verification: generate and continuously check per-function specifications and composed invariants ## Accelerating Scientific Research with Gemini: Case Studies and Common Techniques study - lemma-first prompting β demand elementary lemmas, explicit assumptions, and a stop-on-gap outcome - adversarial proof repair β review generated proofs for counterexamples, repair assumptions, and rerun every lemma - code-checked derivation β execute generated checks to prune invalid branches before formalizing the surviving argument ## A Practical Quantum Hoare Logic with Classical Variables, I study - typed quantum arrays β index quantum registers with classical terms and parameterise gates and measurements - paired cq-assertions β combine classical first-order formulas with quantum predicate formulas - fresh-variable measurement rule β avoid distribution substitution by introducing an outcome variable and `x = y` - outcome accumulation β merge disjoint measurement branches with Kraus and convexity side conditions - lifted Hoare composition β apply assignment, unitary, sequence, condition, consequence, and loop rules to cq-assertions - total loop rule β add an integer decreasing variant to quantum/classical loop invariants - inductive circuit verification β prove local gate triples and compose them over a recursive array specification ## A More Pragmatic CDCL for IsaSAT and Targetting LLVM (Short Paper) study - active/discarded clause splitting β retain original literals while allowing inprocessing to ignore transformed clauses - generic PCDCL transitions β express learning, subsumption, simplification, and restarts through verified state rules - refinement-driven LLVM synthesis β refine abstract rules to deterministic arrays and generate lower-level code - accessor-based state decomposition β replace tuple case-splits with getter/setter refinement to make synthesis tractable - timing-guided proof engineering β collect runtime statistics to find scheduling and allocation bugs in verified implementations ## A cyclic proof system for Guarded Kleene Algebra with Tests (full version) study - atom-annotated sequents β carry guard-state sets in judgments so Boolean reasoning is explicit and propositional rules can be omitted - priority and invertibility β order decomposition rules and apply non-invertible modal rules only when priority restores reversibility - fair cyclic reasoning β require infinitely repeated loop-left progress and prove soundness with finite unrolling plus a decreasing measure - syntax-tree regularity β represent leftmost cedents by unique syntax tails to obtain finite-state cyclic proofs - staged bounded proof search β search in left, right, loop-empty, and closure phases while caching one finite-state obligation ## A complex-analytic proof of square-restricted stable phase retrieval in Fock space study - exact formal statement β define the measure, norm, domain, regularity and infima explicitly before proving the theorem - lemma decomposition and correspondence β map every prose step, hypothesis, constant and declaration in an auditable table - side-condition verification β formalize weight bounds, Jacobians, integration-by-parts conditions and convergence obligations - finite-to-infinite approximation β prove polynomial cases, establish norm convergence, and pass to the entire-function limit - kernel and axiom audit β pin Lean/Mathlib versions, reject `sorry`/`admit`, and inspect reported axioms ## A blueprint for the formalization of norm-variation of multiple ergodic averages for commuting transformations study - forward-chaining blueprint β order definitions and proofs so every theorem uses only prior results or named standard results - explicit dependencies and constants β expose theorem parameters and recursively named inequality constants so automation can audit them - staged LLM formalization β keep human control of statements and structure while models generate routine proof text checked by the prover - real-to-ergodic reduction β combine endpoint permutation, multilinear interpolation, CalderΓ³n transference, and jump-to-variation conversion ## The Refutation Gap: Certifying Both Halves of an Optimality Claim study - layered construction certification: independently replay, symbolically equate, and kernel-check every synthesized artifact - DRAT proof-carrying lower bounds: require an independently checked refutation for each decisive UNSAT minimality query - self-contained trust reporting: emit certificates with explicit axiom lists and no hidden library/build dependencies - adversarial result auditing: recompute claims from raw records and rerun budgeted failures to expose aggregation artifacts - encoding-faithfulness review: separately verify that solver constraints exactly represent the optimization problem ## Simplified and Verified: A Second Look at a Proof-Producing Union-Find Algorithm study - certificate inference rules: make proof objects explicit and prove soundness and completeness against equivalence closure - rollback explanation: recursively remove newest unions to obtain a simple terminating certificate algorithm - forest/LCA explanation: annotate parent edges and recurse only over paths needed for a query - dual UF representations: retain an uncompressed proof forest alongside a compressed executable forest - refinement with heap assertions: relate imperative arrays to an abstract functional data structure ## Securing Verified IO Programs Against Unverified Code in F* study - higher-order boundary contracts: compile wrappers that dynamically enforce refinement, precondition, and postcondition assumptions - reference monitoring: check every untrusted IO operation against a trace-based policy before execution - monitored effect discipline: restrict access to IO and monitor state with indexed effects or capabilities - secure compilation proof: establish trace safety and relational preservation for verified code linked with hostile contexts ## Neuro-Symbolic Proof-of-Vulnerability Generation with Open-Weight Models study - manifestation slicing: iteratively expand dependency slices from patches or entries and localize the vulnerable statement - constraint-data specialization: generate optimized symbolic constraints and solver inputs to fine-tune extraction and solving models - anchored random walks: bias ICFG exploration by backward-BFS distances while preserving path diversity and call-stack validity - solver-backed PoV synthesis: use CEM/CSM to produce an executable input generator and SMT as a validated fallback - patch differential validation: execute a generated PoV on vulnerable and patched revisions to expose incomplete fixes ## Learning the Error Patterns of Language Models study - oracle error grouping: sample unconstrained outputs, classify failures, and learn patterns per diagnostic group - distributionally sound prefix filters: synthesize `str -> bool` predicates and validate false-trigger rates on model and external valid distributions - CARS rejection sampling: reject a generation as soon as any filter matches and rebalance the token trie - shifted-distribution rounds: relearn filters after earlier filters expose different recurring failures ## LASA: Enhancing SoC Security Verification with LLM-Aided Property Generation study - hierarchical RAG prompting: summarize each RTL module and retrieve relevant documentation before property generation - vacuity screening: reject formulas whose subformulas do not affect model satisfaction - few-shot assertion translation: convert retained properties to SVA and repair with syntax, semantic, and counterexample feedback - coverage-driven refinement: rerun FPV and add targeted properties until configured coverage thresholds are met - counterexample bug finding: use model-checker traces plus threat context to identify concrete design flaws ## Formally Verified Linear-Time Invertible Lexing study - injective token printing: require a semantic transform with a proven source-string inverse - R-Path separability: preserve adjacent-token non-merging through local boundary checks - zipper derivatives: refine regex derivatives to Huet zippers and prove matching equivalence - verified memoization: maintain cache/function agreement to obtain linear longest-match lexing - equivalence refinement: optimize executable representations only through proved observational equivalence ## Engineering a Formally Verified Automated Bug Finder study - semantic simulation: prove symbolic and concrete reachability equivalent through concretization and step simulation - stuck-state oracle: define bugs as reachable stuck states and separate reachability, satisfiability, and oracle checks - BFS lazy executor: explore symbolic states with FIFO expansion and prove relative soundness, completeness, and termination signaling - solver-filtered decision: turn a stream of bug reports into a T-sound/T-complete binary result with satisfiable path conditions ## B-Coder: Value-Based Deep Reinforcement Learning for Program Synthesis study - terminal checker reward: map compile, execution, test, and verification outcomes to scalar terminal rewards and learn token-level values - demonstrated-program advantage shaping: subtract the per-state maximum logit and minimize demonstrated-token advantage loss - checkpoint-to-Q initialization: convert pretrained LM logits into a dueling Q function and pretrain its state value with TD loss - conservative Bellman operator: back up with the greedy action of a fixed baseline policy to stabilize limited-data learning - inverse-Q reward ranking: recover a reward estimate from Q and rank generated candidates before expensive checking ## A Multi-Agent Generative AI Framework for IC Module-Level Verification Automation study - staged specification pipeline: separate parsing, planning, testbench design, and code generation with explicit artifacts - JSON requirement normalization: standardize interfaces, registers, scenarios, and data flows for downstream agents - test-point cross-reference: require every planned point to map to a case and checking mechanism - generateβverifyβcorrect loop: gate workflow transitions on automated and human consistency checks - RAG with constrained templates: retrieve relevant source fragments and constrain outputs with fixed schemas and topology ## Quantifier Elimination for Database Driven Verification study - cover-based existential elimination β summarize `βe Ο(e,y)` with a strongest quantifier-free formula satisfying the model-extension test - model-completion bridge β obtain quantifier elimination from uniform quantifier-free interpolation in a universal theory - constrained-superposition covers β saturate e-flat EUF literals with ordered rewriting, reflexion, and resolution - database-fragment optimization β exploit unary functions and free relations for polynomial or quadratic cover computation - MCMT deployment β integrate the cover procedure into database-driven symbolic model checking and benchmark it on BPMN workflows ## Python Symbolic Execution with LLM-powered Code Generation study - CFG path extraction β build a breadth-first AST control-flow graph and record typed, loop-annotated execution paths - path chunking β split long paths into one-statement or condition-delimited generation units - LLM type prediction β infer variable and collection element types before constructing SMT symbols - SSA environment tracking β carry versioned variable names and an updated environment across chunks - retrieval-guided Z3 generation β retrieve path-to-Z3 examples by embedding similarity and use them as few-shot templates - array-plus-length list model β encode Python lists as Z3 arrays with a symbolic nonnegative length - execute-and-self-refine β run generated solver code, feed errors back for up to three repairs, then fall back - solver-model test reconstruction β convert SSA scalar and array models into runnable input tests - checker-backed route selection β prefer SMT-backed generation and use direct LLM solving only when generation fails ## Pythagoras-Prover: Advancing Efficient Formal Proving via Augmented Lean Formalisation study - verifier-gated curriculum β build easy, medium, and hard training tiers from statements whose proofs compile - dynamic proof filtering β retain complete reasoning when it fits, otherwise preserve complete proofs under a fixed context budget - GRPO verifier reward β reward only verifier-accepted rollouts and dynamically filter problems by successful-rollout count - augmented formalisation β mutate statements into structured variants and self-distill proofs, while marking them unverified until checked - restart pass@N β compare independent proof sampling with self-correction under explicit denominators - perturbation benchmark β test transfer and contamination sensitivity on controlled statement mutations - tactic-level diffusion β mask and denoise complete proof tactics rather than arbitrary tokens ## Model-Driven Discipline for Multi-Agent LLMs: Requirement-to-Verification Generation of Traceable System Models study - check-gated multi-agent generation: generate, check, refactor, trace, and repair each formal artefact before accepting it - staged requirement-to-verification modelling: derive concepts, a DSML, a conforming model, and behaviour from one atomic requirement model - executable traceability: emit element-level versioned links that support automated cross-model impact analysis - counterexample-guided formal repair: feed checker traces to a repair agent and repeat verification until pass or cap - model-dependent evaluation: measure syntax, execution, semantics, traces, and effort over repeated runs with denominators ## Quantitative Comparison of Credible Compilation and Verification In Coding Agent Compiler Development study - credible compilation: let an unverified transformation emit a certificate and reject it with a verified semantic checker - full transformation verification: prove the optimizer, analysis, and semantic-preservation theorem directly in a proof assistant - composite certificates: combine several passes under one relational certificate to amortize checking cost - proof-friendly dataflow: use worklists and fixed-point lemmas to recover performance without abandoning machine-checked proofs ## Quantifying Cross-Query Contradictions in Multi-Query LLM Reasoning study - symbolic commitment extraction β translate each model answer into a normalized CNF or SMT-LIB commitment - incremental satisfiability checking β conjoin commitments with the case file and reject transitions that make the state UNSAT - unsat-core localization β identify a small inconsistent subset or approximate it by deletion minimization - counterexample-guided minimal repair β flip, soften, or retract commitments and select the least disruptive satisfiable repair - logic-filtered self-consistency β sample answers, remove globally inconsistent candidates, then vote ## Quantifiers on Demand study - quantified ic3 frames β store quantified lemmas with substitutions in monotone frames and block quantified proof obligations - partial model-based projection β derive sound predecessor cubes while abstracting residual array and skolem constants - on-demand instantiation β generate and reuse finite quantifier instances during blocking and pushing to guarantee progress at each depth - simple qgen β replace bounded array-index terms with fresh universally quantified indices guarded by inferred bounds - arithmetic qgen β generalize repeated arithmetic/index data points with convex hulls or polyhedral joins ## Quantifier-Free Interpolation of a Theory of Arrays study - skolemized array extensionality: add `diff(a,b)` as a universal witness so array inequalities expose quantifier-free differing reads - modular array constraints: flatten array literals and use confluent rewrite rules plus `diff` side conditions as a satisfiable normal form - gaussian completion solver: preprocess, guess index partitions, complete critical pairs, and backtrack on normalized conflicts - interpolating metarules: run paired A/B transformations while propagating shared literals and recursively reconstructing the interpolant - term sharing: rename local constants to fresh shared constants when a rewrite rule would otherwise violate the shared signature ## Pushing the Limit: Verified Performance-Optimal Causally-Consistent Database Transactions study - abstract transaction LTS: model concrete protocol events and prove reachable states satisfy an abstract isolation machine - ghost history reconstruction: record timestamps and commit order, then reconstruct abstract versions and client views - reduction by commutation: reorder causally independent events to eliminate inverted commits before refinement - refinement obligations: prove guard strengthening and update correspondence under explicit state invariants - timestamp and view invariants: maintain causal closure, session guarantees, sorted commit order, and monotonic safe-time inequalities ## Pushing the envelope of Optimization Modulo Theories with Linear-Arithmetic Cost Functions study - mixed-integer OMT β relax integer constraints, minimize the LP relaxation, branch on fractional integers, prune by the incumbent upper bound, and learn an improving cost cut - multiple-cost OMT β minimize every active objective for each SMT assignment and learn a disjunction of strict upper-bound improvements; fix earlier objectives for lexicographic mode - incremental OMT β guard subformulas and optimization cuts with assumption literals so ordinary learned clauses survive push/pop while stale cuts deactivate ## Pushing the Boundaries of Natural Reasoning: Interleaved Bonus from Formal-Logic Verification study - interleaved formal reasoning β emit a formal artifact after each natural-language module and condition the next module on verifier feedback - execution-validated SFT synthesis β generate, execute, compare, semantically check, and rewrite formal proof/data modules before fine-tuning - hierarchical FLV-GRPO reward β reject fatal and malformed outputs before combining structural, answer, and tool-use rewards - flexible verifier role assignment β use direct calculation for arithmetic and formal tools for logical validation rather than enforcing every checkpoint ## Pure Borrow: Linear Haskell Meets Rust-Style Borrowing study - lender-borrower lifetime split β return a borrower and lender, then reclaim only after a dead-lifetime token - lifetime-token BO monad β index mutation by active and ended lifetime tokens - affine split and parallel composition β split disjoint borrowers and run BO computations with `parBO` - scoped reborrowing β derive shorter borrowers with lifetime intersection and restore the parent borrower - history-based semantics β record path updates on lifetime tokens and replay them at reclamation - borrow-aware integration benchmark β test safe parallel mutation with quicksort and work stealing ## Psychometric-Based Evaluation for Theorem Proving with Large Language Models study - model-derived difficulty grading β compute theorem difficulty from multi-model proof success and normalize it into graded levels - discrimination scoring β average pairwise success-rate differences divided by prior ability differences to find separating items - information-ranked selection β choose high-information items near the current ability while avoiding recent repeats - adaptive ability convergence β update and clamp a score from repeated proof rates until it stabilizes over ten rounds - fixed-audit complement β pair adaptive evaluation with full or random fixed sets to detect selector overfitting ## Proving Theorems using Incremental Learning and Hindsight Experience Replay study - given-clause learned queue: combine age, clause size, and a learned score to choose the next clause in saturation search - hindsight proof replay: turn every intermediate generated clause into an auxiliary goal with ancestor positives and non-ancestor negatives - incremental budget scheduling: retry conjectures with increasing time budgets while learners update from a shared replay buffer - graph spectral clause encoding: encode clause graphs with typed nodes and Laplacian features for Transformer scoring ## Proving Theorems Recursively study - level-specific sketch extraction: retain current-level proof steps and replace deeper subproofs with explicit deferred children - recursive best-first search: pause at a verified outline, solve child conjectures recursively, and backpropagate failure or success - placeholder soundness gate: treat `sorry` as search metadata only and require every deferred fact to pass the target verifier ## Proving Olympiad Inequalities by Synergizing LLMs and Symbolic Reasoning study - scaling enumeration and counterexample pruning β instantiate finite inequality lemmas and reject candidates with cached, CAD, or optimization counterexamples - LLM rewriting β generate equivalent algebraic transformations with format-specific prompts, then verify each in Lean - symbolic goal filtering β rank candidate obligations by homogeneity and variable decoupling scores - neural goal ranking β ask an off-the-shelf LLM to order the filtered obligations before the next proof iteration ## Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Models study - rewrite-path proofs β represent equivalence as a sequence of locally valid, semantics-preserving graph rewrites ending in structural identity - proof-producing data generation β sample grammar programs and legal rewrites to obtain exact training paths automatically - graph-to-sequence search β encode expression graphs, decode axiom/location tokens, and feed back intermediate graphs - deterministic proof checking β replay each candidate rewrite and accept only a valid path to the target - incremental proof decoding β predict one axiom at a time to generalize to longer proofs ## Proving Differential Privacy with Shadow Execution study - randomness alignment β map noise injectively across adjacent runs, preserve outputs, and account for the density shift - shadow execution β maintain a second state that reuses samples and switch selectively between aligned and shadow values - flow-sensitive distance typing β track two execution distances through assignments and branches, then generate deterministic assertions - nonlinear-cost rewriting β replace difficult products with asserted sensitivity bounds and linear privacy-cost updates - annotation search heuristics β enumerate branch selectors and small offsets to discover sampling annotations, then verify the result ## Proving differential privacy in Hoare logic study - synchronized self-product β duplicate two executions, synchronize control flow, and assert branch agreement - abstract mechanism replacement β replace random calls with equal-output budget-charging contracts - budgeted relational invariants β track adjacency, equal state, and privacy cost through ordinary loops - PTR proof pattern β combine sensitivity, Laplace accuracy, and branch synchronization for approximate privacy ## Proving Correctness of Imperative Programs by Linearizing Constrained Horn Clauses study - CHC partial-correctness encoding β translate a functional Horn specification and imperative operational semantics into goals whose satisfiability implies the Hoare triple - LA-solvability diagnosis β detect the incompleteness of assigning one linear arithmetic interpretation to each predicate atom, especially for nonlinear relational goals - interpreter removal (RI) β specialize the generic transition interpreter into terminating, satisfiability-preserving linear integer clauses - unfold/define/fold linearization (LIN) β replace nonlinear goals by named predicates so the resulting linear CHCs expose interactions to LA-solvers - staged solver evaluation β compare RI-only and RI-plus-LIN verification on a fixed benchmark set with explicit solver, timeout, and denominator reporting ## Proving at Scale for Universal Algebra study - counter-model screening: refute candidate specifications on finite models before writing expensive proofs - family normal forms: share a rewrite and finite-feature proof across instances with the same basis - whole-corpus audit: rebuild every theorem and table from source and let the kernel decide acceptance - transfer certificates: derive new-instance proofs from embeddings, quotients, products, or earlier certified cases - verifier boundary accounting: distinguish kernel-checked results from Vampire-derived or externally trusted computations ## Prover Agent: An Agent-Based Framework for Formal Mathematical Proofs study - verifier-guided refinement: select the lowest-error draft and repeatedly repair it from compiler diagnostics - auxiliary lemma discovery: generate subgoals, special cases, and hypothesis-derived facts, then formalize and prove them independently - lemma-guided synthesis: place verified lemmas in the parent context and search/refine a final proof under a fixed sample budget ## PRover: Proof Generation for Interpretable Reasoning over Rules study - typed proof graphs β represent facts, rules, NAF, and derivation edges as an inspectable directed graph - joint QA and proof prediction β train answer, node, and edge modules with one shared encoder and summed losses - constrained ILP inference β choose a high-scoring edge set subject to legality and max-flow connectivity constraints - negation as failure β represent unprovable positive statements with explicit NAF nodes and semantics - failed-branch explanations β return the shallowest failed proof branch when a question is not derivable - proof consistency metrics β measure exact node, edge, proof, and answer-plus-proof accuracy with explicit dataset denominators ## PROVE-RT: Generating Mechanized Theorem Prover Scripts for Real-Time Systems using LLMs study - invariant-and-sketch extraction β turn paper prose into formal claims, informal proof plans, and a dependency DAG before code generation - dependency-aware retrieval β retrieve code and documentation from a proof library, recursively recovering prerequisites in compilation order - deferred-proof skeletons β generate type-correct declarations and contexts first while deferring proof bodies to a separate stage - integrity-checked proof repair β replace only the intended proof block, compile, feed exact diagnostics back, and reject axioms or target edits - corpus and denominator design β validate extracted graphs and report full-sketch success separately from local section compilation ## Prove2Me: An Open Collaborative Platform for Scaling Math Formalization study - Inference: immutable theorem/proof separation β freeze a statement and accept only exact, axiom-free proofs compiled in its pinned environment - Inference: read-back auditing β translate formal declarations to plain mathematics and compare them with the source before publication - Inference: proof-sketch decomposition β import open child statements to split a large proof into independently solvable leaves - Inference: milestone and reusable library β anchor canonical lemma statements and index proved modules for later imports - Inference: asynchronous correction and reproducibility β share counterexamples in a discussion channel and pin toolchains so repaired proofs reproduce ## Propositional Reasoning about Safety and Termination of Heap-Manipulating Programs study - SLH shape-length logic β combine reachability, cycles, sharing, and arithmetic path lengths in one heap theory - homeomorphic small models β quotient heaps by subdivision and search kernels with at most twice the pointer count - strongest-postcondition VCs β derive safety and termination obligations from pure heap transformers - SAT reduction β encode bounded SLH[TBV] counterexamples with symbolic execution and bit-vector constraints - invariant and ranking patterns β relate path lengths across traversals and use decreasing or lexicographic measures ## Property-Guided LLM Program Synthesis for Planning study - actionable property selection β define a formal progress or safety property whose violations expose concrete failing states - counterexample-guided repair β return the first counterexample and prior attempts to an LLM for targeted regeneration - early-stopping validation β traverse only relevant improving states and stop evaluation at the first violation - bounded acceptance accounting β record time and memory limits and treat timeout-based acceptance as incomplete evidence - domain-level amortization β synthesize one reusable program per domain and evaluate it across in-distribution and unseen tasks ## Property-based Polynomial Invariant Generation using Sums-of-Squares Optimization study - piecewise-polynomial loop abstraction β encode SSA loops as guarded polynomial transitions and use `F(P)βP` for inductiveness - property-driven polynomial invariant β optimize `w` so `Rβ{pβ€0}β{ΞΊβ€w}β{ΞΊβ€Ξ±}` - SOS semidefinite hierarchy β replace global polynomial inequalities with SOS identities and solve degree-bounded SDP relaxations - SOS template completion β add `qβ€0` when `pβq` is SOS to obtain a richer inductive template basis ## ProofWriter: Generating Implications, Proofs, and Abductive Statements over Natural Language study - explicit logic semantics β choose CWA/NAF or OWA/Unknown before generating and checking proofs - acyclic proof encoding β represent fact, rule, NAF, and conclusion nodes in a serializable alternating graph - iterative one-step proving β generate and append depth-1 implications until exhaustive forward chaining stops - proof-step verification β check each generated implication as a separate QA or deterministic rule query - implication enumeration β emit every logical consequence and score exact sets with F1 and exact match - restricted abduction β find one missing fact whose addition makes an unprovable conclusion derivable ## ProofWala: A Framework for Multilingual Proof Data Synthesis and Theorem-Proving study - state-transition abstraction β represent obligations, tactics, successor states, and QED in one assistant-agnostic model - in-process proof instrumentation β execute inside the elaborator to trace tactics and extract declarations and dependencies - unified proof-step records β serialize `(start state, tactic, end state)` in one JSON format for multiple assistants - environment pooling β clone identical proof environments and execute candidate tactics concurrently - parallel beam search β rank model-proposed tactics, execute them in parallel, and prune frontier states - semantic proof-tree logging β record only successfully executed transitions with scores, timing, and outcomes - multilingual data mixing β train fixed-capacity models on Lean and Rocq data under matched optimization budgets - transfer evaluation β compare pass@k with explicit theorem counts and paired-bootstrap p-values - declaration database exploration β query SQLite dependency graphs and visualize declaration relationships ## ProofSketcher: Hybrid LLM + Lightweight Proof Checker for Reliable Math/Logic Reasoning study - typed proof sketch: have an LLM emit tagged, typed nodes and holes instead of an unchecked full script - obligation extraction: deterministically expand each node into sequent-shaped goals with provenance - certificate-gated automation: accept external solver results only after trusted certificate checking - localized incremental repair: edit the first failing node and reuse cached proofs for unchanged nodes ## ProofNet++: A Neuro-Symbolic System for Formal Proof Verification with Self-Correction study - symbolic proof-tree checking β parse generated steps into dependency trees and validate every step before continuation - proof-tree curriculum β train on linearized formal trees ordered from shallow to deep - verifier-guided RL β use checker acceptance as binary reward and propagate it with n-step returns - rejected-subtree repair β use diagnostics to propose, verify, and commit local tree substitutions ## ProofGap: Benchmarking Step-Level Formal Reasoning with Local Obligations Derived from Natural-Language Solutions study - relaxed-to-core proof representation β preserve natural proof structure, then elaborate it into an explicit proof-state AST - notation and scope elaboration β resolve overloaded terms, binders, compound propositions, and analysis notation with checked transformations - proof-gap generation β turn each AST transition into a local `Ξ β’ G` obligation tied to a source step - replayable verifier DSL β execute deterministic state transitions, reject unsupported automation, and require all branches to close - verifier-guided workflow β combine bounded candidate generation, isolated checker feedback, replay, and semantic audit ## ProofCompass: Enhancing Specialized Provers with LLM Guidance study - natural-language proof seeding β summarize a capable model's proof strategy and inject it into a specialized prover's chain-of-thought input - failure-derived lemma mining β extract intermediate `have` statements from failed attempts, syntax-check them, and select justified candidates - lemma-first decomposition β prove selected intermediate theorems under ordered dependencies before assembling the main theorem - budgeted verified retries β count every specialized-prover call, verify with Lean, and stop on the first complete proof ## ProofBridge: Auto-Formalization of Natural Language Proofs in Lean via Joint Embeddings study - joint NL/formal proof embeddings: encode natural-language pairs and formal proof-state DAGs in one contrastively trained space for cross-modal retrieval - retrieval-augmented proof fine-tuning: condition formal theorem/proof generation on top-K verified examples and relevance scores - bounded verifier repair: run syntax and semantic checks, feed diagnostics back to the model, and retry up to a fixed budget - two-level correctness metrics: require type-checking first, then a mechanically proved equivalence between generated and reference theorems ## Proof-Refactor: Refactoring Generated Formal Proofs into Modular Artifacts study - staged proof refactoring β extract fragments, design helpers, prove them, then repair the owner proof in separate verifier-checked phases - scaffold extraction β turn a tactic block into a standalone theorem with only used variables and an implication when the post-goal differs - reasoningβinteraction separation β use an independent model context for fragment and signature design while a verifier agent edits and checks code - rubric-plus-ablation evaluation β require compiler validity, score structure and reuse separately from length, and measure the effect of removing design assistance ## Proof of Thought: Neurosymbolic Program Synthesis allows Robust and Interpretable Reasoning study - generate a typed JSON DSL that separates sorts, facts, rules, verification goals, and actions - interpret DSL with symbol-table scope checks, sort checking, AST construction, normalization, and diagnostics - translate the representation to first-order logic and use a theorem prover as the acceptance decision - feed parser and prover errors back to the LLM for bounded program repair - report compilation, logical accuracy, and false-positive rates with their dataset denominators ## Proof-Guided Underapproximation Widening for Bounded Model Checking study - bounded VC generation β encode finite unrolled executions and a negated property as an SMT verification condition - stratified CEGAR inlining β refine an entry-procedure abstraction by inlining callsites appearing on spurious counterexamples - unsat-core widening β block open calls, then inline only blocked callsites named by an UNSAT core - parallel verifier portfolio β run overapproximation and underapproximation verifiers concurrently and return the first result ## Proof-Carrying Certificates for LLM Pipelines: A Trust-Boundary Architecture study - trust-boundary certificate audit β hash typed ML artifacts, kernel-check certificates, and reject undeclared transitive axioms - conflict-aware bilattice grounding β classify weighted claims by support and refutation and gate emission on refutation mass - maximal certifiable residue β return the highest-weight subset satisfying decidable grounding, policy, dependency, and budget constraints - selective embedding sensitivity β compare finite invariant and significant edit families and prove a squared similarity-drift bound - Hoare trajectory certificate β require decidable pre/postconditions and state chaining for every agent action - compositional stability budget β propagate per-layer gains and margins to a pipeline-wide perturbation radius - universal assurance card β ship a decidable vector of verdict, evidence, stability, scope, safety, residue, and provenance fields - proof-of-sampling and oracle audit β commit sampling transcripts and maintain held-out evidence for persistent ML/human assumptions ## Proof-Based Synthesis of Sorting Algorithms Using Multisets in Theorema study - multiset/noetherian synthesis β specify permutation and sortedness with multisets and use strict multiset decrease for recursive proof synthesis - domain-specific inference β expand/compress multisets, split order cases, rewrite equivalent lists, and solve witness equations - cover-set extraction β turn cover branches and existential witnesses into conditional rewrite clauses - cascading auxiliaries β synthesize `min`, `trim`, `split`, `insert`, and `merge` as subordinate conjectures when the main proof needs them - split-goal merge β decompose a multiset union into independently solvable equations before reconstructing a sorted output ## Proof Artifact Co-training for Theorem Proving with Language Models study - proof-artifact extraction β recurse through kernel proof terms and derive masked-subterm, type, lemma, context, and elaboration prediction tasks - verifier-instrumented dataset β capture proof states, parse generated actions, execute them in a non-circular environment, and store trajectories - bounded best-first search β queue model-proposed proof actions by heuristic score under width, depth, iteration, and timeout limits - PACT co-training β train tactic prediction jointly with heterogeneous self-supervised tasks from verified proof artifacts - temporal generalization test β evaluate on later-added theorems and report passed/total separately from random held-out rates - kernel-filtered feedback β use only proof attempts accepted by the trusted checker as training examples for expert iteration ## PROMISE: Proof Automation as Structural Imitation of Human Reasoning study - structural proof-state retrieval β index intermediate goals with proof suffixes, rerank structural matches by semantic goal similarity, and use tactic shapes as few-shot guidance - grounded name retrieval β gather context-valid theorem and definition names separately from structural templates and filter them through the prover - verifier-guided beam search β generate short candidates, normalize and statically filter them, execute each in the prover, score successor states, and accept only whole-theory replay - leakage prevention β exclude the target theorem and self-references from every retrieval channel before generation ## Progress on Software Verification: SV-COMP 2022 study - versioned benchmark tasks β freeze programs plus explicit properties in a public, reproducible task repository - witness validation β require independently checked proof or violation witnesses and lint every artifact - reproducible execution β pin archives, dependencies, machines, containers, logs, and resource limits - multidimensional scoring β report correctness, unknowns, time, energy, and errors with task denominators - troubleshooting workflow β reproduce locally and remotely, inspect logs and validators, and report benchmark defects through version control ## Programming with permissions in Mezzo study - permission-as-state-and-ownership β combine data shape, alias facts, state, and owned extent in `x @ t` permissions and function pre/postconditions - mode analysis β classify permissions as duplicable, exclusive, or affine to control sharing, mutation, and dropping - permission subsumption β decompose fields, introduce singleton equalities, frame untouched permissions, and fold structural states - tail-recursive ownership proof β use a recursive function contract as the loop invariant for destination-passing list construction - adoption and abandon β dynamically attach exclusive objects to an adopter and recover them with a checked `take` - nesting β store permissions statically inside an exclusive object and focus/defocus them without runtime checks - lock invariant β mediate access to a permission through `new`, `acquire`, and `release` while restoring the invariant - syntactic soundness proof β establish subject reduction and progress for Core Mezzo, with explicit boundaries for dynamic checks and axiomatized extensions ## Programmers Are Poor and Overconfident Judges of LLM-Generated Assertions study - balanced assertion-review experiment β cross correct and incorrect postconditions with exact, over-specified, under-specified, incorrect, and absent comments, then measure accuracy, time, and confidence - comment-alignment taxonomy β classify explanations by equivalence, stronger/weaker relation, contradiction, or absence - mixed-effects review measurement β model participant and stimulus variation while analyzing accuracy, time, confidence, and independent completeness - think-aloud codebook β code top-down, bottom-up, and as-needed mental-model construction plus correctness strategies - clause comparison β map every intended logical requirement to an assertion clause and expose omissions - logic walk-through β trace data and control flow through the assertion against expected behavior - positive and negative examples β test concrete satisfying and violating input/output pairs to expose errors - intuition risk signal β require machine-checkable evidence when acceptance rests on an unsupported impression ## Program Synthesis in Saturation study - answer-literal witness extraction: add `ans(y)` during saturation and turn computable answer terms into program expressions - conditional branch composition: record guarded witnesses and assemble nested if-then-else code once guards cover all cases - computable unification: constrain substitutions so proof reasoning may use opaque symbols without emitting them in executable programs ## Program Analysis with Local Policy Iteration study - template linear constraints β express numeric invariants as maxima of selected linear templates - policy iteration β alternate policy improvement and linear-program value determination to reach an inductive fixpoint - adjustable-block encoding β retain symbolic path formulas through loop-free blocks and abstract at loop heads - CPA integration β expose transfer, merge, stop, and initial-state hooks so analyses cooperate - local policy iteration β solve only backpointer-reachable policies in the current strongly connected component - template refinement β add octagon, rich, assertion-directed, unrolling, and congruence information when simpler domains fail ## Product Programs in the Wild: Retrofitting Program Verifiers to Check Information Flow Security study - IVL modular product: duplicate two executions with activation variables, relational contracts, and shared calls/loops - operationality soundness gate: require source-to-IVL step simulation and assertion preservation before product construction - dynamic-dispatch repair: guard relational postconditions and low events by equality of receiver dynamic types - possibilistic concurrency checks: enforce low lock events, low termination, equal lock identity, and relational release invariants - probabilistic concurrency checks: additionally make every explicit and implicit branch condition low while retaining low lock references ## Procedural Refinement by LLM-driven Algorithmic Debugging for ARC-AGI-2 study - bottom-clause initialization: construct a most-specific explanation and have an LLM generalize it into an executable hypothesis - APD proof-tree tracing: reify SLD goal-subgoal resolution into nodes containing bindings, clauses, and child derivations - localized abductive repair: use a failed trace to identify faulty predicates and propose a local hypothesis change - bounded top-k refinement: iterate verifier-guided repairs while retaining the highest-coverage candidates in a fixed history - parallel diversity search: run independent seeded trajectories and select two diverse, verification-consistent outputs ## Problem Reductions at Scale: Agentic Integration of Computationally Hard Problems study - uniform reduction contracts: pair forward and inverse maps with size-overhead expressions and canonical instances - executable round-trip validation: reduce, solve, lift, and compare with a direct oracle - six-layer harness: combine issue, compile, unit, round-trip, fresh-user, and human checks - staged skills pipeline: move contributions through proposal, validation, implementation, review, merge, and expert verification - symbolic path routing: compose and compare overhead expressions before selecting a solver path ## Probabilistic Rely-guarantee Calculus study - probabilistic Kleene algebra β model finite-state probabilistic and nondeterministic programs with composition, tests, and iteration - ipBES scheduler semantics β represent true concurrency with probabilistically labeled events and state-aware schedulers - t-simulation refinement β map concrete event traces to abstract traces and transfer distribution inclusion - probabilistic rely/guarantee closure β lift state relations to convex probabilistic programs and require simulation-closed environments - probabilistic rely-guarantee rules β distribute rely conditions through atomic actions, branches, prefixes, loops, and concurrent composition - quantitative intersection bound β combine component probability guarantees using the finite-measure lower bound (p_1+p_2-1) - faulty-sieve invariant refinement β improve generic probability bounds with atomicity, commutation, and βnever remove primesβ invariants ## Premise Selection for Mathematics by Corpus Analysis and Kernel Methods study - exact dependency minimization β split verified articles into one-item units and greedily remove environment facts while recompiling to retain only checker-required dependencies - proof-matrix supervision β label each conjectureβpremise pair from exact proof dependencies and train retrieval on those labels - structural formula features β represent symbols and subterms as binary formula features for premise scoring - naive-Bayes premise ranking β estimate per-premise usefulness from feature likelihood ratios and advise the highest-ranked premises - Gaussian-kernel MOR β learn regularized nonlinear premise scores with a shared kernel matrix, cross-validated `Ξ»` and `Ο`, and multi-output ranking - retrieve-then-ATP evaluation β measure both label recall and solved-problem counts after giving selected premises to an automated prover ## Premise Selection for a Lean Hammer study - hammer-aware dependency extraction β train on complete theorem-closing premise sets, including implicit, tactic-induced, `rw`, and `simp` dependencies - normalized signatures β serialize qualified typed declarations independently of notation and cache local additions - masked contrastive premise retrieval β train an encoder with sampled negatives and masks for shared positives, then select high-recall top-k facts - unified neural-symbolic hammer β feed selected premises to direct search and an external prover, then reconstruct and check the proof in the assistant - callable cached premise API β expose retrieval as a user tactic, cache fixed-library embeddings, and incrementally embed new local declarations ## Preguss: It Analyzes, It Specifies, It Verifies study - rte-guided verification units β generate UB guards, slice host-plus-callee contexts, and verify units bottom-up in call-graph post-order - two-stage contract synthesis β infer host preconditions first, then callee postconditions only when a guard depends on a return value, with verifier-guided refinement - precondition discipline β prohibit callee precondition synthesis in the callee phase to avoid over-constrained contracts and false alarms ## Predicting Rankings of Software Verification Competitions study - verification-task graph abstraction β combine CFG, control/data dependence, and AST edges while replacing concrete names with structural labels - WeisfeilerβLehman kernel β iteratively augment, sort, compress, and count labels over selected graph relations with bounded depth - pairwise ranking with SVMs β train one binary preference model per verifier pair and aggregate calibrated pair scores into a ranking - denominator-aware cross-validation β use 10 folds, report task/tool counts, and compare Spearman means with standard deviations and baselines - verifier portfolio selection β inference: rank Verus tactics or backends before execution, then rely on independent proof checking for acceptance ## Predicate Pairing for Program Verification study - CHC property encoding β represent operational semantics recursively and put a negated relational property in a false-headed clause - unfold/fold preprocessing β introduce, unfold, fold, and constraint-replace predicates while preserving D-satisfiability - equality-guided predicate pairing β pair atoms whose arguments share the most entailed equalities and summarize them with a fresh predicate - relational verification via paired executions β encode equivalence, monotonicity, injectivity, functional dependence, non-interference, and optimization correctness as two-run CHCs - solver coverage measurement β compare solved counts, time, clause growth, and timeout regressions before and after preprocessing ## Precondition Inference via Partitioning of Initial States study - precondition partitioning β maintain safe/unsafe over-approximations and analyze their overlap - CHC goal specialization β use PE, CS, and TE to strengthen NPs while preserving target derivations - iterative residual refinement β restrict initial clauses to unresolved overlap and accumulate disjoint SPs - nontermination side classification β treat states outside modeled safe/unsafe NPs as candidate nontermination ## PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data Types study - local consensus proof reduction β prove action monotonicity and stable preconditions, then obtain global safety from convergence - lattice-based protocol state β represent knowledge with an idempotent, commutative, associative join - compositional consensus β derive product/map/list/epoch merges and reuse verified component obligations - guarded protocol evolution β require prior decisions before appending epochs, log entries, graph nodes, or reconfiguration - automated algebraic laws β encode monotonicity and stability as verifier-checked laws with helper lemmas when needed ## Pragmatic Uses of AI in Formal MethodsβBased Railway Projects: Early Lessons and Perspectives (Extended Abstract) study - local specification assistant: run document summarization and cross-section question answering locally, then validate every answer - prover selection aid: use ML to rank automatic B provers while retaining the formal checker and traceability - certified safety controller: let ML propose perception outputs and let a formally verified controller accept or reject them - diagram-to-logic translation: convert relay diagrams to propositional specifications with multimodal prompting and expert validation ## Practical Rely/Guarantee Verification of an Efficient Lock for seL4 on Multicore Architectures study - rely/guarantee composition: specify environment interference and thread guarantees, then compose individual proofs under cross-thread rely conditions - coupling-invariant lock proof: relate concrete CLH nodes and abstract queue state with a persistent invariant and per-operation contracts - weak-memory reorder analysis: transform reorderable instructions into parallel composition and insert fences only where invariants require order ## PolyVer: A Compositional Approach for Polyglot System Modeling and Verification study - intermediate contract language: express each language-specific procedure as a pre/post contract in a small IL, compile it semantics-preservingly, and model-check the composition - CEGIS contract synthesis: iteratively synthesize a contract, verify it on the concrete procedure, and add failing pairs as positive examples - CEGAR spuriousness refinement: analyze abstract counterexample traces, exclude unreproducible procedure pairs, and repeat synthesis - LLM-guided contract oracle: use an LLM to propose IL predicates while CBMC/Kani and UCLID5 decide validity and system properties ## Politeness and Stable Infiniteness: Stronger Together study - polite theory interface β use smoothness and finite witnesses to combine a theory that is not stably infinite with another decision procedure - strong-witness validation β test witness formulas under every arrangement before invoking strong polite combination - sort-partitioned arrangements β use NelsonβOppen shared variables on stably-infinite sorts and polite witness variables on the rest - selective datatype term sharing β restrict CVC4βs shared terms to the sorts justified by the refined combination theorem ## PML2: Integrated Program Verification in ML study - equality-type specifications β state program properties as term equations inhabiting types - equational-context proof programming β learn equations from pattern matches and lemma calls - restriction and membership types β carry executable invariants such as vector lengths with values - classical continuation extraction β compute alternatives from classical proofs using saved continuations - size-change termination checking β reject non-well-founded proof recursion using sized types - equivalence-guided termination β check a hard implementation through an equivalent terminating surrogate - internal totality proofs β expose value witnesses needed for call-by-value equational reduction ## PKind: A parallel k-induction based model checker study - parallel k-induction β run bounded base and inductive entailment checks as independent message-driven processes - template invariant synthesis β instantiate a decidable binary relation over terms and filter candidates by projected counterexamples - incremental invariant streaming β send each k-inductive candidate immediately to strengthen the running induction proof - path-compression and abstraction β add optional repeated-state constraints and CEGAR abstraction to improve scalability ## Pipeline for Verifying LLM-Generated Mathematical Solutions study - structured lemma prompting: require one-premise-chain conclusion per logical step so an informal proof can be translated and audited - hypergraph normalization: split conjunctions, remove tautologies and encode lemma dependencies as a proof graph - fact-first checking: formalize and prove every unstated fact before proving dependent lemmas - translation fidelity checking: compare generated formal statements with source text and verify types and structure - dependency linking: find a premise-to-target path and construct the final proof from verified lemma edges - explicit variable typing: prompt for a fixed set of variables and types when text problems leave them implicit ## Pip-MPU: Formal Verification of an MPU-Based Separationkernel for Constrained Devices study - concrete-model invariant preservation: define security and consistency predicates over implementation state and prove each service preserves them with pre/post contracts - service-category decomposition: prove read-only services by unchanged-state reasoning and mutating services by exit and state-update cases - validate-before-mutate: perform all parameter and disjointness checks before changing metadata so early exits preserve invariants - failed-proof bug localization: treat an unprovable invariant branch as evidence of a missing check or inconsistent assumption, then inspect the corresponding code path ## PinChecker: Identifying Unsound Safe Abstractions of Rust Pinning APIs study - MIR-to-RPIL extraction β linearize public Rust function paths into pin-relevant atomic operations and reference-state transitions - reversible constraint synthesis β search backward from pinned-moved or pinned-forgotten states and execute candidates forward - five-rule pin semantics β constrain typing, liveness, reference introduction/retraction, and pinned state transitions - lazy liveness checking β defer expensive lifetime predicates until state-violating candidates are found - linear expressiveness audit β compare rewritten call sequences with original MIR to quantify model coverage ## PhysProver: Advancing Automatic Theorem Proving for Physics study - formal-library seed extraction β pair verified statements with imports, context, and proof scripts under a length cap - conjecture verification filter β generate candidates, syntax-check them, sample proofs, and retain only checker-verified statements - binary RLVR with GRPO β optimize grouped proof attempts using verifier reward 1/0 and reject escape-hatch tokens - proof-length curriculum β order training statements from shorter verified proofs to longer ones - rejection-sampling fine-tuning β fine-tune only on in-distribution, verifier-accepted sampled proofs ## Physics-Audited Agentic Discovery in Scientific Machine Learning study - physics contract gate β fix typed hard/soft checks and select the lowest-score candidate whose sampled normalized violation is below threshold - adversarial input search β hold weights fixed and maximize contract violation over bounded admissible inputs without reference fields - structure by construction β encode linearity, scaling, boundary, and causality in the surrogate architecture before training - isolated edit attribution β retrain one change at a time and save reusable method cards only after score and audit checks ## Petri Nets-based Methods on Automatically Detecting for Concurrency Bugs in Rust Programs study - MIR-to-PPN translation β extract monomorphized MIR, resource metadata, and aliases, then map blocks and operations to Petri-net places and transitions - reachability deadlock detection β classify terminal disabled markings and SCC cycles with permanently starved resource places - unsafe race detection β pair concurrently enabled accesses to one unsafe place when at least one access writes - relaxed atomicity backtracking β trace predecessors from a branch after a relaxed load and collect unsynchronized relaxed stores - Petri-net reduction β compress linear chains, prune irrelevant calls, and abstract resource-free loops before exploration ## PermRust: A Token-based Permission System for Rust study - access-matrix permission checking β model functions and I/O calls as subjects and objects, then check direct rights and caller privilege inclusion over an abstract function tree - capability-as-key tokens β require an unforgeable, private-field token in every protected API so authority is explicit at compile time - Cargo permission features β generate application entry points that create local tokens only when package permissions are enabled - procedural permission macros β clone and rewrite functions to add token parameters, wrappers, documentation, and conditional compilation - object capabilities β pass unforgeable resource objects for path- or instance-specific authority when category-wide tokens are too coarse ## Permission-Based Separation Logic for Multithreaded Java Programs study - permission tickets β attach fractional access rights to heap facts, allowing reads below one and writes only at one - separating conjunction β compose disjoint resources and obtain local reasoning through the frame rule - abstract resource predicates β hide representation while exposing monitor, fork, and join contracts - fractional join transfer β split terminated-thread postconditions among multiple joiners through nonduplicable tickets - reentrant monitor invariants β transfer resources only on initial lock entry and re-establish the invariant on final exit - ownership-parameterized types β encode static container ownership to prove lock-coupling non-aliasing - sound Hoare proof rules β combine permission-aware field, call, allocation, frame, and consequence rules ## PCRLLM: Proof-Carrying Reasoning with Large Language Models under Stepwise Logical Constraints study - proof-carrying single-step output β require each model step to name premises, rule, conclusion, and evidence so a checker can validate it - graded checker matching β parse structured output, enumerate legal conclusions, match fields, and score exact and numeric agreement - step-wise recomposition β select and compose individually verified steps from multiple model outputs under a chain-consistency predicate ## PaxosLease Revisited: A Checked Model of Diskless Distributed Leases study - executable state-machine specification β encode every protocol action, timer, crash, and message as a checked transition system - timer-containment arithmetic β choose lease and quarantine durations from clock-drift inequalities and prove interval inclusion - rule mutation counterexamples β weaken one guard at a time and require a safety trace - quorum identity discipline β count distinct acceptor identities and preserve exact owner-and-ballot matching - lease/Multi-Paxos composition β gate recovery and fast-path admission with a live lease while keeping Paxos state independent ## Partial Contracts Suffice: Sound, LLM-Inferred Regression Verification study - partial one-sided contract β enforce a contract on the old function, replace the old call by its over-approximation, and prove the caller-observed property against the new function - depth-bounded contract closure β infer precise contracts inside a call-graph depth and use weak havoc boundaries at the frontier - counterexample-guided frame inference β feed ESBMC's concrete frame-write trace to the next LLM contract proposal and accept only verifier-passing contracts - semantic contract tightness β decide contract-admit-set inclusion in both directions and use enforced subset ordering to compare proof power - soundness-gated regression portfolio β run a contract-free check first, infer a contract only on the undecided tail, and retain zero fabricated equivalences ## Partial Automation of Verification Condition Proving for Reflex Programs (Draft) study - extensible annotations β attach typed assumptions, assertions, invariants, and definitions to program elements, with optional external formula languages - structural invariant generation β derive reachable-state, state-variable, and transition-condition invariants by CFG and path analysis - layered SMT proof contexts β encode state updates and getters in SMT-LIB, select base/advanced/optional lemmas, and refine on `unknown` - per-VC fallback β classify solver results and defer unresolved obligations to an interactive theorem prover ## Parsel: Algorithmic Reasoning with Language Models by Composing Decompositions study - hierarchical function decomposition β express an algorithm as named descriptions, references, and local constraints - SCC-aware synthesis β process acyclic functions in post-order and jointly search recursive components - combinatorial implementation search β mix candidate implementations across functions and test minimal combinations - dependency-based constraint propagation β validate unconstrained children through constrained parents - generated-test ranking β use model-generated tests and CodeT scores to choose candidates when specifications are absent ## Parametrized Invariance for Infinite State Processes study - parameterized array encoding β represent all thread-local state with arrays indexed by symbolic thread IDs - p-inv rule β check initialization, property-thread steps, and one fresh-thread step to prove uniform safety - support strengthening β assume previously proved support invariants for fresh and property threads - graph invariance β prove mutually dependent invariants as nodes with incoming support edges - symmetry concretization β reduce finite-index array formulas to representative concrete thread assignments - counterexample-guided support discovery β inspect small SMT models of failed VCs to add missing invariants ## Pantograph: A Machine-to-Machine Interaction Interface for Advanced Theorem Proving, High Level Reasoning, and Data Extraction in Lean 4 study - incremental proof-state API β execute expressions and tactics through a prover-native interface and return goals after each step - coupled-goal And-Or search β choose goals explicitly, track dormant siblings, and resolve shared metavariables before dependent goals - tactic-trace extraction β emit before/after states and actions from compiled proofs for training or replay - draftβsketchβprove β generate an outline with holes, extract explicit obligations, and finish each with checked automation ## PaMpeR: Proof Method Recommendation System for Isabelle/HOL study - expert boolean abstraction β encode proof-goal, chained-fact, and context properties as hand-written boolean assertions - proof-action corpus logging β record each successful method invocation against the feature vector of its pre-state - per-method regression trees β train one RSS-minimizing tree per tactic and store leaf expectations - reduced feature extraction β retain only assertions used by trained tree branches for faster online lookup - explainable tactic ranking β return top methods, feature-based reasons, and a rank for a user-specified method ## PALM: Synergizing Program Analysis and LLMs to Enhance Rust Unit Test Coverage study - CFG condition-chain extraction: collect branch predicates and return values for each execution path - greedy path minimization: choose paths covering the most uncovered branch conditions until all are covered - context-aware prompting: include focal code, direct and indirect dependencies, and path constraints in a structured prompt - compiler-guided patch repair: apply minimal LLM-suggested changes from diagnostics with explicit iteration and error budgets - coverage and acceptance evaluation: report compilation, execution, line and branch coverage, and reviewed PR outcomes with denominators ## PAL*M: Property Attestation for Large Generative Models study - indexed incremental multiset hashing β measure randomly sampled external records in any order while detecting replacement, repetition and reordering - operation-specific attestation tuples β hash all semantic inputs and outputs and bind them to a property definition - CPUβGPU evidence binding β include GPU attestation and an SPDM-bound session in the operation measurement - challenge-bound TDX protocol β extend operation, challenge and measurements into REPORTDATA and verify a signed QUOTE - Tamarin protocol modeling β state confidentiality, integrity and authenticity goals and discharge them with trace lemmas across four memory/privacy cases ## PairCoder++: Pair Programming as a Universal Paradigm for Verified Code-Driven Multimodal and Structured-Artifact Generation study - verification-grounded review β run each generated program through its concrete toolchain and require the reviewer to cite evidence and a specific fix - self-mirror roles β inject explicit Driver/Navigator prompts and preserve shared candidate, review, and evidence memory - error-triggered switching β let the diagnosing agent repair immediately after a revision verdict, then have the other agent review - best-candidate fallback β stop on acceptance or budget exhaustion and return the highest-quality verified candidate seen ## PAC Learning-Based Verification and Model Synthesis study - PAC regular-path learning: infer a regular approximation of feasible branch vectors with epsilon/delta guarantees - batched concolic equivalence: generate IID batches by branch flipping and use the sample bound for approximate equivalence - error automaton intersection: intersect the learned model with bad-path language and check witnesses with an SMT solver - statistical model reuse: reuse a PAC automaton for new assertion/error automata while retaining its distributional guarantee ## Ownership Types for Verification of Programs with Pointer Arithmetic study - fractional ownership β use ownership fractions to control reads, writes, and refinement trust under aliases - index-dependent arrays β map relative addresses to ownership and per-index refinement predicates - alias merge hints β use alias equations to redistribute ownership and merge updated facts - sound typing theorem β prove preservation and progress to exclude assertion failures under alias assumptions - two-phase inference β solve interval ownership constraints, then CHCs for refinements - quantified heuristic β sample quantified ownership constraints, solve, and validate universally - pointer benchmark evaluation β report solver versions, hardware, timeout, benchmark lengths, and per-case runtimes ## Ownership in low-level intermediate representation study - borrow-stack ownership IR β represent low-level aliases with tagged borrow stacks and explicit borrow, copy, and end operations - cache equivalence β replace eligible address-map reads with fat-pointer cache reads under a proved invariant - prophecy for borrow return β encode mutable-borrow results in fat-pointer prophecy fields and constrain them at `die` - pointer-cache typestate β store verification metadata on pointer values to avoid symbolic shadow-memory lookups ## Owicki-Gries Reasoning for C11 Programs with Relaxed Dependencies (Extended Version) study - semantic dependency futures β execute only minimal events in futures ordered by dependency and preserved program order - operational/denotational correspondence β prove both soundness and completeness between step semantics and event structures - future-indexed Hoare logic β parameterize assertions by residual futures and require stability for every sub-future - modular Owicki-Gries reasoning β split global invariants into local correctness and cross-thread interference obligations - relaxed-memory view assertions β express per-thread synchronized and possible observations over tagged action graphs ## Owi: Performant Parallel Symbolic Execution Made Easy, an Application to WebAssembly study - symbolic path conditions β fork on symbolic guards, accumulate guard formulas, query an SMT solver, and replay its concrete failure model - value-parametric interpreter β factor instruction semantics over an abstract value module so concrete and analysis interpreters share code - monadic evaluation strategy β factor execution effects over `return`, `bind`, and monadic branch selection - multicore choice scheduler β represent branches as resumable coroutines and distribute them through a synchronized worker queue - lazy symbolic memory β share parent memory and record only per-state byte modifications, resolving reads through the state chain - cross-language harness checking β compile C and Rust to a common Wasm target, generate symbolic inputs, and assert functional or bit-level equivalence ## Z3: An Efficient SMT Solver study - DPLL(T) SMT architecture β combine SAT search, congruence closure, theory solvers, and incremental model reconciliation - contextual simplification β substitute equalities and discard trivial conjuncts before clausification - E-matching quantifiers β instantiate universal formulas from E-graph matches and retain useful conflict clauses - relevancy propagation β suppress expensive theory reasoning for atoms that do not affect the current branch - theory reductions β solve arrays lazily and bit-vectors by bit-blasting while sharing a SAT core ## Yuga: Automatically Detecting Lifetime Annotation Bugs in the Rust Language study - lifetime bug taxonomy β classify arg-arg and arg-return mismatches causing UAF or non-exclusive mutability - nested lifetime extraction β propagate borrow and raw-pointer outlives requirements through fields and structures - candidate pattern matching β pair values by type, mutability, and lifetime before alias analysis - flow-sensitive alias analysis β compute field-sensitive points-to sets in statement order and report may-alias transfers - shallow false-positive filtering β use `Drop` and iterator/clone patterns to reduce reports, with an opt-out - grounded detector evaluation β measure precision/recall on RustSec, transformed synthetic bugs, and filtered crate scans ## Your Simulation Runs but Solves the Wrong Physics: PDE-Grounded Intent Verification for LLM-Generated Multiphysics Simulation Code study - semantic reconstruction β map generated DSL objects to normalized semantic operators and retain unresolved cases - weighted intent score β compare reference and candidate contracts through explicit, weighted checkpoints - contract-guided refinement β feed deterministic violations to a generator for bounded, regression-guarded repair - structural plus parameter checks β pair a structural score with a conditional coefficient/material consistency diagnostic - executable-versus-intent audit β report GoodExec and FalseExec separately so runnable code is not mistaken for correct code ## Working Document - Formalising Software Requirements with Large Language Models study - iterative LLM formalisation β generate a specification, expose it for revision, and re-check each revision - neuro-symbolic feedback β use prover failures as structured corrections to model output - assertion synthesis β map signals or program variables, generate assertions, then verify syntax and meaning - model-based testing β partition inputs and derive tests oracles from formal descriptions - finite-state and process testing β check conformance while controlling state explosion with reduction - counterexample-to-test reuse β turn model-checker counterexamples into executable regression cases - structured prompting and retrieval β provide examples, intermediate reasoning and retrieved verifier facts before generation ## Why does it fail? Explanation of verification failures study - relevance-guided formula explanation: rank subformulas by truth influence and an interest measure to extract decisive literals - dependency-driven explanation trees: recursively unfold defined predicates into branching domain-level explanations - syntactic interest assignment: derive relevance from undefined predicates and definition dependencies - iterative counterexamples: exclude a diagnosed failure and rerun verification to expose additional faults ## Why Agentic Theorem Prover Works: A Statistical Provability Theory of Mathematical Reasoning Models study - verifier-defined MDP: model complete proof states, actions and deterministic verifier transitions as finite-horizon reachability - faithful encoding: prove that an abstract state representation commutes with verifier transitions and preserves solved states - depth-wise value learning: regress verifier-backed continuation success separately at each remaining horizon and act greedily - occupancy-sensitive evaluation: weight local value errors by the learned prover's unsolved-state tail and average truncated length - geometry and margin engineering: use retrieval and representations to improve coverage, smoothness, dimension and action gaps - overflow truncation: cap variable-goal states and report the probability mass discarded by the cap ## Why3 β Where Programs Meet Provers study - prover-neutral verification conditions β generate a shared first-order specification and encode it for multiple automated or interactive provers - static alias control β constrain mutable names so weakest-precondition obligations avoid a general memory model - type invariants and ghost code β maintain record invariants and erase verification-only computations from extracted programs - contract-and-variant verification β combine pre/postconditions, loop invariants, assertions, and decreasing variants - abstract data-structure interfaces β specify an unimplemented mutable structure through a pure snapshot and verify clients modularly ## Why3-py: A Tool for Formal Verification of Hypothesis Testing and Meta-Analysis in Python study - BHL statistical contracts: express data and interpretation assumptions as preconditions and statistical beliefs as postconditions - typed mixed-language verification: run static typing, parse embedded specifications, and translate the typed AST to WhyML - library contract abstraction: verify calls against logical contracts while trusting separately implemented numerical libraries - misuse detection for meta-analysis: use method-specific specifications to expose missing publication-bias and p-hacking requirements - scalability measurement: report solver, hardware, program size, group/study denominator, and verification times ## Who Verifies the Verifiers? A Computer-Checked Implementation of the DPLL Algorithm in Dafny study - ghost/runtime correspondence β pair optimized mutable arrays with erased ghost sets and prove a `valid` invariant - cached-index verification β prove counters and reverse indexes equal simple specification functions - contract-factored mutation β verify each state operation with narrow preconditions, postconditions, and frame facts - DPLL branch proof β prove SAT/UNSAT semantics, recursive completeness, termination, and state restoration together - bounded machine arithmetic β replace mathematical integers only after proving index and literal bounds - solver-scalable proof engineering β use small methods, factored predicates, minimal frames, and focused verification runs - benchmarked verified implementation β compare matched algorithms with explicit hardware, timeout, memory, and denominator data ## Overapproximation of Non-Linear Integer Arithmetic for Smart Contract Verification study - LIA UF overapproximation: replace integer multiplication/division/modulo by uninterpreted functions and add selected valid ground axioms - NRA fractional overapproximation: translate integer division to real division minus a bounded fractional remainder and relax inequalities by one - unsat-only acceptance: use a relaxed VC as a proof when it is unsatisfiable, while treating sat and timeout as inconclusive - domain-tuned benchmark comparison: measure new unsat cases, spurious sat cases, denominators, solver, timeout, and encoding size separately ## Who Verifies the Verifier? Co-Evolving Inspectable Graders with Self-Improving Agents study - typed drawback detectors: represent one failure class with `DRAWBACK`/`CLEAN`/`ABSTAIN` and compose inspectable expressions - anchor-gated evolution: synthesize from misses and gaps, birth-gate candidates, select against immutable anchors, and fail closed - detector lifecycle: classify active versus shadow detectors, promote by anchor agreement, and retire non-positive leave-one-out contributors - independent verifier audit: evaluate on locked references and use an outer judge without feeding its results into training - double ratchet co-evolution: alternate verifier evolution and skill synthesis while preserving rollback and held-out separation ## When Regression Verification Meets CEGAR study - state based procedure summaries β cache input/output predicate relations and apply a matching summary at each call - OBDD summary representation β store canonical decision diagrams to accelerate summary-condition checks - irrelevant predicate reduction β remove predicates over variables a procedure does not access before cache lookup - syntactic transitive unchangedness β reuse summaries only for procedures whose bodies and callees are unchanged - lazy counterexample analysis β expand a missing procedure path only when the current abstract path is neither holeless nor infeasible ## OSVAuto: automatic proofs about functional specifications in OS verification study - normalization to solver primitives β expand rich structures, maps, sequences, and quantifiers into generalized atomic terms and basic operators - condition-carrying graph instantiation β propagate index substitutions through weighted graph edges while pruning inconsistent paths - uninterpreted-function SMT encoding β map normalized names and indices to primitive SMT variables/functions before solving - automatic invariant/refinement discharge β run the pipeline on stated OS functional obligations without interactive proof steps ## When LLMs Invent Rust Crates: An Empirical Study of Hallucination Patterns and Mitigation study - registry inventory detection: build a crates.io, standard-library, compiler-crate, and alias inventory and classify extracted Rust paths absent from it - structured hallucination analysis: separate module misuse, cross-model overlap, edit-distance near misses, and cross-ecosystem names - bounded self-refinement: ask the model to review each external crate and regenerate up to three times when the name is suspect - registry RAG grounding: retrieve five relevant crates from a 10,000-crate database and append a standard-library list to the prompt - Cargo and verifier gating: combine dependency resolution and source checks with Verus contracts because CHR does not measure behavior or installation outcomes ## When Does Structured Knowledge Help Neural Theorem Proving? study - verified semantic graph β store exact formal declarations as nodes and typed, confidence-filtered semantic edges - two-layer Explorer β combine domain-filtered graph walks with exact library-name search and signature enrichment - error-guided prover loop β repeatedly submit generated proof code to the kernel and feed bounded diagnostics back - four-mode ablation β isolate graph, library, combined, and no-context proving under matched budgets - complementarity oracle β union problems solved by different augmentation modes to quantify adaptive selection headroom ## OSF OUNDRY: Building and Evolving Operating Systems with Specification-Guided Agents study - persistent Plan and Specification β preserve goals, non-goals, state contracts, module guarantees, and concurrency semantics across agent iterations - dependency-aware SpecModules β bound context and propagate changed relyβguarantee contracts through affected dependents - implementβverify OS loop β combine contract checks with build, boot, QEMU, tests, and compact runtime diagnostics - independent review and refinement β turn general and OS-specific findings into scoped contract updates before regeneration ## Whatever Remains Must Be True: Filtering Drives Reasoning in LLMs, Shaping Diversity study - verifier-filtered target β zero-weight incorrect proofs while preserving base probabilities among correct proofs - RLVR reverse-KL diagnosis β identify mode-seeking concentration by relating KL-control gradients to a softened filtered target - Ξ±-DPG interpolation β tune a clipped f-divergence between mass-covering and mode-seeking behavior - online partition estimate β estimate verifier acceptance with sampled importance weights and a lower-bounded `Z` - pass@k frontier β report single-sample precision and multi-sample coverage together - proof-trace diversity β measure Shannon and Simpson diversity over tactics and premises ## Whatβs Decidable About Sequences? study - sequence free-monoid modeling β represent arrays, lists, stacks, and queues as finite sequences with concatenation and regular constraints - universal sequence invariants β express sortedness, injectivity, periodicity, bounds, and index/value relations by universal decompositions - integer-to-word encoding β encode integer sequence elements over `{a,b,c,d}` so arithmetic becomes word equations - Dseq(Z) decision procedure β normalize formulas and rewrite equality, order, sums, and regular constraints into concatenation theory - decidability boundary checking β reject quantifier alternation, equal-length, counting, and sum extensions known to be undecidable - backward sequence verification β generate loop verification conditions by substitution and discharge them with universal sequence formulas ## OptProver: Bridging Olympiad and Optimization through Continual Training in Formal Theorem Proving study - interactive distribution diagnosis: compare corpus perplexity with verifier-backed search utility before adapting a prover - verified expert iteration: repeatedly search, retain closed trajectories, and train on stateβtactic pairs in the model's own style - three-level utility labels: distinguish proven, invalid, and valid-but-stagnant steps - utility-aware preference learning: prefer winner tactics over invalid and budget-exhausting sibling branches - perplexity-weighted DPO: clip inverse token perplexity weights before computing preference loss - combined PW-UAPO: apply perplexity weighting to utility-aware preference pairs - domain and retention benchmark: measure in-domain Pass@k with correct regime denominators and test out-of-domain forgetting ## What is Formal Verification without Specifications? A Survey on mining LTL Specifications study - incremental SAT syntax-and-semantics encoding: enumerate syntax-DAG sizes and solve Ξ¦DAG_n β§ Ξ¦con_n until a consistent minimal LTL formula is decoded - MaxSAT noisy learning: keep syntax clauses hard and example clauses soft to minimize the explicitly defined misclassification loss - positive-only specificity loop: synthesize a positive-consistent formula and iteratively exclude counterexamples until no stronger bounded formula remains - directed-pattern enumeration: mine temporal patterns with dynamic programming and combine them through Boolean subset cover - GPU RUC divide-and-conquer: remove behaviorally duplicate formulas on partitions and combine survivors with Boolean operations - neural LTL extraction: represent words as linear graphs, train message passing, and decode a formula while checking consistency separately - templates and sketches: constrain formula structure with domain placeholders before learning missing propositions or subformulas ## What Good Are Strong Specifications? study - abstract model queries β represent concrete structures with mathematical sequences, sets, bags, maps, or relations and specify behavior through those values - complete postconditions β define the post-state as a function of the pre-state and add explicit framing for unchanged model components - invariant categories β combine model constraints, attribute definitions, linking invariants, and selected internal representation constraints - temporary invariant control β use dependency and opening annotations to avoid spurious checks while restoring consistency at public boundaries - executable strong-contract testing β compile model specifications into runtime oracles and compare fault yield, overhead, and effort against partial contracts ## Optimizing the Cost-Quality Tradeoff of Agentic Theorem Provers in Lean study - lemma-stack decomposition β formalize a breakdown, then recursively prove only lemmas referenced by accepted proofs - trajectory features β derive proof similarity, error diversity, and attempt count from failed verifier runs - logistic success estimator β predict the next-attempt success probability from prior trajectory features - marginal-value routing β attempt iff predicted quality minus lambda times predicted cost is positive - action-space extension β add model switching, self-correction, or decomposition as scored actions ## What do LLMs need to Synthesize Correct Router Configurations? study - verified prompt programming β iterate LLM generation with syntax and semantic verifiers that emit localized correction prompts - modular verification prompts β synthesize and verify local components, then compose and check the global property - diagnostic humanization β classify verifier output and fill reusable prompt templates with precise affected locations - initial instruction prompts β maintain expert rules for recurring model mistakes while continuing to verify every result - leverage measurement β report automated correction prompts divided by human prompts with the complete denominator ## What Challenges Do Developers Face When Using Verification-Aware Programming Languages? study - LDA challenge mining β preprocess real verification questions, fit and compare topic models, then manually label recurring proof obstacles - human-in-the-loop taxonomy β review topic clusters and open-card-sort them into concrete challenge classes - survey validation β convert challenge classes into Likert items and test ratings with nonparametric comparisons - evidence-to-tool mapping β validate counterexamples, tutorials, search, diagnostics, automation, and integration as proposed remedies ## Opt-Verifier: Unleashing the Power of LLMs for Optimization Modeling via Dual-Side Verification study - structure distillation: classify a problem coarse to fine and record standard plus special obligations before generation - back-translation consistency: interpret a generated artifact back into structure and compare it with the requirement-derived structure - solution interpretation check: translate computed outputs into context and critique them for logical violations - dual-feedback refinement: regenerate the artifact from both structural and solution-side comments, then rerun both checks ## What are the Right Symmetries for Formal Theorem Proving? study - rewriting categories: model proof obligations as objects and checked, composable rewrite sequences as generally non-invertible arrows - invariance diagnostics: compare PASS@k across verified equivalent statements to measure representation sensitivity - rewriting ensemble: split a fixed proof-generation budget across equivalent variants and verify every candidate before transporting it - online rewrite selection: sample category-generated variants, rank them with a model-based proxy, and check the highest-ranked variants ## Vulcan: Instance-Specialized, Verifiable Systems Heuristics Through LLM-Driven Search study - Rank/Value synthesis boundary β expose stateless scalar or candidate-scoring functions while trusted code owns triggers, mutation, and integration - listener feature stores β attach reusable verified aggregates to raw signals and query them from generated decisions - Anvil-style safety restriction β reject pointers, heap state, recursion, and unbounded loops, then condition safety on verified externs ## OProver: A Unified Framework for Agentic Formal Theorem Proving study - compact feedback repair β keep target, retrieved proofs, previous attempt, and latest verifier diagnostics as the bounded state for each repair round - verified-proof retrieval β index compiler-passing proofs and retrieve semantically similar patterns before every attempt - round-level repair supervision β split trajectories into local diagnostic-to-repaired-proof examples and deduplicate them - co-evolving corpus and policy β feed verified proofs, repairs, and partially solved groups into SFT and RL in repeated iterations - budget-aware proving β allocate a fixed verifier-call budget between independent samples and repair depth based on measured per-chain success ## VSync: Push-Button Verification and Optimization for Synchronization Primitives on Weak Memory Models (Technical Report) study - wasteful-iteration filtering: discard await graphs whose consecutive iterations read the same writes - missing-read termination witness: represent a possible non-terminating await with a read lacking an incoming `rf` edge - bounded-effect proof: use bounded length and non-escaping failed-iteration effects to guarantee finite, sound exploration - weak-memory graph checking: explore `po`/`mo`/`rf` graphs under a consistency predicate to find barrier bugs - barrier optimization search: replace atomics, enumerate barrier modes, and retain modes whose AMC checks pass ## OpenProver: Agentic and Interactive Theorem Proving with Lean 4 study - planner-worker-verifier loop β delegate independent proof attempts, verify each independently, and feed feedback to a stateful planner - checker-gated repository β persist formal snippets only after Lean or Verus acceptance and return diagnostics otherwise - three-point proof checking β verify final proofs, intermediate lemmas, and worker tool calls during search - interactive budgeted orchestration β let a human inspect or interrupt agents while preserving autonomous reproducibility under a fixed token budget ## Voting Method Synthesis on an Infinite Domain: A Possibility Theorem for Positive Involvement study - infinite-domain synthesis by CHCs: encode rule constraints as linear formulas whose models denote polyhedra - Horn fixpoint propagation: iterate backward and forward consequences until denoted exclusion sets stabilize - certificate checked synthesis: let SMT and polyhedral tools search, then replay arithmetic and axioms in Lean ## VMDV: A 3D Visualization Tool for Modeling, Demonstration, and Verification study - prover-viewer protocol β decouple proof engines and visualization through control and graph-update messages over TCP - navigable 3D proof graphs β expose global topology and local labels with zoom, rotation, selection, search, and focus - force-directed layout β place dynamic proof nodes with repulsive and attractive 3D forces - synchronized model views β link proof-tree nodes to corresponding Kripke states and transitions - interactive goal trees β visualize Coq or similar proof-script subgoals as dynamically updated parent-child graphs ## OpenBSD formal driver verification with SeL4 study - contract-centered driver proofs β separate precondition validation from execution and prove Hoare-style state postconditions - typed-heap memory modeling β represent pointers, heaps, allocation, and non-overlap with explicit typed state - semantic C translation β preprocess C, translate to Simpl, and use AutoCorres to obtain a shallow proof model - hardware/mid-layer abstraction β replace bus, registers, timer, and scheduler with explicit behavioral models and assumptions - invariant-plus-measure loops β prove scheduler safety and termination with a preserved state invariant and decreasing measure ## VIVERRA: Text-to-Code with Guarantees study - partial co-specification: elicit properties and synthesize code from one task, then insert assertions linked back to those properties - bound reduction: tighten loop constants to avoid unwinding failures before bounded model checking - call-graph assertion ordering: verify callee and earlier assertions before caller assertions that depend on them - conditional compositional checking: retry failed standalone assertions under explicitly recorded preceding assumptions - dependency closure: recursively replace intermediate assumptions with root facts and expose the final condition set - solver portfolio and compile gates: run parallel bounded checkers, normalize assertion locations, and compile after every generated artifact ## Viva La Vida: Verification and Accumulation Failures in Multi-Agent Proof Search study - triage-verify-extract gates β separate completion triage, independent checking, and tightly scoped library intake - abstention-aware aggregation β encode parser, timeout, and API failures separately from substantive rejection - diverse verifier ensemble β require independent judgments when no external checker exists and preserve disagreement - polarity-preserving memory β retain provenance and refutation context when storing claims for retrieval ## On the Self-Verification Limitations of Large Language Models on Reasoning and Planning Tasks study - formal checker benchmark design β generate varied instances with machine-verifiable validity and avoid memorized or tiny answer spaces - LLM self-verification loop β alternate generation, model verification, and critique-conditioned regeneration, with a timeout - sound external verification β run a task-specific checker and accept only when its validity predicate passes - graded verifier feedback β compare no detail, first error, and all errors while holding the sound decision fixed - verifier-gated sampling β repeatedly query the unchanged prompt and return the first candidate accepted by the sound checker - verifier error accounting β report accuracy, false-positive rate, and false-negative rate with explicit numerators and denominators ## Visual Program Distillation: Distilling Tools and Programmatic Reasoning into Vision-Language Models study - top-k program synthesis β sample multiple executable candidates so filtering can find a correct one - execution-trace capture β record every tool call, input, output, and intermediate result - checker and label filtering β discard runtime failures and retain a candidate matching the trusted label - ambiguity judging β use an explicit judge for equivalent answer forms when labels are underspecified - trace-to-CoT conversion β rewrite accepted traces into few-shot-grounded natural-language reasoning - joint label and rationale distillation β train short answers and length-normalized explanations together - checker-filtered proof corpus β Inference: apply the same admission pattern with Verus-verified Rust artifacts - unlabeled fallback β use executable top-scoring programs without answer filtering, with the paper's stated trust limitation ## Visored: A Controlled-Natural-Language Prover for LLM-Generated Mathematics study - spec-driven CNL parsing β map controlled mathematical sentences and LaTeX commands to typed syntax using editable specifications and localized diagnostics - explicit well-definedness obligations β generate and solve domain hypotheses for partial functions with asymmetric logical-context flow - cost-bounded forward/backward rule search β index rules, schedule them by fees, and terminate with a source-local diagnostic on budget exhaustion - canonical IR and target emission β normalize before matching, record derivations in a target-neutral IR, and choose sparse or dense backend output ## Vision: An Extensible Methodology for Formal Software Verification in Microservice Systems study - intermediate graph extraction β reconstruct services, endpoints, ownership, and calls from source repositories - concern-specific model extension β add ordering, data, role, and operation fields only when a property needs them - SMT constraint generation β derive reusable architecture and authorization formulas from one model - ranking-function cycle check β forbid cycles by requiring a strict integer order along every edge - solver-backed repair β freeze observed facts, optimize approved edits, and re-verify the resulting source ## On the Almost-Sure Termination of Probabilistic Counter Programs study - pcp-to-pcts compilation β recursively translate probabilistic counter syntax into guarded finite-control transitions - guard periodicity analysis β compute thresholds and periods for nonlinear/modulo one-counter guards - regular-chain finitization β split finite middle and periodic tails, label recurrence, and truncate with a bounded runway - coupled-chain imbalance β use SCC stationary distributions and increase/decrease imbalance to classify tail recurrence - qualitative AST/PAST reachability β decide non-AST, AST-only, or PAST from bottom SCC and null-recurrence reachability - essentially one-dimensional reduction β pack bounded, monotone, affine-bounded, or constant-probability multidimensional counters into one counter ## Vibe Building study - margin oracle β normalize each physical/code demand and accept only when every margin is nonnegative - certificate gates β require static, held-out dynamic, and constructability checks before counting success - independent adjudicator β let a deterministic engine decide while the LLM only proposes revisions - violated-set repair β feed failed constraint identities back as a process signal for discrete repairs - constructability projection β enforce analytic geometry constraints before expensive simulation ## VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners study - compile-then-lift oracle β compile source to Wasm and lift it to a reference Rust implementation - diagnostic-guided repair β classify compiler errors and regenerate or patch until Rust compiles - staged equivalence checking β run property tests, bounded model checking, then exhaustive unwinding - counterexample few-shot repair β feed failed inputs back into later LLM prompts ## On Repair with Probabilistic Attribute Grammars study - CEGIS repair β alternate finite-example search with universal verification and counterexample accumulation - probabilistic grammar enumeration β rank typed candidate terms by production probabilities - A* partial-term search β use negative-log probability plus a completion horizon to prioritize expansions - partial-evaluation pruning β discard incomplete terms already contradicted by known inputs - attribute and corpus grammars β encode semantic restrictions and learned local coding style in productions ## Vero: Can AI Agents Build Formally Verified Software Repositories? study - two-mode repository benchmark β compare proving fixed implementations with jointly choosing implementations and proofs - human-gated curation pipeline β discover, select, plan, translate, specify, validate, and review each repository scaffold - clean re-rendered grading β extract editable regions into a fresh checkout and enforce axiom and declaration screens - formal benchmark audit β use machine-checked counterexamples to distinguish agent failures from defective specifications or references - shared lemma-library measurement β track helper reuse and proof-chain depth across specifications, not only local proof success ## VeriSoftBench: Repository-Scale Formal Verification Benchmarks for Lean study - dependency-closed benchmark packaging: preserve definitions, imports, and transitive project dependencies while hiding proof bodies - curated-versus-full context diagnostic: compare oracle dependency context with noisy repository context under compilation checking - generation-check-repair loop: sample proof candidates, compile each, and feed compiler/proof-state errors into bounded repairs - dependency-depth analysis: correlate transitive graph depth and counts with verified-proof success ## On Reducing Linearizability to State Reachability study - inductive ADT rules: specify queue, stack, register, or mutex histories by ordered insertion rules and a unique last-rule function - step-by-step linearizability: reduce global linearization to projection checks against one finite matching set per rule - co-regular violation automata: recognize renamed call/return patterns for each non-linearizability class and union them - Petri-net reachability reduction: encode unbounded finite-state threads as tokens and check emptiness against the violation automata ## VeriScale: Adversarial Test-Suite Scaling for Verifiable Code Generation study - type-aware mutation β generate typed seeds and iteratively mutate one parameter with schema-specific perturbations - bidirectional precondition classification β decide both a predicate and its negation, then resolve unknown cases with simplification and counterexamples - adversarial-output synthesis β red-team generated specifications and retain divergent outputs they falsely accept - boundary-preserving reduction β keep representative empty, zero, sign, length, and ordering boundary cases - adversary-killing set cover β greedily retain expected pairs that kill the most synthesized mutants - specification benchmark scaling β compare expanded and reduced suites with pass@1 scores and evaluation-time denominators ## VeriPy Source-Preserving Verification and Compatibility Checking for Python Components study - source-located proof annotations β keep contracts, invariants, and proof hooks beside executable code - explicit admission boundary β reject unsupported syntax and model dependencies before proof - direct multi-backend translation β emit checked Dafny/Lean artifacts with sidecar gates and provenance - guarded differential execution β compare native and translated behavior while treating tests as auxiliary evidence - relational compatibility product β prove old-domain inclusion and equality of declared observations - frozen agent maintenance trial β compare proof reuse and rebuild under identical budgets with repeated denominators ## On Counterexample Guided Quantifier Instantiation for Synthesis in CVC4 study - counterexample-guided quantifier instantiation β grow ground counterexamples inside the SMT solver and extract a conditional function from an unsatisfiable set - datatype-embedded syntax-guided synthesis β encode a grammar as algebraic datatypes plus evaluation axioms and search candidates by refutation - minimal-size datatype enumeration β constrain constructor size incrementally to obtain smallest grammar terms - normal-form reconstruction β rewrite an unrestricted solution into an equivalent term accepted by a syntax grammar using cached subterm equivalences ## VeriPhy: Agentic Physical Reasoning for World Model Evaluation and Refinement study - typed obligation compilation β compile claims into statically checked operations before observations - gated tool calls β permit only registered, time-scoped specialist actions - provenance records β carry source, span, type and usability with every measurement - three-valued verdicts β separate support, contradiction and unknown with explicit abstention - fixed composition β combine typed sub-verdicts deterministically and retain contributing evidence - verdict-to-generation feedback β use auditable critic outcomes to alter later generation ## On Automated Lemma Generation for Separation Logic with Inductive Definitions study - compositional predicate design β expose source and hole data/location ports so composition follows from syntax - completion lemma generation β specialize a partial predicate at endpoint constants to connect it to a complete structure - stronger-predicate generation β derive weakening and composition lemmas from rule-by-rule pure implication - static-parameter contraction β replace compatible static parameters with hole parameters through a generated substitution - deterministic spatial entailment β apply matching, lemma, and slicing rules in a fixed terminating order - SMT data discharge β separate heap-shape matching from arithmetic, multiset, and size constraints - proof-producing lemma compiler β generate finite lemma sets whose applications are checked by a sound entailment procedure ## VeriLocc: End-to-End Cross-Architecture Register Allocation via LLM study - SSA label reconstruction: recover hidden compiler mappings by SSA conversion, flow analysis, control-flow matching, and consolidation - semantic normalization: canonicalize instructions, register classes, metadata, and names before model generation - SMT allocation verification: encode consistency, liveness safety, and hardware constraints and accept only satisfiable assignments - bounded verifier-guided regeneration: resample structured outputs until a verifier accepts or an attempt budget is exhausted ## VerifyThis 2019: A Program Verification Competition (Extended Report) study - staged invariant strengthening β prove base bounds and functional properties, then add maximality with endpoint-specific invariants - representation-aware refinement β choose arrays, immutable sequences, lists, or refinement predicates to match solver strengths - stack nearest-smaller proof β maintain prefix, order, and nearest-smaller invariants across pop/push loops - relational concurrency proof β model all processing orders with a set or multiset and prove equivalence to a sequential fold - benchmark-based evaluation β compare tools with fixed time, challenge order, solution categories, and denominator-labeled results ## ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications study - staged specification reification β turn a vague prompt into objects, then fields/types/multiplicity/methods, with user edits between stages - few-shot prompt engineering β provide domain primers, query GPT-3 at temperature zero, and parse text answers into structured candidates - eight-subtask decomposition β separate object, field, type, multiplicity, and method generation so each call has explicit inputs and outputs - overgenerate then filter β show extra candidates, let users delete or edit them, and record initial-to-final retention - interaction-aware evaluation β compare assisted and control groups with denominators, elapsed time, component frequencies, and workflow traces - verus acceptance boundary β inference: validate intermediate-model invariants and require explicit review before translating candidates into proved Rust contracts ## Verifying Tree-Manipulating Programs via CHCs study - knitted-tree execution encoding: record input, intermediate frames, and output in one bounded tree log - lace rewinding: resolve pointer aliases by backward traversal with update flags and explicit rewind events - local CHC composition: synthesize node-label invariants from internal, upward, and downward transition clauses - parameter-increment safety loop: distinguish errors, out-of-memory, and truncation, increasing bounds until a sound result is obtained ## Verifying Relational Properties using Trace Logic study - trace-indexed variables: model every variable as a function of program timepoint and execution trace - sound statement encoding: translate assignments, branches, and loops into first-order trace axioms - generated trace induction: add proved loop and array lemmas for synchronized iterations and preservation - hyperproperty contracts: encode non-interference and sensitivity as first-order relations over two traces ## O-Forge: An LLM + Computer Algebra Framework for Asymptotic Analysis study - LLM domain decomposition: ask a model for a finite cover or series breakpoints that expose simple proof regimes - regime-wise leading terms: derive and prove separate dominant-term bounds in each regime before summing or composing them - branch-wise symbolic checking: run a quantifier-capable checker on every branch and accept the global claim only when all return true - one-shot propose then verify: limit the model to a decomposition proposal and let deterministic machine checks handle the remaining proof work ## Verifying Procedural Programs via Constrained Rewriting Induction study - statement-to-LCTRS translation β encode each procedural statement as a guarded rewrite rule carrying live variables - rich data and state modeling β represent globals, calls, finite arrays, casts, and modified memory with explicit theory symbols - error-transition safety checking β split potentially failing transitions and prove an `errorfree` result under preconditions - constrained rewriting induction β prove equivalence with simplification, expansion, induction rules, decomposition, deletion, and disproof - initialization generalization β abstract loop constants when repeated equations diverge while preserving generated constraints - recursion-abstraction generalization β replace semantically equivalent recursive-call arguments with a stronger relation - solver search strategy β prioritize rules, bound expansion, backtrack from incomplete disproofs, and introduce quantified constraints ## Verifying Lock-free Search Structure Templates study - parameterized lock-free templates β prove search, insert, and delete once while instantiating node representation and maintenance helpers - edgeset traversal invariants β use inset/outset graph predicates to preserve search-key bracketing through concurrent unlinking - hindsight linearization β record snapshot history and transition invariants to justify future-dependent linearization points ## NuRV: A nuXmv Extension for Runtime Verification study - symbolic dual-automaton monitoring β translate Ο and Β¬Ο, advance fair-state images, and classify belief-set emptiness - assumption-based prediction β intersect each automaton with model K to obtain assumption-qualified verdicts and an out-of-model result - partial-observability monitoring β propagate incomplete valuations as belief sets using symbolic forward images - resettable monitoring β union current belief sets and restart from the resulting history state - explicit monitor synthesis β explore symbolic FSMs at L1/L2/L3 and translate states to target-language code - generated-code checking β emit SMV modules and use nuXmv model checking on the emitted monitor ## Verifying Isolation Levels of Database Implementations for Free Using Separation Logic study - realistic transactional model β define identified operations, ordered transactions, executions, and commit tests after removing unrealistic simplifying assumptions - parametric operation specifications β hide resource representations behind existential contracts so clients remain unchanged when proofs add structure - ghost trace instrumentation β emit erasable pre and post events at every API operation and maintain a validity invariant - linearization extraction β insert unique logical points between matching pre and post events using atomic specifications - transaction chopping β group linearization points by connection into well-formed transactions and abstract executions - ghost resource wrapping β combine original resources with permissions and reflection predicates to preserve cross-level coherence ## Novel tree-search method for synthesizing SMT strategies study - grammar MCTS β search solver-strategy derivations with UCT selection, random rollout, max-backup, and an empirical terminal reward - layered parameter bandits β optimize each tactic occurrence's parameter values in separate MABs outside the main tree - staged cached synthesis β discover linear strategies first, then compose them through branches using cached per-instance results - domain-restricted strategy search β shrink the grammar with tactic-order, depth, repetition, and discretization rules while recording excluded space ## Verifying Graph Algorithms in Separation Logic: A Case for an Algebraic Approach (Extended Version) study - partial-graph pcm: represent graph pieces with dangling edges and combine them by disjoint map join - pcm morphism localization: prove node-local abstractions distribute over graph joins and rewrite them inside contexts - contextual global proofs: preserve closure or similar global properties by decomposing at the mutated node - higher-order graph map: apply a node-indexed transformation through a join-preserving combinator - schorr-waite invariants: verify pointer reversal with stack, mark, restoration, and frontier reachability invariants - union-find reuse: apply the same algebraic graph vocabulary to parent forests and path operations ## Verifying Functional Correctness Properties At the Level of Java Bytecode study - bytecode-level contract verification: compile annotated source, recover contracts from an intermediate representation, encode them in Boogie, and discharge them with an SMT backend - aggregable predicates: restrict specification expressions to pure straight-line forms and use explicit logical operators that survive compilation without branching - IR heap and type reconstruction: infer expected expression types and encode fields, arrays, calls, control flow, and frames in a Boogie heap model - conservative frame inference: mark a method empty-frame only when static analysis finds no heap writes, otherwise use a whole-heap frame ## Verifying First-Order Temporal Properties of Infinite-State Systems via Timers and Rankings study - prophecy timer reduction β augment a transition system with subformula timers and reduce FO-LTL satisfaction to termination of the negated-property product - implicit ranking β specify decrease relationally without defining the ranking function, with an explicit soundness condition - ranking constructors β compose position, conditional, pointwise, and reverse-lexicographic rankings - inductive invariant validation β discharge initial, preservation, and decrease verification conditions with SMT - inductively finite approximation β prove finiteness in infinite domains using a bounded-growth over-approximation - timer-aware termination β use decreasing prophecy timers as components of a well-founded ranking ## Nonlinear Craig Interpolant Generation study - projection separator β project contradictory polynomial regions onto shared variables and synthesize a sign-separating polynomial - SOS interpolation SDP β encode positivity certificates with SOS multipliers and solve their Gram-matrix constraints by SDP - numerical certificate checking β bound solver residual and floating-point error before accepting an approximate interpolant - nonlinear invariant squeezing β alternate strongest and weakest predicate transformers with interpolants until an inductive invariant is found ## Verifying Device Drivers with Pancake study - verification-oriented driver design: use a small, single-threaded systems language and explicit Hoare annotations - annotated-to-IL verification: transpile source contracts to Viper and control arithmetic and bit-vector encodings for solver performance - device contract modeling: map register ranges to Viper methods with address, value, nondeterminism, and invariant clauses - OS protocol modeling: verify queue and semaphore behavior against nondeterministic neighboring-component contracts - data-integrity invariants: assert address and length preservation across queue and hardware descriptor paths - region isolation: use permissions to restrict RX and TX state to their responsible code paths - verified compilation: carry source observable behavior to binary through the CakeML-derived verified compiler ## Verifying Consistency and Validity of Formal Specifications by Testing study - proof-obligation testing β derive consistency formulas from specifications and evaluate them on input/output bindings - five logical-expression strategies β target whole expressions, disjuncts, and conjuncts with progressively stronger truth assignments - invariant unit testing β compare evaluated invariant truth with requirement-derived expected results - condition-process testing β require a witness output for each tested pre-state and separately test validity expectations - integration obligations β test that sequential and conditional data-flow outputs satisfy successor preconditions - decomposition refinement β test parent/child precondition and postcondition implications with shared inputs ## No Accidental Software: Agent-First Canonical Code for Human-Code Entropy Reduction and 30Γβ500Γ Lower Frontier-Model Requirements study - governed canonical foundry: classify artifacts, preserve provenance, and port only into declared profiles with evidence - behavior quotient: group implementations under a declared behavior oracle and retain non-preserved behavior in a ledger - typed change algebra: compile named operations into schema, migration, security, test, proof, and rollback obligations - proof-carrying change: attach intent, obligations, receipts, rollback, and provenance to every accepted change - graded preservation dossier: promote artifacts from syntactic through trace, fuzz, differential, and proof-backed evidence tiers - paired cost ledger: compare raw and canonical repositories by amortized cost per verified correct change ## Verifying Concurrent Multicopy Search Structures study - timestamped multicopy abstraction: represent each copy with a ghost timestamp and define the client map from the latest history entry - search recency: specify searches by a start-time lower bound on returned timestamps, then prove refinement to the map ADT once - prophecy and helping: predict a search result, register unresolved operations, and let a matching upsert discharge their obligations - contents-in-reach invariants: maintain logical equality, monotonic reachable timestamps, and history membership during traversal - flow-interface reasoning: encode recursive DAG quantities as local flows so bounded updates preserve global invariants - compaction shape invariants: combine successor timestamp ordering with unique key paths to preserve the abstract map during merges ## Verifying Catamorphism-Based Contracts using Constrained Horn Clauses study - catamorphism contracts β specify ADT behavior through total structural summaries and basic-sort postconditions - CHC contract reduction β turn validity into satisfiability of a false-headed goal with program and catamorphism atoms - Tcata transformation β Define, Unfold, Apply-Contracts, partition, and Fold to eliminate ADT variables - contracts as lemmas β add a helper's catamorphism facts and postcondition during caller transformation - widening-based termination β generalize constraints while finitely adding catamorphism atoms to guarantee termination - basic-sort solver discharge β run SPACER or Eldarica on the transformed LIA/Bool clauses - one-way soundness accounting β treat transformed satisfiability as sufficient for validity, while unsatisfiability is inconclusive ## NL2TL: Transforming Natural Languages to Temporal Logics using Large Language Models study - lifted NL-to-logic representation β hide domain APs to train reusable logical-structure translators - GPT-assisted formula synthesis β generate and human-correct diverse formula/sentence pairs with a back-translation filter - in-order T5 parsing β fine-tune a pretrained text-to-text model on operator words and lifted formulas - AP recognition decomposition β detect predicates separately, parse the lifted formula, then restore predicate names ## Verify, Repair, Repeat, or Stop? Robust Stopping for Noisy Verify-Repair Loops in LLM Agents study - belief filtering: turn repeated verifier votes into a posterior committed-validity estimate with a binomial Bayes update - marginal-gain stopping: repair only when expected fixes exceed expected damage, using G=(1βb)Ξ±βbΞ² - sign-identifiability test: require an error interval to lie wholly on one side of the stopping threshold - guarded keep-best: when discrimination is unidentifiable, replace the incumbent only after a vote margin Ξ΄ ## Verify Implementation Equivalence of Large Models study - joint e-graph equivalence β place two divergent computation DAGs in shared e-classes and merge outputs after validated relations - value-guided transformation inference β discover transpose, reshape, concat, and split relations from execution values and constraints - shared-frontier rule synthesis β enumerate common abstraction frontiers to produce the most general rewrite rule - tiered rule validation β use SMT for symbolic operators and constrained random tests for opaque kernels, with evidence labels - congruence rebuilding β propagate each accepted local merge through parent nodes until a fixpoint - earliest-frontier localization β trace an unmatched output backward to the first unexplained cross-graph divergence ## NL2LOGIC: AST-Guided Translation of Natural Language into First-Order Logic with Large Language Models study - recursive FOLAST parsing β classify each sentence's outer construct and recursively parse operands or quantified scopes - two-pass deterministic compilation β collect declarations first, then emit solver expressions with checked scope and arity - structured parser output β constrain LLM responses to JSON schemas and count malformed or incomplete nodes - solver-backed semantic evaluation β execute generated rules for entailment, contradiction, or uncertainty after syntax checks ## Verifix: Verified Repair of Programming Assignments study - CFA alignment β align function/loop structure and edge actions so repairs tolerate return and branch differences - usage-distance variable mapping β infer a bijection by averaging per-edge variable-use distances - SSA edge verification β prove each aligned edge by checking unsatisfiability of precondition, actions, and negated postcondition - CEGIS pMaxSMT repair β accumulate counterexamples, fill syntax holes, and weight original expressions to obtain minimal patches - relative soundness accounting β state soundness and completeness only under explicit alignment, solver, and theory assumptions ## NKI-Agent: Domain-Specific Fine-Tuning and Agentic Tool Use for Neuron Kernel Generation study - domain corpus synthesis β expand real operator seeds across shapes, dtypes, and fusions, then compile/execute/stability/baseline filter - rank-aware prompting β select 2-D/3-D/4-D templates from input-shape metadata and require complete stores - compileβverifyβfix loop β iterate real-hardware compilation and reference comparison for up to ten turns - curated LoRA SFT β train on quality-controlled domain episodes with frozen low-rank adaptation settings - binary-reward GRPO audit β compare RL against SFT and treat sparse binary compilation reward as a tested failure mode ## Verifier-guided discovery of exact high-order mimetic operators with large language models study - typed verifier-guided program search β let a model choose a constrained construction architecture while deterministic compilation and an external verifier decide validity - coupled rational exactification β reconstruct selected numerical solutions in a coupled affine system and recheck every exact equation and positivity condition - certificate-driven energy and solver checks β derive weighted energy and CG conditions from an exact matrix identity, then measure downstream dynamics separately ## Verified VCG and Verified Compiler for Dafny study - reference big-step semantics: define executable source meaning, including failure and timeout, before proving tools - verified weakest-precondition VCG: generate loop, framing, definedness, and postcondition obligations and prove them sound - forward-simulation compiler proof: relate source and CakeML states and prove preservation through every compilation construct ## NIL: Learning Nonlinear Interpolants study - svm polynomial interpolation: map common-variable samples to bounded-degree monomials and learn a maximum-margin polynomial separator - counterexample-guided refinement: verify each candidate with QE, add violating models, and retrain until both entailments hold - tolerance interpolation: use a feature-space margin Ξ΄ to force termination on bounded zero-margin problems - varying tolerance and bounds: halve Ξ΄ and expand the box to obtain a convergent sequence for unbounded domains - rational recovery: convert floating-point SVM coefficients to exact rationals before logical checking - class balancing: weight the sparse side of an unbalanced model sample set before SVM training ## Verified Software Units study - VSU component calculus: verify internal functions against hidden contexts and compose modules through import/export specifications - abstract predicate declarations: expose resource predicates and selected reasoning axioms while hiding concrete representations - abstract specification interfaces: parameterize API contracts by APDs and instantiate them only in implementation proofs - residual callback predicates: split stable invariants into callback pre/post resources that preserve representation hiding - aggregate pattern interfaces: recover sequentially atomic specifications for a callback-rich design pattern - two-level object verification: connect hidden C method tables to semantic object behavior, subtyping, self, and late binding - proof reuse under representation change: change concrete fields while retaining model definitions, APDs, ASIs, and client proofs ## Verified Software Toolchain (Invited Talk) study - observable extensional contracts β specify source and machine behavior through common input-output observations that survive optimization - oracle semantics β factor runtime and concurrency context into an abstract oracle shared by source and target executions - concurrent separation logic β combine Hoare triples with permissions, recursive assertions, and lock resource invariants - verified witness checker β recheck invariants emitted by an untrusted analyzer with a small Coq-proved core - staged semantic erasure β relate decorated, angelic, and erased semantics while preserving observations - bisimulation compiler proof β prove each compiler phase preserves the shared observable semantics - foundational trusted-base theorem β state the final analyzer/compiler/machine implication directly over the desired specification ## Nidus: Externalized Reasoning for AI-Assisted Engineering study - representational closure β store requirements, traces, proof obligations, evidence, and agent context in one solver-aligned artifact - verify-before-persist gate β evaluate every mutation against immutable and inherited obligations before CAS/WAL commit - recursive guidebook constraints β inherit organizational predicates and govern changes to the constraint surface itself - evidence provenance gate β require registered witnesses, server hashes, and fused test execution before accepting evidence - gate-sequence and lesson obligations β encode SOP prerequisites and past failure causes as machine-checked DAG and negative constraints ## Verified Security for the Morello Capability-enhanced Prototype Arm Architecture study - capability monotonicity β prove every instruction preserves subset reachability of capabilities under explicit trace and invariant assumptions - abstraction factoring β isolate generic CHERI properties and instantiate them across a generated full-ISA model - model-based ISA testing β generate instruction sequences from the formal model and compare emulator, QEMU, hardware, and reference outcomes ## NeuroNL2LTL: A Neurosymbolic Framework for Natural Language Translation of Linear Temporal Logic study - structure-preserving intermediate representation β translate through a grammar whose deterministic inverse preserves logical structure - grammar-constrained decoding β restrict generated tokens to the valid intermediate-language grammar - satisfiability and non-triviality filtering β use a symbolic backend to reject contradictory, vacuous, or malformed specifications - bounded two-layer repair β try ranked local edits, then learned AST edits, rechecking after each repair - verifier-in-the-loop reward β optimize neural generation with parser, verifier, and repair-cost feedback ## Verified Learning for Compiler Optimization: An LLM-Guided Architecture with Formal Control study - verified-supervision pairs β train on trusted optimizer input/output pairs while retaining failures so the model learns when to skip - Wyvern profitability oracle β derive lazification examples from conditional-use analysis, thunks, and memoization - verifier-gated generation β accept an LLM transformation only after an independent equivalence or contract checker succeeds - diagnostic regeneration β feed checker diagnostics into repeated candidate generation until a bounded, verified result is obtained - conservative transformation policy β use verification outcomes and held-out measurements to detect under-transformation and performance regressions ## Verified iptables Firewall Analysis and Verification study - inductive packet-filter semantics β define rule execution as a small-step-free relation over chains, packets, and filtering states - verified chain unfolding β flatten custom calls by a semantics-preserving fixed-point rewrite - ternary unknown abstraction β bracket exact behavior with lower and upper closure semantics - normalized translation β compile rich rules into a small model before proving analyses - verified partition and service matrix β derive IP equivalence classes and minimal connectivity summaries from the simple model ## Neuro Symbolic Reasoning for Planning: Counterexample Guided Inductive Synthesis using Large Language Models and Satisfiability Solving study - natural-language-to-formal query β have the LLM emit a structured artifact and the SMT encoding of its domain, actions, and specification - counterexample-guided synthesis β append verifier-produced infeasible prefixes or models to the next prompt and regenerate - concept-class exclusion β represent candidates as concepts and use oracle counterexamples to eliminate whole classes of invalid completions - final solver certification β accept an artifact only when the formal verifier finds it consistent with the supplied specification ## Verified Foundations for Differential Privacy study - abstract privacy interface β parameterize mechanism proofs over monotonicity, composition, postprocessing, constants, and an approximate-DP reduction - sensitivity/noise contracts β separate query sensitivity from noise implementation and prove parameter arithmetic explicitly - compositional histogram proof β prove per-bin sensitivity and privacy, then lift by induction and postprocessing - unnormalized probabilistic language β represent executable loops as mass functions and delay normalization - cut reachability and stability β prove loop distributions by a finite reaching cut plus invariance of later cuts - exact discrete samplers β verify Laplace and Gaussian algorithms over integers with closed-form distributions - minimal extraction boundary β deploy verified code through a small FFI while stating runtime trust explicitly ## Neural Theorem Proving for Verification Conditions: A Real-World Benchmark study - industrial VC extraction β run existing Why3/Frama-C VCGs and export real project obligations - expert AST translation β map VCs across proof languages with checked human-written rules - annotation erasure β remove assert and lemma hints to create harder but intendedly provable VCs - stratified benchmark design β balance industrial and algorithmic cases while targeting ATP difficulty - kernel-backed scoring β count only proofs accepted by the target prover without holes - failure taxonomy β separate syntax, semantic confusion, and hallucinated constants or tactics ## Verified Detection and Prevention of Concurrency Anomalies in Multi-Agent Large Language Model Systems study - anomaly-history predicates β model stale reads, revoked tools, aborted causal predecessors, and effect-order permutations as explicit trace predicates - realizable consistency chain β select and prove a sequence of concrete guarantees from L0 through L4 - detector equivalence β prove executable Rust detectors sound and complete against TLA+ predicates with prefix loop invariants - concrete-to-abstract refinement β map deployed state and transitions through an abstraction function to a verified safety machine - mechanism-matched prevention β use locking, SSI, causal tracking, commit ordering, and registry snapshots for distinct anomalies ## Neural Theorem Proving: Generating and Structuring Proofs for Formal Verification study - two-stage prover training β teach syntax with SFT, then optimize relative proof-checking rewards with GRPO - staged autoformalization β pass from natural language through description and informal proof to datatypes, records, functions, and a formal theorem - checker-guided proof construction β generate a step, validate it, repair with recursive and heuristic methods, and backtrack on failure - verifier-backed policy proving β extract policy fields into formal types and measure complete checked proofs over curated and generated denominators ## Verified Approximation Algorithms study - invariant-based Hoare verification β express imperative algorithms with preconditions, postconditions, and loop invariants, then discharge initialization, preservation, and exit obligations - invariant strengthening β add missing state relations such as `F β E` when a claimed invariant is not preserved - existential ghost witnesses β quantify proof-only partitions or matchings to connect executable state to approximation bounds - lower-bound decomposition β prove average, maximum-item, and structural lower bounds separately before deriving the approximation ratio - verus translation (inference) β map contracts and ghost invariants to Verus `requires`, `ensures`, loop `invariant`, and erased `proof fn` lemmas ## Verification Reward Model for Reinforcement Learning in Chip Design Verification study - versioned verification contract β freeze requirements, legal inputs, observability, assumptions, trusted oracles, budgets, and provenance before generation - append-only evidence ledger β record stage, units, denominators, status, uncertainty, and raw artifacts with explicit timeout and infrastructure states - qualified mutation reward β count only reproducible fault failures that pass relevance and paired clean-control checks - marginal fault discovery β reward a new test only for validated faults not already covered by the suite - potential-based shaping β provide intermediate feedback with a frozen potential and consistent terminal value - masked partial-evidence model β predict later measurements from only evidence available at the current stage - evidence-linked critic β tie each diagnosis to a requirement, code span, evidence record, and discriminating test - uncertainty-aware scheduler β select costly evaluations by estimated information value per cost while reserving random audits ## Verification-Preserving Inlining in Automatic Separation Logic Verifiers (extended version) study - resource-sensitive failure analysis β compare modular and inlined verifier states to find permission-dependent instantiation and rule-selection changes - framing and bounded monotonicity β require whole inlined bodies to preserve frames and call-free segments to preserve safety and output under larger states - semantic-condition theorem β prove that those properties imply verification-preserving inlining and use the dual bounded completeness result - syntactic screening β reject resource-inspecting and imprecise-assertion features that can trigger non-preserving automation - structural self-composition β instrument two executions over ordered states, guard the first, and check safety plus final-state monotonicity ## Neural Network Verification with Proof Production study - LP-plus-piecewise encoding β express a DNN safety query as affine equations, bounds, and piecewise-linear activation constraints - Farkas leaf certificates β attach a coefficient vector whose bounded linear combination is strictly negative to each Simplex UNSAT leaf - compact dynamic-bound proofs β maintain one explanatory vector per variable bound and derive the final contradiction from their difference - ReLU proof trees β mirror each activation phase split in a certificate tree and require every leaf to be UNSAT - nonlinear tightening lemmas β record permitted ReLU deduction rules with premise certificates when Farkas vectors do not suffice - independent checking and fallback β traverse certificates with stable arithmetic and re-solve failed leaves using a sound SMT solver ## Verification of the Incremental Merkle Tree Algorithm with Dafny study - path root computation β fold a sibling path upward with a generic hash and prove equality to the tree root - sibling-vector insertion β update only the first affected left sibling while moving to the successor path - functional-to-imperative refinement β use a proved recursive function as a ghost loop invariant for indexed code - termination and memory-safety ranking β use path length, height, or size to discharge recursion and array bounds - proof-driven optimization β simplify loops only after proving condition and termination properties ## Nazrin: An Atomic Neural Proof Automation Tactic in Lean 4 study - atomic proof actions β use a finite, deterministic, progressing and complete tactic vocabulary - transposing atomization β convert existing proofs into replayable goal/action traces and reorder non-conflicting steps - essentialized goal graphs β erase search-irrelevant detail while preserving loci, references, and subgraph structure - neural probabilistic automaton β generate parameterized finite tactics through graph-conditioned categorical states - rainbow guidance β prioritize successor goals and allow explicit abandon/defer decisions ## Verification of Quantitative Hyperproperties Using Trace Enumeration Relations study - injective trace enumeration β map satisfying witness assignments to distinct related traces to obtain a lower bound - surjective trace enumeration β map every qualifying trace pair back to a distinct witness assignment to obtain an upper bound - SMT model-count rules β derive symbolic counts with range, injectivity, constant bounds, and inductive lifting/lowering rules - Path ORAM derangement proof β use a derangement and inverse permutation to preserve server observations while changing client requests ## Verification of Programs via Intermediate Interpretation study - intermediate interpretation β specialize an interpreter with a program model to obtain an indirect residual model - first Futamura projection β keep runtime data symbolic while compiling known program structure - Turchin supercompilation β unfold, generalize, and fold functional programs under well-founded control - residual safety checking β prove safety by showing the residual predicate cannot return `False` - interpreter meta-reasoning β prove regular big-step configuration properties to justify specialization ## Verification of MPI programs study - MPI-to-process-graph modeling β translate each rank into a sequential transition graph and compose an unbounded family into a distributed process - ghost-set invariant proof β track queued tasks, active products, and completed output rows without changing execution - deadlock contradiction β case-analyze control locations and use invariants to show an enabled transition exists - termination by bounded measures β rule out infinite manager progress and infinite worker queue consumption ## Natural Synthesis: Outperforming Reactive Synthesis Tools with Large Reasoning Models study - CEX-LRM loop: generate Verilog, model-check it, and repair from sound counterexample traces - specification decomposition: split temporal requirements to produce manageable, localized checker feedback - parameterized bounded synthesis: test one parameterized implementation across finite instantiations and mark positive results non-proof - inspectable autoformalization: expose NL-to-TLSF output for review before synthesis - dual specification checking: verify generated code against both autoformalized and independently authored ground truth - syntax-feedback repair: iterate formal-spec generation with grammar diagnostics while monitoring semantic shifts ## Verification of Configurable SRA Systems study - compositional SRA contracts: verify init, phase execution, and tick locally, then preserve a global invariant - stable guard abstraction: replace a changing global guard with an established and stable per-instance predicate - symbolic contract generation: compute transition effects as pre-state expressions and guarded disjunctions - quantifier grounding: rewrite bounded set quantifiers into finite formulas and prove specification equivalence - scheduler-phase induction: prove initialization, self-loop interleavings, phase edges, final property, and reset separately ## Verification of Component-based Systems with Recursive Architectures study - recursive configuration logic β define unbounded component architectures with inductive resource rules and disjoint composition - rewriting trees and canonical models β expand rules into finite architecture trees and canonical indexed configurations - path automata β track recursive variable substitutions to derive component interaction flow - structural trap invariants β preserve at least one marked place in every initial trap - structural mutex invariants β preserve singleton markings for mutual exclusion - WSΞΊS verification conditions β conjoin tree legality, initial states, invariants, and error predicates and prove safety via unsatisfiability ## Natural Language to First-Order Logic LLM-based Autoformalization study - ontology extraction plus logical translation: separate symbol meanings and theory from formula generation - semantic evaluation: provide labelled signatures and use logical equivalence or entailment checks instead of string similarity alone - fine-tuning objectives: specialize models with SFT, LoRA, RL rewards, or preference optimization on validated pairs - structured prompting: decompose OE/LT, recover axioms, translate subparts, retrieve examples, and constrain grammar - verification refinement loop: feed syntax errors, solver cores, counterexamples, or roundtrip mismatches back into generation ## Verification of Compiler-to-Accelerator Mappings for Machine Learning Accelerators study - Hex hardware explication: expose ILA state updates, loops, counters, buffers, and custom numerics in an IVL - sync-skeleton extraction: abstract tensor-computing hardware loops into a functional template - hardware-guided rewriting: align IR loops with parameter, structural, arithmetic, numeric, and cast rewrites - layout-sketch: specify quantified tensor-buffer correspondences and input dependencies - guarded layout invariants: derive map, reduce, and overwrite guards from loop progress - product-program equivalence: combine aligned programs and prove relational invariants at loop cut points - VC generation with Z3: discharge loop-free verification conditions over arrays, bitvectors, and uninterpreted functions - concrete-parameter verification: replace symbolic dimensions and flatten bounded quantifiers when SMT cannot solve nonlinear formulas ## Natural Language Specifications in Proof Assistants study - indexed categorial grammar β type-index grammatical categories so phrases refer to correctly typed program objects - typeclass semantic parsing β encode grammar rules and lexical denotations as proof-assistant instances - quantified coordination lifting β define polymorphic quantifiers and lift conjunction/disjunction through predicate functions - executable specification goals β turn a parsed sentence into a proof-assistant proposition and goal - parse certificates β retain tokenization, rule applications, lexical meanings, and type checks for independent audit ## Verification of C++ Programs with VeriFast study - separation-resource object model β represent fields, allocations, and member permissions as produced/consumed heap chunks - lifecycle-order verification β verify construction and destruction in declaration, derivation, and reverse orders with construction-state resources - dynamic-type capabilities β gate virtual calls with run-time-type predicates that change during construction and destruction - instance-predicate subtyping β parameterize an invariant by dynamic type so overrides retain one modular contract while refining representation ## Verification of a Rust Implementation of Knuth's Dancing Links using ACL2 study - RAR restriction and translation β constrain Rust to a RAC-equivalent subset, transpile with Plexi, and translate RAC into ACL2 for proof and hardware/software outputs - index-backed cyclic representation β represent circular links with fixed-array indices and explicit bounds to avoid cyclic ownership issues - invariant-first data-structure proofs β define a complete well-formedness predicate, require operation-specific hypotheses, and prove functional theorems such as restore-after-remove ## Natural Hoare Logic: Towards formal verification of programs from logical forms of natural language specifications study - LFPL invariant bridge β relate a parsed logical form to program variables, eliminate the relation, and prove the resulting strongest invariant with Hoare rules - before/after imperative relation β model state-changing commands with `post` and prove `{L β§ R} S {L β§ Rβ²}` - conditional imperative rule β include the parsed condition in the precondition before applying the command proof - domain-knowledge reuse β transfer an existing proof through logical ontology implications - parser paraphrase guard β translate candidate logical forms back to natural language and require user confirmation or rephrasing ## Verification Limits Code LLM Training study - complexity-targeted tests β generate minimal, structured, and contrastive tests to increase behavioral coverage - difficulty-stratified filtering β vary test quantity and retain hard examples instead of selecting only easy survivors - verifier diversity β combine independent test generators and measure language-specific effects - relaxed thresholds β use partial pass rates for training while keeping complete proof gates for release - LLM judging β add a plausibility judge as a complementary signal, not as formal correctness ## Verification-Guided Specification Synthesis with Large Language Models for Intrusion Detection Rules study - semantic intermediate specification: have an LLM identify a vulnerable parameter and emit a predicate before target-language code - CEGIS with diagnosed counterexamples: test candidates, return failed checks and diagnoses, and iterate with a hard limit - deterministic verified compilation: compile a passed specification into syntax-sensitive rules and reject overly broad matches ## Verification Condition Generation and Variable Conditions in Smallfoot study - effect/resource fixpoint: compute unprotected variables, modifications, and required resources with `var`, `mod`, `req`, and `er` - alias checks: require distinct reference actuals and forbid unsafe global-reference effects through the call graph - concurrency side conditions: enforce five variable/interference conditions and compute parallel procedures with `par` - symbolic VC generation: chop procedures into loop-free symbolic instructions and generic `jsr` summaries - critical-region framing: add resource invariants on entry and forget protected/parallel-modified state on exit - resource initialization: check initializer disjointness and generate one entailment VC establishing all invariants ## mypyvy: A Research Platform for Verification of Transition Systems in First-Order Logic study - first-order transition modeling: choose uninterpreted sorts, axioms, initial states, atomic pre/post transitions, and safety formulas - split inductiveness queries: check each transition/invariant pair separately and inspect finite solver counterexamples - theorem and trace queries: use zero/one/two-state theorems, BMC, and constrained traces to prove consequences and expose vacuity - relaxed bounded model checking: guard quantifiers with active universes and use relaxation traces to test universal-invariant limits - PDRβ invariant inference: block forbidden sub-states and synthesize universally quantified inductive clauses - primal-dual Houdini: add universal clauses incrementally and return a witness when incremental construction fails - extensible solver platform: typed ASTs, recomputed contexts, solver interfaces, minimized models, unsat cores, parallel queries, and shared benchmarks ## Verification Artifacts in Cooperative Verification: Survey and Unifying Component Framework study - conditional verification β serialize covered-state conditions, reduce to a residual program, and verify the remainder - witness exchange β pass violation paths or correctness invariants to an independent validator and compare results - precision and certificate reuse β save CEGAR precisions or abstract-state certificates for regression and faster validation - artifact actors β compose analyzers, transformers, validators, reducers, test extractors, and presenters through typed interfaces - formal artifact semantics β define automata matching, acceptance, coverage, and set-based validity before combining tools - execution validation β extract tests from violation witnesses and run them to confirm an observable failure ## Verification and Validation of Convex Optimization Algorithms for Model Predictive Control study - acsl optimization axiomatization β define vectors, matrices, SOCP constraints, feasibility, and optimality as reusable logical libraries compiled into code annotations - ellipsoid loop proof β maintain containment, feasibility, and volume-shrink invariants to derive epsilon-optimality after bounded iterations - floating-point widening β enlarge rounded ellipsoid updates and prove an error envelope that preserves numerical guarantees ## Multiple Query Satisfiability of Constrained Horn Clauses study - catamorphism-based CHC queries β express recursive list/tree properties as satisfiability queries over total functional summaries - sound unfold/fold rules β introduce, unfold, strengthen, and fold predicates while preserving satisfiability - query-based strengthening β inject constraints and summaries from related queries into each program predicate - Tmq fixpoint transformation β compute stable definitions with Skip, Extend, Project, widening, then transform all clauses - mutual-query solving β let a CHC solver reuse summaries across mutually recursive functions and multiple contracts ## Verification and Self-Improvement in Agentic AI: Foundations and Limits study - bounded stage declaration: fix exposure, support, alternation, hidden coins, bounds, and task soundness before comparing verifiers - majority amplification: repeat an unchanged tuple independently and use strict majority to preserve acceptance languages - authority and frontier audit: prove transcript-level semantic containment and exhibit witnesses for genuine frontier escape - uniform self-modification closure: quantify bounded candidate/history inside a fixed verification envelope with common contracts - adaptive selection budget: sum conditional false-selection probabilities across every candidate-selection call - finite reproducible audit: separate exact task correctness, discovery probability, language counts, and interface changes ## Verification and Refinement of Natural Language Explanations through LLM-Symbolic Theorem Proving study - event-semantics autoformalisation: preserve sentence roles with explicit event variables before theorem proving - syntax-error refinement: feed Isabelle diagnostics back to an LLM for bounded correction of generated theories - proof-strategy checking: generate `show X using Y by Z` steps and require theorem-prover success - failed-step refinement: remove irrelevant facts and regenerate explanations from the exact failed obligation ## Multiple Analyses, Requirements Once: simplifying testing & verification in automotive model-based development study - constrained pattern requirements β restrict scopes, invariants, responses, events, and durations to a grammar with metric-temporal semantics - specification-once compilation β export one checked requirement to SLDV, BTC, C, and readable text while preserving timing conventions - block-level temporal encoding β implement scope, duration, delay, and implication as composable verification blocks - requirement-derived test objectives β annotate the same formal requirement model to generate condition and decision test vectors ## Verifiable Side-Channel Security of Cryptographic Implementations: Constant-Time MEE-CBC study - three-proof implementation security β compose black-box cryptographic security, functional refinement, and leakage non-interference - constant-time MEE-CBC countermeasures β equalize padding, MAC, compression, and comparison behavior under secret inputs - leakage-aware security reduction β carry a chosen trace model through IND-CPA and INT-PTXT implementation theorems
- ACSL/Frama-C/CompCert refinement β connect a high-level specification to C and then semantics-preserving x86
- certifying information-flow typing β check that compiled assembly traces do not depend on secrets
Verifiable Process Rewards for Agentic Reasoning
- turn-level verifier reward β define
V(s,a)and use its zero/one result as an objective reward on every action - search-based process verification β use MCTS values to mark all maximizer actions valid in dynamic deduction
- constraint-based process verification β reward actions consistent with a unique global solution in a symbolic puzzle
- posterior-based process verification β reward minimum-risk reveals and probability-one flags from enumerated beliefs
- GRPO turn normalization β normalize verifier rewards over active trajectories and insert each turn advantage into clipped policy optimization
- verifier-error bias bound β bound policy-gradient bias by score norm times verifier disagreement fraction
- horizon credit analysis β compare linear accumulation of dense process signal with exponential dilution of terminal success signal
- oracle-quality ablation β vary verifier strength and measure both in-domain and transfer degradation before trusting dense rewards
MultiPL-E: A Scalable and Extensible Approach to Benchmarking Neural Code Generation
- thin benchmark compiler β translate signature, tests, comments, and types while leaving the function body to generation
- semantic value and type translation β recursively map values, equality, options, and inferred annotations with explicit unsupported cases
- hidden-test sandbox β compile, timeout, execute, validate, and classify generated outputs using hidden tests
- pass@k evaluation β sample 200 completions at declared temperatures and report the estimatorβs denominator
- prompt ablation β compare test-only, doctest, terminology, and original prompts under fixed model settings
Verifiable Checks for Business Rule Consistency
- redundant autoformalization β generate multiple SMT translations and select by a confidence threshold
- deterministic DSL encoding β map assignments, expressions, and conditionals to finite quantifier-free SMT-LIB
- mapped equivalence checking β compare outputs under variable correspondences and legal-domain constraints
- counterexample diagnostics β expose concrete input assignments when the equivalence implication is invalid
- majority-vote evaluation β report precision, recall, errors, and denominators separately for translation and consistency stages
Verifiable Auto-Formalization of Mathematics Using a Relaxed Natural Formal Language
- relaxed-to-core proof language β keep LLM output close to informal math, then elaborate it into a precise proof calculus
- constrained notation resolution β propagate type-like annotations and choose overloaded meanings from a finite checked candidate set
- bidirectional problem-solving specification β require candidate answers to satisfy explicit necessary-and-sufficient conditions when exactness is claimed
- semantic scope elaboration β annotate implicit variable scopes, check free-variable coverage, and insert explicit quantifiers
- proof-gap generation and discharge β turn Core proof trees into verification conditions and close them with layered tactics, libraries, and solvers
Multi-Threaded Software Model Checking via Parallel Trace Abstraction Refinement
- CEGAR trace abstraction: enumerate error traces, decide path feasibility with SMT, and remove infeasible languages using interpolant automata
- coordinator-worker refinement: run expensive feasibility/interpolant work in parallel and serialize abstraction subtraction
- stale-abstraction scheduling: permit older abstraction copies because they add redundant work but do not invalidate infeasibility results
- diverse trace search: recursively prioritize transitions with fewer previously selected continuations
- bounded non-emptiness search: cap heuristic trace search at five seconds while preserving sound final-result logic
- Verus adaptation: parallelize independent proof obligations, then merge checked lemmas through a coordinator-owned invariant
VeriCoT: Neuro-symbolic Chain-of-Thought Validation via Logical Consistency Checks
- stepwise FOL/SMT entailment: translate each reasoning step, classify contradiction or entailment, and retain only consistent accumulations
- vocabulary-growing autoformalization: add typed SMT declarations when a step exceeds the current vocabulary, retrying up to three times
- premise generation with judge checks: synthesize, satisfiability-filter, and attribute premises before accepting an unentailed step
- verification-guided repair and DPO: expose solver diagnostics for self-correction and train on verified versus failed trace pairs
VeriCoder: Enhancing LLM-Based RTL Code Generation through Functional Correctness Validation
- teacher-generated tests β ask an LLM to produce self-checking tests from a natural-language specification and initial code
- feedback-directed refinement β feed simulator errors back to an LLM that edits code, tests, or both
- bounded acceptance loop β retain a triple only after successful compile and simulation within a fixed attempt budget
- validation-aware fine-tuning β train on specification/implementation/test triples and compare with non-validated controls
- functional-quality audit β manually sample generated artifacts and report the denominator separately from benchmark pass rates
VERGE: Formal Refinement and Guidance Engine for Verifiable LLM Reasoning
- semantic routing β classify atomic claims and send formal types to SMT while using ensemble checks for vague or commonsense claims
- consensus autoformalization β generate three SMT formulas and accept only a solver-proven majority equivalence
- MCS repair β compute a minimal clause-removal set from UNSAT feedback and feed the named claims back into iterative generation
- variance-aware acceptance β combine claim scores, joint satisfiability, and a standard-deviation penalty before stopping
Multi-Grained Specifications for Distributed System Model Checking and Verification
- interaction-preserving coarsening β abstract internal module steps while preserving dependency and shared interaction variables
- mixed-grained composition β combine fine specifications for changed modules with coarse specifications for stable modules
- continuous conformance checking β replay model traces against implementation traces and revise mismatches iteratively
- deterministic fault replay β coordinate code-level interleavings and inject faults to reproduce model safety violations
- modular invariant reuse β attach protocol and code-level invariants to composed specifications at the needed granularity
Veracity: declarative multicore programming with commutativity
- commute guards β annotate sequential fragments with conditions permitting reorder or parallel execution
- scoped serializability β constrain nested parallel executions so their final states equal a sequential execution
- logical embedding β translate source fragments and context into ADT method specifications
- SMT guard checking β prove both execution orders equivalent under a supplied condition
- abstraction-refinement synthesis β infer sound commutativity conditions from logical specifications
Multi-agent Autoformalization of Tensor Network Theory
- synchronized blueprint: link source statements, dependencies, status, and Lean declarations in a checked human-readable layer
- specialized bounded agents: separate orchestration, proof writing, scouting, simplification, synchronization, and review with disjoint files
- persistent proof memory: distill failed routes, counterexamples, and reusable lemmas into pinned notes
- scout-then-prove: search library types with a cheap agent before dispatching an expensive proof writer
- language-server proof loop: attempt, inspect diagnostics and goals, search declarations, edit, refresh, and recheck
- reviewβrepair cycle: compare literature, blueprint, and code, then patch and repeat with a bounded reviewer loop
- finite canonical proof decomposition: reduce to canonical form, separate blocks at finite lengths, and combine gauge results
- local library replacements: prove missing mathematical prerequisites from available primitives and record their assumptions
VEPA: Verified Evolving Formal Policy for Lifelong LLM Agent Guardrails
- typed event boundary β parse raw traces into schema-checked records before deterministic rule execution
- conflict and regression checks β reject overlapping opposite rules and candidates that change known-correct decisions
- Pareto policy evolution β archive feasible patches and search non-dominated repair/non-regression trade-offs
- evidence-aware authority β activate verified rules only when an upper posterior error bound meets a deployment threshold
VeGo: Direct Deductive Formal Verification of Go Programs for Computer Science Education
- inline contracts: place preconditions, postconditions, and impossible-state claims beside executable code
- invariant and measure proofs: combine loop invariants, decreasing variants, and inductive predicates
- primed-state reasoning: relate pre/post mutation states and map them to SSA versions
- contract precision: strengthen weak specifications with preservation and permutation properties
- SSA VC pipeline: desugar annotations, build SSA, generate weakest-precondition VCs, and solve constraints
- interactive workflow: use headers, editor diagnostics, verified compilation, and native tests as one loop
Valid Stopping in Adaptive GeneratorβVerifier Loops
- index-betting e-values β normalize learned likelihood-ratio scores over a permuted null batch to preserve finite-sample validity
- leave-one-out score fitting β train order-invariant scores with each candidate removed before batch normalization
- online e-BH β aggregate roundwise e-values with alpha spending and control the supremum FDP under arbitrary within-run dependence
- robust-core CRC β lift a non-monotone scalar loss to monotone set loss and intersect certificates over hidden completions
- finite-grid tree scan β compute the robust core with frontier intervals, branching, and state deduplication
- split calibration β use independent e-value-construction and conformal-calibration runs
- stopped-FDR guarantee β control every stopping time up to the ΞΊ-acceptance time
- proxy-versus-oracle evaluation β measure cheap-verifier exploitation against a withheld expensive correctness oracle
- Verus adaptation β Inference: wrap checker acceptance in an audited statistical layer without treating it as a universal Rust proof
MSWasm: Soundly Enforcing Memory-Safe Execution of Unsafe Code
- capability-like segment handles β represent allocations with bounded, typed handles and trap on invalid access
- slicing for intra-object safety β narrow a handle to a struct field before dereference
- color-and-shade monitor β check provenance, field shade, and allocation status over event traces
- robust memory-safety semantics β prove typed modules safe under arbitrary modeled attackers
- type-directed C-to-target compilation β compile pointer operations, allocation sizes, and field offsets into checked handle instructions
- cross-language trace refinement β relate source pointers/events to target handles/events with a growing bijection
- first-violation trapping β prove an unsafe source event becomes a target trap
- pluggable enforcement backends β preserve one abstract safety contract while swapping software or hardware checks
VALG: An Agentic System for ML Theory Research and Demonstrations on COLT 2026 Open Problems
- source-relative theorem contracts β freeze assumptions, quantifiers, regime, and one target before proof work, while recording relaxations as new branches
- typed proof-dependency DAGs β represent assumptions and lemma interfaces as an acyclic graph and run a whole-theorem composability diagnostic
- split proof and independent review β generate sketch, global proof, local steps, and assembly with stage-specific reviewers
- diagnosis-routed minimal repair β classify failure level, retry only the implicated artifact, and create a related variant only for formulation obstructions
MSC-180: A Benchmark for Automated Formal Theorem Proving from Mathematical Subject Classification
- MSC-balanced sampling: select a fixed number of formally checked tasks from every subject class
- candidate formalization filtering: compile many generated statements, then semantically compare code with the source
- independent reconstruction: require explicit premises, isolated compilation and repeated multi-review validation
- paradigm-controlled Pass@k: compare interactive, end-to-end and hierarchical proof generation under stated attempt budgets
- domain@k and CV@k: report breadth and dispersion across domains rather than one aggregate success rate
- difficulty and scaling audit: separate undergraduate/graduate denominators and test whether wider search improves solved counts
- circularity inspection: reject generated proofs that invoke the theorem they claim to establish
VACS: Value-Aligned Compositional Shielding for Multi-Agent Reasoning
- BradleyβTerry plus MaxEnt IRL β infer per-dimension reward functions and per-agent value weights from pairwise preferences and trajectories
- DSL pre/post constraints β express each value requirement as a state/action precondition implying a next-state postcondition
- prune-and-rerank shielding β filter candidate actions through a verifier, select among approved candidates, and abstain when none pass
- assume-guarantee composition β prove local shields, interface compatibility, and a synchronized global invariant
- nucleolus/Hamiltonian consensus β allocate coalition-fair influence and optimize a constrained consensus with co-state updates
- verifier-grounded explanations β rank sensitive steps and render certificates containing each actionβs verified constraint and pre/postconditions
- finite-candidate evidence boundary β treat no-new-error as conditional on the generated candidate set and verifier assumptions
Using Reasoning Models to Generate Search Heuristics that Solve Open Instances of Combinatorial Design Problems
- verifier-centered interface: define a representation, executable verifier, development instances, and open instances before generation
- staged generateβtuneβoptimizeβverify: filter 1,000 candidates through short tuning, five-candidate optimization, two-hour development tests, and 48-hour open runs
- randomized local search: generate simulated annealing, tabu, genetic, greedy, or depth-first heuristics and score them with the verifier
- phased constraint decomposition: construct a base object first, then search a second layer such as signs or nested pairs
Using LLMs to Facilitate Formal Verification of RTL
- FPV-guided rule refinement β classify compiler and counterexample failures and add prompt rules until SVA compiles and proves
- timing-aware SVA prompting β teach cycle operators,
$past, register/wire timing, hierarchy, and bitwise semantics - AutoSVA2 composition β combine GPT-4 safety assertions with AutoSVA annotations and liveness properties
- multi-batch coverage β generate independent assertion batches and measure statement/toggle gains against a baseline
- counterexample bug finding β use a failing generated assertion, audit it, and confirm the RTL fix by rerunning FPV
- proof-guided RTL generation β append audited assertions to later implementation prompts and iterate to proof/coverage convergence
MPS-Prover: Advancing Stepwise Theorem Proving by Multi-Perspective Search and Data Curation
- expert iteration β repeatedly train on verifier-accepted theorem attempts and their step trajectories
- proof-data curation β remove short proofs and no-progress tactics using measured thresholds
- multi-perspective search β combine a learned distance critic with tactic, case-split, and state-length selectors
- verifier rechecking β concatenate generated steps and run the complete script through the compiler
- fixed-budget evaluation β report pass@k with explicit passes, perspectives, iterations, samples, and benchmark denominators
- proof diversity analysis β compare tactic diversity and step counts on the same commonly solved problems
Untrusted Authors, Trusted Answers: A Calculus of Fidelity-Graded Translations
- directional translation pair β specify a translator, carry-back, observables, direction, and domain, then check a per-program commuting square
- support-aware composition β compose routes only when outer carry-backs read observables preserved by inner hops
- independent branch corroboration β use disjoint translation routes to localize disagreements and strengthen agreement evidence
- witness replay and certificates β replay existential models at the source and re-check universal certificates with trusted checkers
- demand-and-ratchet evolution β record unmet questions, human-register new pairs, gate them, and preserve earlier verdicts
UnsafeChecker: Finding Soundness Bugs in Rust Safe Abstractions
- MIR flow-sensitive abstract interpretation β compile Rust to MIR and propagate ownership, lifecycle, and layout facts to a fixpoint
- relational ownership analysis β track points-to, ownership hierarchy, and alias sets to detect duplicate or invalid resource claims
- lifecycle powerset analysis β join Live, Uninit, Moved, Dropped, and related states to detect temporal UB
- interval layout analysis β track byte bounds, alignment, nullability, and mutability with widening at loops
- boundary and instruction checks β apply explicit rules for leaked dangling pointers, aliasing, UAF, OOB, invalid slices, and related UB
- context-sensitive inlining β recursively analyze callees and use conservative summaries at depth or external boundaries
MoVer: Motion Verification for Motion Graphics Animations
- vocabulary-first verification DSL: define object, motion, spatial, temporal, and postcondition predicates that correspond to requirements
- normalized trace execution: convert an artifact into per-step attributes, evaluate predicate matrices, and report failing subexpressions
- predicate-level repair loop: feed detailed checker failures and the DSL contract back to the generator for bounded iterative correction
- synthetic checker benchmark: construct ground-truth specifications from structured scenes and report pass@0, repaired pass, and failure denominators
Unlocking a New Rust Programming Experience: Fast and Slow Thinking with LLMs to Conquer Undefined Behaviors
- repair-strategy classification β route unsafe operations to safe replacement, assertion, or semantic-modification agents
- fast feature-to-candidate generation β use Miri diagnostics and LLM feature extraction to produce multiple repair candidates
- slow decomposed verification β split candidates into steps and validate them with specialized agents
- adaptive rollback β retain the state with the fewest detected errors instead of always resetting to the initial state
- AST feedback generalization β index focused semantic ASTs and feed evaluated fixes back into future generation
Unifying Theories of Reactive Design Contracts
- UTP predicate semantics β encode programs as alphabetized predicates constrained by healthiness conditions
- three-obligation contract refinement β reduce refinement to precondition, pericondition, and postcondition implications
- algebraic contract composition β calculate composite assumptions and guarantees with proved relational laws
- reactive case-study proof β verify stateful protocols by contract refinement and index-based postcondition case analysis
Understanding Tool-Augmented Agents for Lean Formalization: A Factorial Analysis
- draftβverifyβrepair loop β maintain persistent agent state and iteratively patch formal code from compiler diagnostics
- symbol and expert retrieval β query library definitions and use specialized drafts without allowing invented axioms or declarations
- compiler feedback as repair signal β use whole-program elaboration errors to drive faithful iterative correction
- factorial tool ablation β toggle independent capabilities across all configurations and report main, conditional, and interaction effects
Mostly Automatic Translation of Language Interpreters from C to Safe Rust
- feature reduction milestones: remove and restore cross-cutting program features through complete, validated intermediate programs
- validity and history feedback: combine independent output checks with status-history analysis to detect false completion and loops
- FSM workflow guards: enforce legal worker order, retry limits, cleanup boundaries, and escalation rules
- layered validation: combine provided tests, hidden tests, coverage, code review, and security probes
- isolated recovery: use containers, worktrees, commits, and rollback to contain faulty agents and recover progress
Understanding the Usability of Cryptographic Verification Tools
- layered onboarding β teach tool syntax together with formal theory, real models, and proof-search debugging
- model-first proof repair β simplify, inspect assumptions, add intermediate lemmas, and only then tune resources
- trace-guided refinement β classify counterexamples, repair model or attacker assumptions, and rerun
- dependency-guided reasoning β navigate rule dependencies and unresolved constraints with helper lemmas
- explicit-state modeling β encode state, algebra, and equivalence assumptions explicitly and measure their proof cost
Understanding and Improving Automated Proof Synthesis for Interactive Theorem Provers
- sequential proof-pattern mining β mine PrefixSpan tactic subsequences from human scripts and classify them into six proof roles
- pattern-guided tactic ranking β reorder neural top-k candidates by parent-tactic transition frequencies, then fall back to model probability
- checker-in-the-loop DFS β apply candidates in the ITP, skip errors and repeated goals, and backtrack when a branch exhausts
- bounded synthesis evaluation β enforce explicit tactic and time budgets and report added-value fractions against the same DFS denominator
Monotonic Reference-Free Refinement for Autoformalization
- masked objective: multiply soft LP/MC/FQ scores by binary theorem-prover validity before ranking
- lower-confidence judge fusion: aggregate weighted LLM judges and subtract calibrated one-sided margins
- role-specialized generation: use OOG, FVR, and REG roles with responsiveness-based sampling
- conservative acceptance: retain a candidate only when its plug-in score strictly improves
- LCB monotonic loop: use theorem-prover checks and judge bounds to obtain conditional convergence
- Verus adaptation: gate generated Rust contracts with Verus verification and keep semantic intent checks explicit
UCLID5: Multi-modal Formal Modeling, Verification, and Synthesis
- multi-modal modeling: combine procedural code, transition systems, axioms, and temporal specifications
- inductive and bounded checking: choose induction, k-induction, or BMC for the property shape
- SyGuS invariant synthesis: synthesize a predicate that strengthens a failed induction proof
- hyperproperty self-composition: instantiate multiple traces and prove relational invariants
- oracle-backed reasoning: delegate hard predicates to external binaries through solver interfaces
TypePilot: Leveraging the Scala Type System for Secure LLM-generated Code
- staged generation and diagnosis β generate code, have a separate model list vulnerabilities, then repair
- Stainless-targeted prompting β use verification examples and explicit conditions for a restricted proof language
- invariant-carrying types β encode valid ranges and absence with smart constructors, ADTs, and option results
- edge-case security matrices β score normal behavior and each vulnerability separately across models
- verifier gate inference β treat framework compilation/proof as acceptance and manual labels as evidence only
Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification
- dependent-index specialization β carry type choices in an index and normalize concrete instantiations
- callee-parameter rewriting β parameterize each function by exactly the callees that must specialize
- call-graph metaprogramming β recursively rewrite API-root call graphs and rely on kernel type checking
- elimination controls β choose explicitly which helpers inline and which remain specialized calls
- state-index streaming abstraction β package footprints, invariants, transitions, and fold correctness once for many algorithms
Type Safety via Hoare Logic with Separation and Pure Types
- case specifications: use pairwise-disjoint guarded pre/post branches, with an otherwise branch exposing uncovered inputs as
Abrt - separation types: use full-ownership heap assertions and singleton aliases to type-check flow-sensitive strong updates
- stable type predicates: define recursive indexed invariants for lists, trees, bounds, and owned mutable footprints
- explicit error hierarchy: distinguish tolerated
Err, tracked exceptions, and unreachable compile-timeAbrt - reflective soundness: prove Hoare rules once in Lean and derive a checker whose verdicts are certified by the proof
Modular Verification of Interrupt-Driven Software
- fixed-point handler analysis β analyze each interrupt handler with abstract interferences and iterate until all node states stabilize
- Datalog infeasibility relation β infer
MUST_NOT_READ_FROMfrom priority, dominance, post-dominance, and load/store facts - priority-aware filtering β retain store-origin identities and remove only interference pairs proved impossible before joining abstract states
TRX: A Formally Verified Parser Interpreter
- deep PEG/XPEG embedding β encode grammar syntax and typed semantic actions as inductive data
- determinism lemmas β prove prefix consumption, unique results, and no zero-progress repetition
- fixed-point termination analysis β reject left recursion and non-consuming loops before execution
- proof-carrying interpreter β interpret only grammars accompanied by well-formedness and semantic derivations
- extraction profiling β optimize extracted representations while preserving proved semantics
Trustworthy Verification of RISC-V Binaries Using Symbolic Execution in HolBA
- proof-linked binary lifting β translate bounded RISC-V disassembly to BIR with HOL4 bisimulation theorems
- ISA/BIR contract translation β state L3 machine pre/postconditions, translate them to BIR, and prove equivalence
- proof-producing forward symbolic execution β propagate symbolic states, prune paths, and use HOL4 plus SMT conditions to produce contract theorems
- backlifted binary assurance β transfer proved BIR contracts back to RISC-V machine-code theorems
- high-level specs for low-level routines β verify cryptographic and kernel assembly by connecting mathematical specifications to register and memory effects
Modular Verification of Concurrent Programs via Sequential Model Checking
- env-move over-approximation β replace environment interleavings with havocing calls at sound cut-points and refine them with assumptions
- counterexample-guided environment queries β split a sequential violation, compute
wpandpost, and query whether the environment can realize the interference - infeasible-transition refinement β generalize a false query and add an assumption that blocks only unreachable environment transitions
- promise-of-error assertions β turn a feasible environment condition into an assertion that exposes states guaranteed to lead to a real violation
- recursive hierarchy checking β verify multi-thread environments by applying the same main/environment decomposition recursively
- lazy environment-state exposure β add environment locals and program counters only when a queryβs condition requires them
TreeThink: A Modular Tree Search Library for Mathematical Reasoning with LLMs
- modular proof-tree search β separate selection, policy expansion, evaluation, and verification so each can be replaced
- asynchronous MCTS and beam search β batch candidate generation and checking to reduce wall-clock search time
- evaluator portfolio β combine likelihood, reward, novelty, judge, tournament, and REPL signals for node ordering
- verifier adapter and cache β standardize REPL calls and cache checked proof text while preserving toolchain identity
TREBL β A Relative Complete Temporal Event-B Logic. Part I: Theory
- Event-B transition predicates β model guarded parameterized events with before-after relations and prove initialization plus invariant preservation
- update-set temporal encoding β represent one-step and composed multi-step updates as set values and define temporal operators as state formulas
- all/one/selected trace operators β derive universal, existential, and stability-selected temporal claims from update-set reachability
- TREBL liveness fragment β express invariance, existence, progress, persistence, reachability, fairness, and transition security in a restricted temporal grammar
- well-founded variant rules β prove liveness by strict decrease, nonincrease in target states, and deadlock-freedom premises
- simultaneous and conditional variants β discharge progress obligations involving convergence, divergence, intermediate predicates, and phase flags
- conservative refinement β add ghost copies, counters, lists, and status flags while preserving original traces by projection
- relative-completeness induction β derive every valid TREBL formula under consistency, invariant closure, and sufficient refinement assumptions
Modular Verification of Autonomous Space Robotics
- per-node FOL assume-guarantee contract β express each node as an assumption-to-eventual-guarantee obligation
- heterogeneous verification mapping β choose testing, simulation, model checking, or theorem proving from node implementation access
- contract composition β connect an upstream guarantee to a downstream assumption across sequential, joining, branching, and loop structures
- evidence-category confidence ledger β count node/category verification combinations and expose the denominator and unverified interfaces
Transport via Partial Galois Connections and Equivalences (Extended Version)
- relation-respecting transport β define left/right relations and conversion functions, then prove an operationβs outputs correspond
- partial Galois equivalence β use domain-restricted adjunctions and monotonicity to transport across partial representations
- dependent function relator β encode cross-argument preconditions such as bounds and ordering in the output relation
- datatype relator closure β lift equivalences through lists, trees, maps, and other natural functors via map/relator laws
- compatible composition β compose conversions through commuting middle relations while preserving domains
- proof-assistant transport automation β register base equivalences and generate transported terms plus domain and similarity obligations
Translation Validation
- per-run translation validation β analyze each source/target pair and proof-check a generated refinement certificate
- STS semantic normalization β encode source and target as transition systems with explicit observables, clocks, memory, and stuttering
- clocked refinement mapping β relate concrete states to abstract observations while allowing absent signals
- inductive simulation β prove initialization and transition propagation of the refinement mapping
- syntactic REF rule β discharge refinement with an invariant, substitution, and five initiation/propagation/observation obligations
- compiler-shape invariant synthesis β derive clocks, substitution, and accumulated path facts from a fixed generated-loop control graph
Translating Scala Programs to Isabelle/HOL
- shallow language embedding β map a verified source-language subset directly to proof-assistant constructs
- dependency and recursion normalization β order strongly connected components and emit terminating case equations
- library equivalence bridge β prove imported definitions equal trusted library constants before reuse
- kernel-backed solver adapter β expose the proof assistant as a verification backend with typed communication
- guided induction annotations β embed explicit induction and simplification methods for hard verification conditions
Modular Information Flow through Ownership
- ownership dependency context β map each place to expression labels and update conflicts on mutation
- loan-set pointer analysis β derive points-to loans from ownership qualifiers and lifetime outlives constraints
- signature-only call summary β propagate readable inputs to returns and unique loans without callee bodies
- MIR fixpoint analysis β join place dependencies across CFG edges and add control dependencies
- ownership precision ablation β quantify precision loss by disabling mutability and lifetime information
Translating Large-Scale C Repositories to Idiomatic Rust
- C preprocessing β expand headers, macros, and conditional compilation before analysis
- pointer-index refactoring β replace pointer arithmetic with tracked indices and array accesses
- dependence-graph ordering β use context-sensitive dependencies and SCC condensation to choose translation order
- adaptive two-tier prompting β retry a cheap model, then use a reasoning model with error-indexed examples
- assertion-level validation β execute translated tests, localize failures by stack and assertion, and repair iteratively
Transition-Oriented Programming: Developing Provably Correct Systems
- graph transition system β represent typed state, guarded transitions, effects, and exposed propositions in one executable model
- temporal/functional split β verify trace properties separately from equational input-output properties
- modular composition β verify parameterized modules locally before concatenation, embedding, or concurrency composition
- progressive specification β refine a model iteratively while preserving old properties by simulation or bisimulation
- context perception β use type refinement and prioritized transformations to narrow states and guide verification
- bounded model checking β unfold a transition model to a declared bound and search SMT for counterexample paths
- iterative deepening theorem proving β search rewrite transformations at increasing depths for functional equivalence
- external proof boundary β import an outside theorem only with an explicit admitted or trusted marker
- transition-oriented development β organize abstraction, verification, composition, and refinement as one lifecycle
Modular Formal Verification of Rust Programs with Unsafe Blocks
- contract-based MSE β verify a function once against weakest-precondition and strongest-postcondition heap contracts, then reuse them at calls
- symbolic heap execution β represent addresses and values by symbols plus path conditions and separation-logic heap chunks
- RustBelt type interpretation β open ownership and shared-reference predicates, use lifetime/thread tokens, and close them at return
- MIR lowering β compile checked Rust to MIR and translate its control flow and type semantics into a reusable verification backend
- safe-abstraction checking β prove that unsafe implementation bodies satisfy the semantic predicate of their safe public type
- panic-path verification β symbolically execute MIR unwind edges and check transient invalid-state cleanup separately
Transformational Verification of Quicksort
- contract-to-chc: translate recursive functions and postconditions into CHCs plus false-headed violation goals
- fold/unfold elimination: remove inductive list terms by unfolding, simplifying constraints, and folding recursive predicates
- staged catamorphism lemmas: reuse previously proved contracts while eliminating data structures from later goals
Training Verifiers to Solve Math Word Problems
- generate-label-rank: sample many candidate solutions, label them by an outcome, train a separate verifier, and return the highest-scoring candidate
- token-level verification: predict correctness after each solution token and combine it with a language-modeling objective
- constrained calculator annotations: override arithmetic tokens with an evaluator while generating marked expressions
- verifier-guided voting: vote over final answers among top-ranked candidates when additional samples are available
- residual dropout: add residual-path dropout during additional pretraining and finetuning to reduce verifier overfitting
Modular Control Plane Verification via Temporal Invariants
- temporal interface invariant β index each componentβs allowed states by logical time and prove initial plus inductive closure
- restricted temporal DSL β combine global, until-witness, finally-witness, union, intersection, and negation operators over state predicates
- modular SMT checking β encode initial, inductive, and safety conditions per component, run them in parallel, and refine from counterexamples
- role-indexed invariant reuse β parameterize interfaces by component role so topology and policy updates reuse local schemas
- ghost-state security properties β add explicit tags or markers to prove reachability, isolation, route filtering, and anti-hijack conditions
Training Language Models to Use Prolog as a Tool
- verifiable GRPO tool training β sample grouped outputs, execute the symbolic tool, and optimize relative rewards from exact outcomes
- structural reward shaping β combine execution, syntax, format, semantic, and anti-hard-coding signals to steer generated programs
- bounded retry and interactive repair β compare independent best-of-20 attempts with tool feedback and context-reset policies
- executable-reference cleaning β run references, reconcile answer discrepancies, and publish denominator-aware train/validation/test splits
- three-axis auditability evaluation β report exact answer, structural validity, and semantic similarity separately
TraceFix: Repairing Agent Coordination Protocols with TLA+ Counterexamples
- topology-first synthesis β validate agents, resources, channels, and labels before generating behavior
- explicit nondeterminism β encode every branch and coordination operation so bounded checking explores it
- bounded exhaustive checking β enumerate all interleavings under stated queue and counter bounds
- counterexample repair β feed concrete TLC traces to targeted PlusCal edits and rerun verification
- runtime topology enforcement β reject undeclared coordination events while preserving domain-tool autonomy
Towards Verified Code Reasoning by LLMs
- claim-condition decomposition β split code semantics, agent claims, and the user verification condition into implications checked by a formal solver
- trace-to-Datalog extraction β recover snippets and traces, then encode them as facts from a fixed predicate vocabulary
- iterative predicate completion β rerun formalization to add missing predicate instances before checking
- equivalence entailment checking β encode live-variable semantic equivalence as Datalog rules and classify verifier outcomes
Models That Prove Their Own Correctness
- self-proving verifier interface β require a model to emit an answer and pass an interactive, sound verifier whose rejection guarantee is worst-case per output
- transcript learning β train on complete accepting answer/query/response transcripts and optimize token agreement with an honest transcript generator
- reinforcement learning from verifier feedback β emulate verifier queries and update the model only after an on-policy transcript is accepted
- annotated transcript learning β expose intermediate proof steps during training and strip them before verifier-facing inference
- verifier-mediated convergence analysis β relate proof-token length, parameter norm, Lipschitzness, and target error to TL sample complexity
Towards Verification of Constituent Systems through Automated Proof
- proof-obligation generation β enumerate partial-operator, precondition, subtype, invariant, postcondition, and satisfiability goals from a model
- contract repair by failed obligations β use an unsatisfied PO to add a guard or strengthen a precondition, then regenerate caller obligations
- semantic AST translation β deep-embed the model language and translate its AST and obligations into a theorem proverβs logic
- automated tactic discharge β invoke trusted-kernel tactics such as
auto,sledgehammer, or a domain-specific tactic on generated theories - versioned proof sessions β snapshot the model, regenerate obligations, discharge them, and retain proofs with the exact source version
- constituent invariant verification β prove each operationβs postcondition and subtype/invariant obligations for a stateful system model
ModelForge: Using GenAI to Improve the Development of Security Protocols
- synthetic formal-language corpus β generate paired prose and formal artifacts, diversify wording, and fine-tune on held-out pairs
- structured protocol translation β map participants, terms, keys, and traces into CPSA s-expressions before model analysis
- human semantic review β rate correctness, clarity, and completeness and inspect security-critical bindings before checker execution
- checker-after-translation β run CPSA only after parsing and expert review, treating its shapes as evidence about the formal model
Towards Translating Real-World Code with LLMs: A Study of Translating to Rust
- benchmark extraction: slice a project around a function and its transitive dependencies into a compilable translation unit
- state mapping: serialize target states to JSON, execute source through FFI, and map outputs back for whole-state comparison
- differential fuzzing: generate Rust states with Bolero/libFuzzer and report positive matches or structured counterexamples
- compilation repair: iteratively send compiler diagnostics and affected code lines to the LLM
- restart feedback: discard a failing candidate and regenerate from the original prompt
- hinted feedback: add path-grouped positive and negative examples to the original prompt
- counterexample-guided repair: retain the faulty candidate and ask for a correction using Eβ from one path class
- conversational repair: append successive failed translations and counterexamples in a bounded dialogue
Towards the verification of a generic interlocking logic: Dafny meets parameterized model checking
- model-based generic specification: describe parameterized component behavior in controlled language and translate it through SysML to executable code
- modular transition contracts: encode guards, effects, frame conditions, and unchanged-state equalities on component methods
- strengthened inductive invariants: add a local preservation fact that implies the desired global safety property
- parameterized transition abstraction: represent all station sizes with abstract sorts, state functions, and a relational transition system
- external invariant synthesis: use a parameterized model checker to discover a quantified invariant for a reduced abstraction
- invariant import and refinement: translate the discovered invariant into Dafny or Verus and prove concrete transitions preserve it
Model Generation for Quantified Formulas: A Taint-Based Approach
- sufficient independence condition β constrain free values so a quantifier-free body is independent of targeted variables
- SIC model generation β solve the strengthened QF formula once and generalize a satisfying model to the quantified formula
- taint-based inference β recursively propagate dependency conditions with theory-specific operator hooks
- theory SIC refinements β exploit absorbing Boolean, bitvector,
ite, and array equations to weaken taint conditions - R-absorbing rule β use a relation over a support of arguments to prove an operatorβs result independent
- iterative Skolemization β eliminate quantifier blocks incrementally while computing independence to avoid artificial dependencies
- shadow-array implementation β track taints only at array cells read by the formula
Towards Tackling Application Logic Flaws through Autonomous Formal-Logic Modeling and Automated Reasoning
- guardrailed logic modeling β constrain LLM-generated semantic models with typed Les symbols, EBNF, and reflection agents
- state-transition rules β encode protocol effects as deterministic or threat-controlled rewrites over principal attributes
- event-generation rules β generate conditional, knowledge-dependent attacker and user events
- customized threat models β mark principals or rules non-deterministic and merge overrides with protocol rules
- LTL attack goals β specify bad state/event traces with Eventually, Next, and Weak Until
- compiler-backed checking β compile Les to Maude rewrite theory and exhaustively search the logical state machine
- counterexample exploitation β replay model-checker attack traces on real devices and classify confirmed flaws
Towards System-Oriented Formal Verification of Local-First Access Control
- hash-linked chronicle model β represent events, causal timestamps, joins, and validity explicitly before verifying authorization
- granted-present-revoke capabilities β authorize grants and invalidate them through matching concurrent or successor revocations
- authorization/query/revocation invariants β separate immutable authorization, query-change, and backdating safety obligations
- staged algorithm verification β add grants, then revocations, in monotonic-to-non-monotonic steps
- pure total queries β prove deterministic convergence and termination while keeping chronicle consistency assumptions explicit
Model Checking C Programs with Loops via k-Induction and Invariants
- three-part k-induction β combine bounded counterexample search, forward coverage, and an inductive step
- loop-free induction encoding β transform each loop into finite
itecopies and havoc/save/update state for induction - polyhedral invariant inference β compute affine constraints with abstract interpretation and use them to strengthen induction
Towards Solving More Challenging IMO Problems via Decoupled Reasoning and Proving
- decoupled Reasoner and Prover: separate strategic lemma generation from low-level formal proof search
- formal subgoal prompting: require meaningful self-contained theorem declarations that collectively imply the target
- independent lemma filtering: retain a candidate only after one of bounded proof attempts verifies it
- verified-lemma final assembly: prepend checked lemmas to the main context and construct the parent proof
- role-specific model selection: use general reasoning models for strategy and specialized provers for tactics
- oracle bottleneck diagnosis: temporarily supply manually proved lemmas to measure whether proving capacity limits completion
Towards Porting Operating Systems with Program Synthesis
- layered machine-independent specification β describe OS behavior once with abstract state, pre/postconditions, and frame conditions
- formal ISA modeling β encode registers, memory, instructions, bitvectors, and machine invariants in an executable RTL model
- runtime-error exclusion β model invalid pointer, alignment, bounds, and type operations as failure and require candidates to avoid every failure path
- architecture lowering β instantiate abstract declarations and permissions for each target machine
- CEGIS assembly synthesis β alternate candidate guessing with SMT counterexample checking until a specification-satisfying sequence is found
- symbolic execution with structural merging β summarize all terminating paths while canonicalizing symbolic values and pointers
- read/write pruning β constrain each candidate instruction to registers available from the contract or earlier writes
- state gating β remove irrelevant registers and operations from the search model
- dependency constraints β infer pre-state variables that determine post-state locations and require candidates to preserve those dependencies
- rule-based decomposition β split a large contract into smaller subgoals and synthesize/combine blocks iteratively
- unrealizable-specification model testing β ask synthesis to satisfy deliberately impossible behavior and use a solution as evidence of an ISA-model error
- candidate accumulation β reuse a nearly correct shorter candidate as a prefix for longer searches, with a full-search fallback
ML4PG in Computer Algebra verification
- staged refinement for efficient verification β prove an abstract algorithm, refine to high-level structures, then prove correspondence to machine representations
- proof-feature clustering β extract proof-script features and cluster library lemmas to retrieve likely analogues
- human-guided strategy synthesis β inspect analogous proofs and abstract their common lemma sequence into a reusable strategy
- stability and granularity tuning β vary cluster granularity and repeat randomized runs, using proximity and frequency to select suggestions
Towards platform-independent verification of the standard mathematical functions: the square root function?
- accuracy-first API: specify a generic
SQR(Y,Eps)by an explicit absolute-error contract and define platform APIs through it - Floyd Newton proof: preserve a square-root bracket, discharge the exit inequality, and prove termination by halving the Newton error
- static iteration scheduling: use an upper-root function and a logarithmic bound to replace an adaptive loop with a fixed count
- fixed-point run transfer: compare exact and rounded runs by induction and charge at most
Ξ΄Tper iteration - lookup-table initialization: provide rounded-up root entries and a rounding map with explicit coverage contracts
- mantissa reduction: normalize a floating argument, call the fixed-point kernel, and carry exponent and reconstruction error into the final bound
Mizzle: A Complete Concurrent Incorrectness Logic for Preventing False Alarms in Agentic Bug Finding
- continuation-style incorrectness logic β advance one concurrent reduction while carrying a remaining witness obligation
- interleaving witness construction β choose a legal schedule and prove one reachable stuck configuration
- trace-based non-linearizability β emit calls and returns, then decide that no sequential history explains the trace
- separation-based race proof β expose conflicting accesses with thread and heap ownership assertions
- proof-carrying LLM reports β require Rocq or Verus to check the bug witness before accepting an agent report
Towards platform-independent specification and verification of the standard trigonometry functions?
- series-to-contract: define
sinandcosby Taylor sums, stop on a next-term bound, and prove a Floyd invariant against the alternating-series remainder - floating-point diagnostic sweep: run the real recurrence over a grid and compare outputs with mathematical range bounds to expose loss of significance
- fixed-point transfer proof: axiomatize rounded operations, synchronize machine and real runs, and carry a
Ξ΄D-dependent error budget into the postcondition - range reduction: use periodicity, addition, double-angle, or Chebyshev identities to reduce large arguments before evaluating a stable small-argument kernel
Towards Neural-Guided Program Synthesis for Linear Temporal Logic Specifications
- bounded UCW safety game: encode LTL realizability as a finite counter game and prove a policy avoids the rejecting bound
- automata decomposition: solve conjunct automata in a cross-product game to reduce individual transformation cost
- Bellman/value iteration: use worst-case successor values to derive a safety-game policy
- DQS neural guidance: train Q estimates with replay and then verify the extracted policy against the exact transition model
- losing-play replay and potentials: focus learning on failed traces and add distance-based supervision to reduce sparse feedback
Towards Machine Learning Induction
- dynamic induction strategy β generate induction-argument variants from a goal and context, then apply automation to each
- conjecture-assisted induction β generate auxiliary propositions, prune weak or false candidates, and search induction on the remaining obligations
- active-mined induction recommendation β learn a regression tree from tried induction variants, structural assertions, and resulting sub-goals
MirrorShard: Proof by Computational Reflection with Verified Hints
- computational reflection β reify goals, run a verified procedure in the logic, and use its soundness theorem to discharge the original goal
- extensible syntax with binders β represent typed terms, quantifiers, separation predicates, and unification variables in an indexed AST
- composable hint databases β package domain lemmas, theory provers, memory evaluators, and soundness proofs into compatible modules
- reflective symbolic execution β compute strongest postconditions by predicate refinement and verified memory evaluation
- separation-logic cancellation β prove postconditions by matching heap predicates and solving residual equalities with unification
- reduction and reification engineering β optimize term representations, reification, and delimited evaluation without changing soundness
Towards LLM-based Generation of Human-Readable Proofs in Polynomial Formal Verification
- induction proof prompting β ask for base, hypothesis, and recursive BDD proof steps, then check them formally
- structure-matched induction β group variables or track Hamming weight so the induction measure matches the BDD construction
- adversarial correction β challenge broad LLM complexity claims with follow-up prompts and theorem checks
- explanation-plus-verification β use LLM prose for readability while a BDD or Verus engine is the authority
- feedback-driven generation β feed formal-tool feedback and retrieved prior proofs into subsequent proof prompts
Towards Guaranteed Safe AI: A Framework for Ensuring Robust and Reliable AI Systems
- three-component GS architecture: combine world model, safety specification, and verifier
- conservative world modeling: overapproximate relevant effects and quantify residual model error
- bounded formal specifications: use temporal, probabilistic, causal, or hyperproperty constraints that are satisfiable
- assurance-level ladder: move from testing toward sound probability bounds or concise proofs
- compositional verification: infer contracts and prove component obligations before composing the system
- autoformalization loop: retrieve, formalize, prove, and train on verified statements
- verified code translation: specify source-target equivalence and security properties under explicit input and threat assumptions
MintHint: Automated Synthesis of Repair Hints
- four-stage repair hints β localize faults, infer state transformers, rank expressions, and synthesize scored edits
- symbolic state transformers β combine concrete passing traces with symbolic failing-trace outputs as an operational repair target
- Spearman likelihood ranking β rank candidate expressions and partial correlations against expected LHS values
- edit-distance hint typing β map candidate expressions to replace, insert, retain, or remove edits by AST distance
- compound hint synthesis β combine compatible high-likelihood expressions while deleting overlapping AST edits
- test-noise tolerance β use correlation and building-block composition to produce hints despite incomplete or noisy data
Towards General Loop Invariant Generation: A Benchmark of Programs with Memory Manipulation
- symbolic strongest-postcondition traces β execute heap loops repeatedly to expose pointer and predicate patterns for invariant synthesis
- self-supervised predicate recovery β split recursive data-structure predicates, augment and mix them, and train an LLM without expert invariant labels
- entailment-guided recursive inference β partition assertions by solver entailment and recursively infer separating conjuncts
- SAT-based invariant picking β select a minimal covering set of candidate assertions before final verification
Towards Formally Verified Smart Contracts Compilation
- parameterized CFG-SSA semantics β model dialect-independent YUL control flow and EVM-specific operations in Rocq modules
- small-step execution β define
stepand boundedevalover call stacks, blocks, variables, and dialect state - semantic deadness β characterize dead variables by equivalence of all future executions up to next observations
- coinductive liveness β encode cyclic live-in/live-out equations with mutually coinductive predicates
- verified analysis checker β prove a Boolean checker equivalent to the semantic liveness predicate
- proof-carrying compiler pipeline β translate solc output, run the extracted checker, and validate a 1,550-contract corpus
Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
- depth-bounded cut extraction β isolate loop-free dependency fragments and abstract unsupported values
- intrinsic differential validation β compare random concrete execution with verifier refinement
- symbolic synthesis with refinement β enumerate typed skeletons, solve constants, and check universal refinement
- empirical depth and caching β tune extraction bounds from cut/timeout data and persist verified rewrites
Towards Formal Verification of Hybrid Synchronous Programs with Refinement Types
- zero-crossing definition β define event time from a maximal zero interval and one-sided sign behavior
- invariant refinement types β encode safety as
β‘pover every continuous and discrete phase - flow-and-reset semantics β model ODE evolution to the first event and deterministic reset selection
- active-guard reasoning β combine guard-protected domains with differential invariants
- segment induction β prove initial state, flow, reset, and next-segment preservation in sequence
MiniF2F in Rocq: Automatic Translation Between Proof Assistants β A Case Study
- cascading verifier-feedback translation β spend increasing attempts on failures and feed exact checker diagnostics into later prompts
- machine gate plus semantic audit β require syntax/type/proof acceptance, then compare the result with the intended requirement
- source triangulation and ablation β use multiple formal and informal references, test their effect, and detect contradictory source contracts
- LLM judge as triage β measure agreement and missed errors against human review, and keep semantic acceptance independent
Towards Formal Verification of a TPM Software Stack
- ACSL contract verification β state functional, frame, and runtime-safety obligations and discharge them through WP, SMT, or Coq
- linked-list separation predicates β model list shape, reachability, validity, membership, and unchanged links as reusable predicates and lemmas
- static allocator workaround β replace unsupported dynamic allocation with a bank allocator plus explicit freshness and separation contracts
- proof-guiding assertions and scopes β constrain side effects and propagate list facts across blocks and return paths
- cast-free byte copying β use shifts and masks with explicit validity contracts when pointer-cast memory models fail
- interactive inductive lemmas β prove list lemmas in Coq when SMT automation cannot handle inductive definitions
Towards Faster Reasoners By Using Transparent Huge Pages
- TLB-guided profiling β sample solver TLB misses and identify unit propagation or other memory phases that dominate translation overhead
- aligned transparent huge pages β advise 2 MiB THP and align allocations so Linux can back regions with whole huge pages
- patched glibc activation β hide allocation changes in glibc and enable them per process with
GLIBC_THP_ALWAYS=1 - paired benchmark accounting β compare identical solved-instance denominators and report runtime, TLB counts, memory footprint, and timeout settings
miniF2F: a cross-system benchmark for formal Olympiad-level mathematics
- cross-system benchmark design β Manually align versioned formal statements, stratify by source and difficulty, and publish provenance and denominators
- deterministic tactic search β Explore a priority queue of tactic states with explicit queue, depth, iteration, and timeout bounds
- pass@N proof evaluation β Run N independent searches per statement and report accepted-proof counts over the exact split denominator
- trust-aware baseline comparison β Compare neural and hand-built provers while recording tactic access, proof lengths, system versions, and formalization limits
Towards Efficient Verification of Constant-Time Cryptographic Implementations
- staged taint and safety verification β discharge easy non-leaks with IFDS, then escalate unresolved sources
- lightweight IFDS taint β propagate secret dependence to a fixed point with sparse def-use flow
- taint-directed semi-cross-product β track precise scalar/index taint in a Boolean lockstep product
- taint-directed self-composition β compare two executions with equal public inputs and different secrets
Towards Deriving Verification Properties
- negated-tenet refinement β start from a violation of a high-level value, refine all concrete failure modes, and verify negated leaves
- leaf formalization β translate implementation-observable informal leaves into LTL formulas with explicit temporal detail
- domain-knowledge refinement β replace broad nodes with more specific antecedents while checking refinement completeness
- goal-tree refinement β use AND/OR subgoals, with equivalence-strengthened decompositions for negative contexts
- goal-tree expansion β add missing intermediate goals and elicit new domain rules when existing artefacts cannot refine a node
Metrics That Write Themselves: Evolving an Evaluator from Its Own Blind Spots
- collision-targeted CEGAR: find same-signature correct/incorrect pairs and synthesize a checker that separates the class
- interface escalation: widen checker inputs after repeated failures on the same blind spot
- null-calibrated admission: accept checks on held-out decision improvement against size-matched shuffles
- weighted vote composition: enumerate small check subsets and weight false alarms by the deployment endpoint
Towards Concurrent Quantitative Separation Logic
- chpGCL-to-MDP semantics β model heap commands, probabilistic choices, and nondeterministic thread interleavings as an MDP
- resource-safe liberal preexpectation β bound postcondition probability while framing a shared heap invariant and allowing nontermination
- backward wrlp proof rules β compose assignment, heap, control-flow, atomic, probabilistic, and concurrent rules bottom-to-top
- quantitative frame and share β split local heap resources and enrich or discharge the resource invariant
- precise-invariant side conditions β require at most one nonzero heap for min and convex expectation rules
Methods for Formal Verification of Agent Skills: Three Layers Toward a Mechanically Checkable Capability-Containment Proof
- abstract capability-effect lattice β over-approximate every script effect with joins, widening, and conservative top for reflection
- refinement-typed dispatch β admit only envelopes whose capability is in the manifest set
- SMT-bounded biconditional checking β search finite transaction horizons for an audit/world-state mismatch and retain a witness or unsat result
- proof-carrying bootstrap β ship signed static, type, and SMT evidence and independently re-run all checks
Towards Certificate-Driven Software Porting: A Self-Improving Agentic Harness for Scientific Program Optimization
- certificate-driven search: convert failed candidates into validated restrictions and enforce them during later generation
- conflict-aware repair: reject conflicts, backtrack, restart, or repair while preserving compatible edits
- certificate database: retain source hashes, requirements, assumptions, and checker evidence for each candidate
- Lean contract checking: prove selected assignment and identity requirements and generate restricted executable code
- bounded memory safety: use CBMC to check C array indexing within bounded executions
- layered harness validation: combine differential numerical, physics, statistical, sanitizer, and profiling checks
- withheld-input evaluation: reserve new sizes, random sequences, and boundary cases outside the search feedback loop
- certificate ablation: compare proposal pass fractions and performance gains with and without stored restrictions
Towards Bit-Width-Independent Proofs in SMT Solvers
- parametric bit-vector translation β encode symbolic-width bit-vector formulas as UFNIA implications with range constraints,
pow2, and width-indexed operator semantics - axiomatization modes β select full, partial, combined, or quantifier-free axioms to trade semantic strength against solver tractability
- conditional inverse synthesis β synthesize a symbolic witness for an invertibility condition with SyGuS and validate it across widths
- width-independent compiler checking β translate Alive equivalence constraints and prove them for arbitrary width after filtering width-dependent instances
- rewrite enumeration with fixpoint bootstrapping β enumerate equivalent terms, prove candidates, add proved rewrites as axioms, and repeat to a fixpoint
Meta-Ctrl: Guaranteed Plan Generation by Decoupling Syntactic and Semantic Constraints
- HMM-DFA lookahead β reweight LM tokens by constrained-completion probability computed with a backward product-state DP
- meta-token factorization β parse canonical token blocks into grounded actions and enforce semantics on the action DFA
- by-construction precondition DFA β track dynamic resources, object state, and goal progress while decoding
- canonical parser alignment β require a deterministic token-to-action bijection so the joint constraint factors exactly
- specification-relative guarantee β treat every guarantee as conditional on the completeness and correctness of the encoded automata
Towards Automating Blockchain Consensus Verification with IsabeLLM
- model-first consensus proof: define protocol states, environmental assumptions, helper lemmas, and a final common-prefix theorem
- solver-in-the-loop repair: alternate LLM proof generation, Isabelle builds, Sledgehammer, and bounded retries
- diagnostic classification: map syntax, hallucinated facts, failed tactics, and timeouts to targeted repair actions
- staged prompting: give full theory context initially, then only the current proof state and error
- bounded proof search: cap iterations, persist per-lemma history, and stop instead of looping on a repeated failed step
Towards Automated Functional Equation Proving: A Benchmark Dataset and A Domain-Specific In-Context Agent
- domain-tiered benchmark β formalize target-domain problems and evaluate separate difficulty tiers
- strategy-first prompting β request a natural-language plan before formal proof actions
- block recovery β parse multi-line proof output independently and salvage valid blocks
- failure-aware backtracking β record bad actions per proof state, clear queues, and regenerate
- solver fallback β invoke the theorem proverβs arithmetic tactic after model output
Towards Automated Formal Verification of zkEVMs Using LLM-Guided Constraint Synthesis
- semantic decomposition: group scattered Rust code into state-transition units whose interfaces expose every relevant read and write
- retrieval-grounded synthesis: retrieve independently validated semantic models to anchor types, schemas, and solver APIs
- typed SMT encoding: represent pre/post EVM state, guards, assignments, frame conditions, and safety obligations with fixed-width bit-vectors and arrays
- verification-guided repair: classify compiler and solver feedback, apply bounded localized repairs, and recheck executable semantic constraints
MerLean-Prover: A Recursive Looping Harness for Lean 4 Theorem Proving
- anchored proof-plan decomposition β externalize a topological proof DAG and invalidate downstream work whenever a plan statement changes
- independent mathematical, decomposition, and faithfulness checks β route compiler-clean, false, oversized, or weakened statements through separate read-only decisions
- recursive repair with controlled authority β give planning, code-writing, and checking agents disjoint powers and stop only after anchor and axiom audits pass
Towards Automated Formal Verification of Backend Systems with LLMs
- pure backend formalization: translate dependencies, APIs, tables, and side effects into explicit pure state transitions
- path-wise API theorems: split documentation into control-flow requirements and prove one theorem per path
- table-property inference: aggregate all table APIs and prove state invariants per mutator
- compiler-guided proof refinement: use diagnostics, backtracking, and similarity-ranked proved examples
- negative theorem search: negate unresolved properties to produce verified bug witnesses
- staged human fallback: send only unresolved or semantically mismatched cases to manual review
Towards a Proof System for Probabilistic Dynamic Logic
- symbolic-update pDL: represent probabilistic reachability and forward state changes with
[s]p Οand{U}Ο - constraint-generating execution: execute syntax-directed rules and combine branch probability bounds into SMT constraints
- probabilistic loop invariants: prove initialization, preservation, termination substitution, and expectation preservation
- solver-backed prototype: encode pGCL annotations in a symbolic executor and discharge modality-free arithmetic with Z3
Memory-Safety Challenge Considered Solved? An In-Depth Study with All Rust CVEs
- ownership-drop audit β trace raw-pointer ownership, compiler-inserted drops, aliases, and panic paths; transfer or suppress destruction explicitly
- initialization-unwind audit β prove that every panic or early return sees only initialized values and use
MaybeUninit-style staged initialization - API and FFI contract audit β expose unsafe preconditions, mutability, lifetimes, FFI behavior, alignment, and layout in contracts
- generic-bound adversarial testing β instantiate generic and trait APIs with
Rc, unusual alignment, pinning, and lifetime cases to test missing bounds
Towards a Probabilistic Framework for Analyzing and Improving LLM-Enabled Software
- empirical meaning-class distributions: sample a stochastic formalizer repeatedly, cluster semantically equivalent outputs, and estimate class probabilities
- alignment and concentration: label whether the winning class is correct and whether its mass exceeds the rest, then prioritize concentrated misalignment
- failure taxonomy: classify contract errors such as weak postconditions and use the dominant class to guide prompt or preprocessing changes
- structured requirement preprocessing: mark natural-language preconditions and postconditions before formalization to reduce compositional omissions
Toward the Verification of a Simple Hypervisor
- machine-level model reduction β extend a small ACL2 ISA model with only the registers, modes, instructions, and paging needed by the target
- compositional cutpoints β generate and discharge per-subroutine verification conditions from preconditions, effects, cutpoints, loop invariants, and exit witnesses
- page-table frame/effect proof β prove identity translation outside a protected region and page faults inside it under explicit alignment and disjointness assumptions
MechMath Agent Team: LLM Driven Agents for Mathematical Research
- tripartite harness β separate scheduling, isolated execution, and human/memory augmentation with explicit state
- closed-loop formalization β alternate natural-language generation, compiler checking, feedback repair, and archival
- formalization gates β snapshot statements, scan placeholders, guard ASTs, and integrate only verified fragments
- proof-chain auditing β trace imported lemmas and search extreme parameters for counterexamples
- exception-branch certification β keep a primary exhaustive scan running while specialized agents patch unresolved cases
- negative-constraint memory β store recurring reasoning failures as reusable behavioral constraints
Toward Automatic Verification of Quantum Programs
- quantum Hoare logic: express pre/postconditions as operator inequalities and derive them with qPD or qTD rules
- proof outlines: annotate every subprogram and propagate predicates through measurement branches for strong soundness
- SVTS invariant synthesis: encode control flow as super-operator transitions and solve predicate templates with SDP
- quantum ranking functions: prove total correctness by nonincrease and probabilistic decrease across loop iterations
- auxiliary super-operator rules: simplify composition, hidden variables, convex combinations, limits, and noise channels
Touring the MetaCoq Project (Invited Paper)
- reified kernel API β model syntax, contexts, environments, and stateful proof-assistant operations as datatypes and a monad
- mechanized PCUIC metatheory β prove confluence, subject reduction, principality, strengthening, and conversion congruence
- bidirectional typing β separate synthesis from checking to obtain canonical derivations and expose specification bugs
- universe graph consistency β decide tropical-algebra universe constraints with longest-simple-paths
- proof-producing conversion β combine weak-head reduction, unification, controlled unfolding, and a termination measure
- complete type checker β return an inferred type plus a squashed proof or an error, then check conversion
- verified erasure β erase types/proofs to untyped lambda calculus and prove observational preservation
- trust-base inventory β record strong normalization, guard checking, omitted features, extraction, and compiler assumptions explicitly
Mechanizing Refinement Types
- kinded polymorphism: restrict refinements to base-kinded variables so instantiation cannot erase predicates
- existential application typing: package dependent application results with a typed witness instead of substituting arbitrary expressions
- axiomatized semantic implication: expose the exact algebraic contract required of an SMT or other implication oracle
- co-finite quantification: quantify over every fresh name outside a finite set to remove renaming lemmas
- locally nameless substitution: separate free names and bound indices and strengthen refinements during type substitution
- inversion and narrowing: use subtyping transitivity, context narrowing, and exact typing to recover syntax-directed facts
- refined data propositions: encode judgments and derivation evidence as refined data constructors for constructive proofs
- intrinsic SMT invariants: map executable measures such as free variables into solver-supported logic and attach postconditions
Thirty-seven years of relational Hoare logic: remarks on its principles and history
- self-composition: rename a second program and verify a unary product to establish a 2-run property
- adequate products: choose lockstep, interleaved, maximal, or sequenced transitions that cover source trace pairs
- relational alignment rules: use diagonal, one-sided, and three-condition loop rules with relational invariants
- unary-to-relational embedding: combine unary specs or link a deterministic command to a mathematical function
Thinking Machines: Mathematical Reasoning in the Age of LLMs
- prover-in-the-loop tactics: generate one proof step, check it, and feed the updated state back
- premise retrieval: inject top-k relevant library theorems, statically or during search
- feedback-regime design: choose whole-proof RL, deterministic error correction, or step-level rewards
- verified autoformalization: revise translated statements using assistant errors and contextual lemmas
- proof sketches: generate high-level structure and let automated provers close open conjectures
- iterative repair: alternate proposals, checks, critiques, and verifier-accepted revisions
Mechanized Semantics for the Clight Subset of the C Language
- deep typed syntax and block memory β define a proof-friendly language AST and explicit allocation, load, store, and field-offset operations
- inductive plus coinductive execution β represent terminating outcomes, divergence, memory updates, and I/O traces in separate relations
- pass-by-pass semantic preservation β validate compiler transformations with simulation relations and memory injections
- cross-checking semantics β combine sanity lemmas, executable reference interpretation, manual review, and alternate-semantics equivalence
Theory-Scale Auto-Formalization of Logics for Computer Science
- concept/signature graph planning β map source concepts and dependencies to Lean declarations and embedding levels before implementation
- dependency-ordered implementation β build datatypes, definitions, then theorem statements with compilation and structural review after each round
- counterexample-guided faithfulness review β distinguish hard proofs from false or vacuous specifications and repair the earliest bad declaration
- definitional-equivalence checking β evaluate heterogeneous auto-formalized declarations by structure and computation as well as theorem compilation
Theory-Level Autoformalization: From Isolated Statements to Unified Formal Knowledge Bases
- dependency tower construction: formalize axioms, derivative definitions, proof infrastructure, and target theorems in dependency order
- recursive decomposition and abstraction learning: split propositions to atomic leaves, compose proofs, and extract reusable definitions into a dependency graph
- restricted equivalence checking: evaluate semantic alignment with deterministic, context-restricted normalization and precision/recall against expert judgments
- common intermediate representation: use an expressive, verifiable, embeddable IR to connect heterogeneous DSLs and verified transpilation
MathlibPR: Pull Request Merge-Readiness Benchmark for Formal Mathematical Libraries
- history-derived review labels: recover build-passing snapshots and label acceptance from real pull-request trajectories
- staged review evaluation: add code context, diagnostics, then stated intent while holding the review contract fixed
- structured and class-balanced judging: validate JSON reviews and report both class recalls, balanced accuracy, validity, and AUROC
Theoria: Rewrite-Acceptability Verification over Informal Reasoning States
- typed rewrite witness β represent an informal answer as typed, auditable state transitions
- completeness-of-change β reject every state mutation not licensed by explicit evidence
- initial-state audit β require
S0to contain only problem-given facts and a goal - specialized local judges β route citation, computation, problem, and initial-state checks separately
- pedantry filter and convention lift β distinguish cosmetic rejection from a single explicit domain convention
- certify-or-decline repair β bound correction attempts and abstain when a witness cannot be certified
TheoremForge: Scaling up Formal Data Synthesis with Low-Budget Agentic Workflow
- statement normalization and definition retrieval: denoise an informal task, retrieve candidate library facts, and formalize against selected premises
- compiler plus semantic filtering: sample multiple statements, compile them, check meaning, and select an aligned candidate
- stateless iterative proof correction: repair a failed proof from its current diagnostic and retain each successful repair pair
- proof sketch subgoal decomposition: turn an informal proof into compilable intermediate lemmas, solve them, assemble, and stop early on failure
- decoupled local extraction: retain verified statements, subgoals, premises, corrections, and sketches even when the parent theorem fails
- independent majority semantic verification: exclude the generator identity and aggregate independent binary semantic judgments
MathlibLemma: Folklore Lemma Generation and Benchmark for Formal Mathematics
- factorized lemma mining: separate candidate discovery, semantic filtering, syntax repair, proof search, and final artifact screening
- compiler-guided repair: feed structured Lean or Verus diagnostics back to a bounded generate-verify-repair loop
- proof-bypass screening: reject placeholders and generated declarations that introduce hidden assumptions beyond the trusted library
- closed-book evaluation: benchmark models with only the self-contained context and statement to measure internal formalization ability
- model-union proving: combine diverse prover outputs because union coverage can substantially exceed the best single model
- residual human audit: sample model-unsolved statements to distinguish false claims from current prover limitations
TheoremBench: Evaluating LLMs on Theorem Proving in Formal Mathematics
- dependency-aware premise extraction β turn hidden prior declarations into explicit, independently compiled proof tasks
- theorem-level coverage β measure partial and complete progress over all subtheorems in a parent theorem group
- token-efficiency analysis β compare accepted generated proof length with checked reference proofs and report selective-solve bias
- premise ablation β compare identical theorem units with and without explicit context to diagnose proof-agent use of dependencies
Theorem Prover as a Judge for Synthetic Data Generation
- four-phase question formalisation β convert, verify, translate back, and align generated specifications before answer training
- stepwise theorem-prover judging β classify every intermediate proof step as verified, false, or execution error
- iterative autoformalisation β feed verifier diagnostics to a model and retry bounded formalisation repairs
- RLTPF allocation β train on verified examples with SFT and verified-versus-false pairs with DPO
MathForm: Scaling Mathematical Autoformalization with Knowledge Retrieval and Verification-Guided Refinement
- library retrieval planning: query the current formal library for definitions and types before generation
- verification-guided refinement: revise candidates using compiler diagnostics and semantic-consistency feedback for at most three rounds
- semantic versus syntax checks: score compilation separately from faithful meaning preservation
- trajectory reconstruction: synthesize a clean formalization explanation from each verified statement and its source
- n-gram decontamination: remove training examples sharing a 13-gram with held-out evaluation examples
- joint binary reward: reward a candidate only when compilation and semantic checks both pass
The WhyRel Prototype for Relational Verification
- dynamic boundaries: represent module footprints as regions and enforce client access through interface methods
- coupling relations: relate distinct pointer representations through a shared abstract state and partial reference correspondence
- biprogram alignment: pair two command streams so relational invariants can be checked compositionally
- data-dependent alignment: use left-only, right-only, and lockstep guards for differing control flow
- relational frame translation: encode heap effects with explicit two-state maps and postconditions for untouched locations
- adequacy and encapsulation checks: project biprograms and generate boundary, disjointness, and framing obligations before proving the relation
The VMT-LIB Language and Tools
- annotated transition interchange β encode states, initial conditions, transitions, and properties as SMT-LIB annotations
- invariant and liveness compilation β reduce full LTL, fairness, and invariant constraints to core VMT-LIB properties
- converter pipeline β translate VMT-LIB among BTOR, CHCs, nuXmv, and LTL tableau representations
Mathesis: Towards Formal Theorem Proving from Natural Languages
- staged formalization and proving β sample formal statements, compile them, semantically rank them, then prove the selected statement
- composite verification rewards β train a translator with semantic-equivalence and compiler/type-check rewards
- hierarchical preference optimization β use GRPO for local correctness and DPO preferences from downstream verified proofs
- structured semantic scoring β decompose requirements, classify each subtask, and aggregate with a veto-capable Sugeno integral
- verified expert iteration β retrain a prover on proof attempts accepted by the proof assistant
- benchmark and metric separation β report syntax, semantic agreement, and end-to-end proof success with their distinct sample/search budgets
The Verification Horizon: No Silver Bullet for Coding Agent Rewards
- test-driven reward with quality filtering β build executable verifiers, then filter tasks for instruction clarity and instructionβtest alignment
- trajectory-level anti-hacking monitor β penalize process-invalid shortcuts and update patterns as policies discover new channels
- structured rubric judge β decompose intent into weighted dimensions and compare scores with human annotations
- interactive runtime judge β plan actions, execute them in a live environment, and score observed traces
- user-feedback reward extraction β annotate implicit human judgments with evidence, fairness, and conservative labels
- evaluator-agent filtering β score long-horizon outputs with checklist and holistic metrics matched to the training objective
- verifierβgenerator co-evolution β rebuild verification signals as policy capability and exploitation strategies change
The Usability of Advanced Type Systems: Rust as a Case Study
- counterexample teaching: isolate one ownership rule in a tiny Rust program and let compiler diagnostics expose the violation
- explicit lifetime APIs: write lifetime parameters at reference-bearing boundaries and use contracts for properties lifetimes cannot express
- unsafe encapsulation: confine raw-pointer and FFI operations behind small interfaces with explicit safety contracts
- mixed usability evaluation: combine content analysis, interviews, surveys, controlled tasks, and repository studies
- obligation visualization: display the minimal lifetime, borrow, and contract facts that explain a failed verification obligation
Mathematics with large language models as provers and verifiers
- test-time verifyβrevise: alternate prover proposals and verifier diagnostics for a bounded number of fresh iterations
- semantic conformance gate: compare formal premises and conclusion with the natural-language theorem before final checker acceptance
- context isolation: discard each prover/verifier instance and save every accepted artifact for reproducibility
- research-mode agents: separate literature, context, conjecture, and refinement roles before formal proof search
The Unfireable Safety Kernel: Execution-Time AI Alignment for AI Agents and Other Escapable AI Systems
- four-property kernel: require process separation, structurally unavoidable pre-action enforcement, fail-closed operation, and external signed evidence
- multi-seam defense: place independently denying gates at ingress, middleware, dispatch, and client boundaries
- deterministic migration equivalence: compare old and new implementations on regenerated fixtures with pinned nondeterminism
- two-level invariant proof: combine Z3 model reasoning with Kani exhaustive checking of the shipped Rust function
- signed transparency evidence: keep operator signing authority outside the kernel and verify append-only decisions externally
- claim-mapped robustness corpus: tie each attack-class test row to the property it is intended to substantiate
The Trusted Computing Base of the CompCert Verified Compiler
- TCB boundary decomposition β enumerate every trusted transformation from source text through verified model to execution
- checked external oracle β permit untrusted algorithms to guide choices only after a proved checker validates their result
- monadic nondeterminism β model impure or variable foreign results as a set of allowed outcomes
- hash-consing discipline β enforce smart constructors and a global uniqueness invariant before treating pointer equality as semantic equality
- back-end case audit β test printers, pseudo-instruction expansions, clobbers, ABI conventions, and runtime assumptions separately
MathCoPilot: An Interactive System for Human-AI Symbiotic Paradigm of Mathematical Research
- editable proof blueprint β decompose a target into human-navigable dependent nodes and recursively refine hard nodes
- verifier-feedback orchestration β select and switch proof skills from checker diagnostics until a candidate verifies
- NL-first scaffold β write an informal proof before formal translation when the formal statement is hard to navigate
- verified knowledge base β extract source mathematics, formalize in dependency order, compile, index, and re-verify on library updates
- abstraction-aware certification β separate opaque domain assumptions from the formally checked assembly and report both
The Tacticianβs Web of Large-Scale Formal Knowledge
- semantic CIC graph β encode kernel terms as labeled nodes and direct binder/definition edges
- context meta-graph β preserve imports, section discharge, module instantiation, and abstract time
- bisimulation hashing β hash and share context-aware equivalent subgraphs for compression and lookup
- proof-state transitions β represent each tactic as a state-to-state refinement with a generated proof term
- tactic instrumentation β record tactic inputs, outputs, focus, terms, and dependencies inside Coq
- tactic decomposition β expand static sugar and record dynamic state-dependent branches
- tactic anonymization β remove local names after execution while retaining graph references
- synchronized proof dataset β export graph and text forms with cached context and Capβn Proto access
- prediction server β suggest tactics to Coq without owning search control
- proving client β explore proof states through capability-based tactic execution
- parallel benchmark β reproduce exact package environments and distribute theorem evaluation at scale
- Verus adaptation β Inference: apply context-keyed retrieval and checker-clean artifact storage to verified Rust
The Relationship Between Separation Logic and Implicit Dynamic Frames
- total-heap permission semantics β represent a total heap plus a per-field permission mask and interpret reads through permissions
- self-framing checks β require assertions to remain stable under interference outside their permission mask
- minimal permission extensions β define implication and magic wand by quantifying over minimal resources that satisfy the antecedent
- separation-logic to IDF encoding β map a restricted separation-logic syntax to Chalice assertions with semantic preservation
- weakest-precondition correspondence β prove encoded and source command WPs equivalent by structural semantic lemmas
- frame and permission accounting β use fractional permissions for read sharing and full permission for writes
MathAtlas: A Benchmark for Autoformalization in the Wild
- dependency-aware corpus construction: extract entities, references, names, and graph relations from mathematical texts
- schema-constrained extraction: use structured JSON outputs and exact spans for entities and references
- dependency retrieval and grounding: retrieve candidate definitions, select matches with context, and expose all candidates
- compile-plus-faithfulness metric: count correctness only when syntax compiles and meaning aligns
- dependency-depth stress testing: evaluate a deepest-tree subset separately from average examples
- context and grounding ablations: measure local-context and existing-library effects with model, split, and denominator
- judge calibration: test semantic-faithfulness metrics on a labeled benchmark instead of assuming judge scores are truth
The Relationship between Craig Interpolation and Recursion-Free Horn Clauses
- horn encoding: map control-flow states and calls to relation-symbol clauses, with assertion errors as
falseheads - binary interpolation: synthesize a shared-variable predicate from two clauses
A β pandB β§ p β false - inductive and tree interpolation: derive path or call-tree invariants by composing transfer constraints and child predicates
- dag/disjunctive interpolation: share predicates across paths or combine body-disjoint Horn clauses
MathAdv: What Theorem Provers Know, Reason, Formalize, and Generalize
- component-wise diagnostics β pair formal proofs with direct answers, theorem-choice questions, and equivalent transformations
- expert-preserving transformations β change presentation while preserving mathematical content to test robustness
- verifier-in-the-loop formalization β compile candidate statements, return errors, and separate syntax correction from semantic review
- staged semantic review β use independent model review, human review, and final expert validation
- protocol-separated evaluation β report search-based, whole-proof, and general-purpose models under explicit budgets
The Output-Space Hypothesis: Enumerative Equivalence Checking for Tensor Programs
- output-space quantifier flip β fix an output location and solve equivalence for all inputs, then enumerate locations
- trace-merge-execute-check β instrument heterogeneous programs, align SSA traces, symbolically lower operations, and query Z3
- bundled CUDA symbolic execution β use symbolic thread/block identifiers and split bundles on uniform predicates
- synchronization and warp modeling β commit shared-memory writes at barriers, detect races, and resolve shuffle partners by satisfiable domains
- per-element backward projection β invert symbolic writes and recursively substitute SSA equations to inputs
- approximation axioms β normalize compiler transcendental idioms and declare permitted approximation identities
- heuristic location search β prioritize corners, path-condition coverage, and tensor boundaries before random locations
- witness replay β constrain SMT queries for large differences and replay concrete inputs on the original programs
The LLMbda Calculus: AI Agents, Conversations, and Information Flow
- labelled agent calculus: make prompts, responses, generated code, and tool values carry provenance labels
- dynamic flow enforcement: propagate labels and block sends or assertions whose flows violate policy
- TIPNI proof: use observer compatibility and high-skipping semantics for probabilistic, possibly nonterminating agents
- quarantine contexts: fork and clear conversations before processing untrusted data
- confined endorsement: reclassify only a bounded value while proving confidentiality-preserving insulated TIPNI
- oracle interpreter: pass model nondeterminism as an oracle to connect executable evaluation with formal semantics
- practice-mode retries: repair generated code on mock state before permitting real-world side effects
Matching Multiplications in Bit-Vector Formulas
- tautological multiplication bridges: detect long or Wallace-tree decompositions and add a proven equality to a word-level product so SMT reasoning can share both representations
- long-multiplier matching with backtracking: group aligned partial products, reconstruct operand blocks, and backtrack ambiguous assignments
- Wallace-tree carry matching: traverse XOR/adders by bit, consume carry evidence, and collect one-bit partial products before reconstructing operands
The Limits of Inference Scaling Through Resampling
- verifier generalization audit: compare practical verifier passes with independent hidden tests and report conditional accuracy
- cost-aware resampling: assign explicit negative utility to false positives and optimize the attempt count
- fixed-pool permutation evaluation: reuse the same samples under 1,000 random orders to estimate reward curves by K
- quality audit: compare accepted candidates on readability and maintainability metrics beyond functional correctness
- oracle boundary: distinguish proof-checker acceptance from imperfect tests or model judges that can admit false positives
Manthan: A Data Driven Approach for Boolean Function Synthesis
- unate preprocessing β replace positive/negative unate outputs with constants after SAT checks
- adaptive weighted sampling β bias satisfying assignments to expose compact output rules
- dependency-aware tree synthesis β learn binary trees in an acyclic output order and compile positive paths into Boolean functions
- error-formula verification β prove a candidate by checking UNSAT of a specification/candidate error relation
- MaxSAT fault localization β preserve most outputs while identifying the few functions to repair from a counterexample
- unsat-core repair β derive a literal conjunction from an infeasibility core and update the faulty candidate
- self-substitution fallback β replace poorly learned variables by recursive formula substitution after a refinement threshold
The Lean 4 Theorem Prover and Programming Language
- definitional and inductive proving β define recursive functions, close reductions with
rfl, and use constructor induction withsimphypotheses - typeclass and decision synthesis β declare instances and use tabled resolution or
decidewhen a proposition has a decidable instance - hygienic domain syntax β separate parsing and macro expansion so custom notation produces capture-safe constructors
- compiled proof automation β implement tactics and elaborators in the prover language, compile them, and retain kernel checking as the final evidence
The KeYmaera X Proof IDE - Concepts on Usability in Hybrid Systems Theorem Proving
- staged automation β run structural tactics automatically and stop explicitly at loops, ODEs, or missing invariants
- traceable proof views β show local deduction paths and branch links instead of an unwieldy full tree
- metadata tactic suggestions β match goal shape and required inputs to offer actionable next steps
- tactic extraction β turn point-and-click proof actions into reusable scripts
- contextual rewriting β apply sound axioms inside selected formula contexts
- kernel/interface separation β keep sound deduction in the kernel and proof organization in the UI
Maintaining a Library of Formal Mathematics
- semantic declaration linting β Inspect elaborated declarations and metadata with extensible checks, actionable diagnostics, and CI execution
- type-class and metadata checks β Detect unusable, looping, misprioritized, or underconstrained proof-library declarations
- simplifier sanity checks β Find redundant, subsumed, commutative, and variable-headed rewrite lemmas
- environment documentation generation β Traverse the complete elaborated environment, emit JSON, and publish searchable API documentation
- decentralized rationale records β Index tactic docs and named library notes while keeping each entry close to its implementation
The Imandra Automated Reasoning System (system description)
- termination measures: require an ordinal or other well-founded decrease for every recursive call and reuse it for induction
- specialization: lower polymorphic higher-order models to ground first-order definitions before solving
- reachability unrolling: use guarded recursive expansion and unsat-core selection for bounded proofs and counterexamples
- inductive waterfall: simplify with classified lemmas, generalize, and synthesize a goal-specific induction principle
The Illusion of Safety: Multi-Tier Verification of AI vs. Human C++ Code
- four-tier verification harness β run tests, static analyzers, sanitizers, and bounded model checking on the same programs
- denominator-aware reporting β attach compilation, analyzability, test availability, model, bound, and timeout denominators to every rate
- cross-tool Jaccard analysis β compare flagged-program sets to expose complementary coverage
- clustered risk regression β use mixed-effects logistic regression with task-level random effects and explicit covariates
- scope-sensitive interpretation β separate proven bounded violations, observed runtime failures, warnings, parse errors, and timeouts
The Essence of Higher-Order Concurrent Separation Logic
- resource algebra β model compositional ownership, validity, and ghost state with associative resource composition
- frame-preserving update β update owned state while proving compatibility with every concurrent frame
- persistence and guarded recursion β distinguish reusable facts and guard higher-order recursive assertions with a later step
- atomic invariant access β open shared-state invariants only around atomic operations and close them before interference
- derived weakest preconditions β build program specifications from a small assertion and modality core
Magnushammer: A Transformer-Based Approach to Premise Selection
- hierarchical premise retrieval β embed proof states and premises, retrieve a large top-K by cosine similarity, then rerank proof-state/premise pairs
- hard-negative reranking β sample false positives from the selectorβs top 1,024 candidates and train a binary relevance scorer
- proof-derived premise corpus β extract one training pair per premise from human and alternative verified proof steps
- bounded verifier search β combine ranked premise prefixes with a fixed tactic set, execute them under a timeout, and accept only machine-checked proofs
- compute-budget evaluation β report proof rates against explicit numbers of tactics, premise-prefix sizes, parallel attempts, and timeout seconds
The Effects of Adding Reachability Predicates in Quantifier-Free Separation Logic
- separation-logic heap semantics: model ownership, points-to, list segments, separating conjunction, and magic wand over finite functional heaps
- undecidability reduction: encode quantified variable cells and heap-extension quantification using list-segment/reachability gadgets
- test-formula abstraction: quotient heaps by finite equality, allocation, size, path, and reachability signatures
- small-heap PSpace procedure: compress paths, guess a polynomial heap, and recursively model-check the bounded fragment
Magenta: Closing the Loop Between Mathematical Reasoning and Lean Verification
- statement adjudication β reject elaborated formal statements that do not faithfully encode the natural-language requirement and candidate answer
- error-attribution routing β classify a failed proof as mathematical or implementation error and revise only the responsible component
- diagnostic-conditioned repair β preserve context on syntax errors and regenerate proof code from verifier diagnostics
- budget-aware certification β report verified coverage as a function of explicit statement, proof, token, and internal-call budgets
The Cooperating Proof Calculus: Comprehensive Proofs for an SMT Solver
- typed certificate checking β emit Eunoia assumptions and rule steps and check every conclusion independently with Ethos
- executable rule side conditions β use terminating pattern-defined programs to compute resolvents, normal forms, and theory-specific conclusions
- compositional SMT proof calculus β cover rewriting, Boolean reasoning, resolution, and theory lemmas with explicit premises
- cross-checking in theorem provers β reconstruct rules in Lean and Isabelle to expose unsound definitions and quantify coverage
- solver-checked rule conditions β translate each rule to an SMT verification condition and use SyGuS to search for counterexamples
- full-library certificate evaluation β measure proof completeness, step counts, timeout denominators, and generation/checking overhead
Maestro Order: A Model-Agnostic Orchestration Harness
- uniform solver interface: compose models, tools, and sub-harnesses through typed answers, traces, scores, and costs
- likelihood-ratio verification gates: amplify candidate odds by requiring calibrated independent verifier acceptance
- marginal-rate controller: spend budget on the mechanism with the greatest log-odds gain per unit cost
- online verifier calibration: estimate completeness, false acceptance, discrimination, and drift from later-known outcomes
- fail-closed orchestration: turn errors, timeouts, malformed candidates, and crashes into rejection or abstention
- gated decomposition and refinement: split only into typed, checkable subtasks and regenerate after rejected evidence
- diversity and executable checking: reduce correlated errors and prefer tests, type checks, execution, or machine proofs over plausibility judgments
The Challenges in Specifying and Explaining Synthesized Implementations of Reactive Systems
- unrealizability games β solve the environment/system game, extract counterstrategies, and isolate minimal unrealizable cores before repairing assumptions or guarantees
- coverage and vacuity β perturb synthesized state/output choices, detect unconstrained or ignored specification parts, and refine until intended behavior is covered
- skeletons β emit three-valued true/false/open transition annotations to expose choices made by synthesis rather than by the specification
- assumption monitoring β detect violated environment assumptions in simulation or deployment and feed reviewed assumptions back into specification refinement
- output-sensitive synthesis β bound states and cycles, or refine abstractions incrementally, to obtain smaller and more understandable implementations
The 4/Ξ΄ Bound: Designing Predictable LLM-Verifier Systems for Formal Method Guarantee
- absorbing-chain retry model β represent mandatory verification stages as transient states with geometric residence times and an absorbing Verified state
- BMC plus k-induction β unroll loops, encode bounded VCs, then prove base and inductive cases
- SMT VC solving β combine SAT with theories and inspect concrete counterexample traces
- vectorized convergence calibration β sample independent geometric stage times, aggregate rows, and compare empirical means and tails with
4/Ξ΄
Machine-Learned Premise Selection for Lean
- syntax-tree features β represent theorem or Verus-obligation symbols as names, bigrams, and trigrams
- filtered proof labels β extract used premises and separate all, explicit-source, and mathematical subsets
- intermediate-state dataset β learn from before/after proof fragments captured by a state extractor
- weighted k-NN β rank premises by rarity-weighted feature similarity to nearby examples
- online random forest β update sparse binary decision trees with each newly checked proof
- Cover metrics β measure exact and relaxed top-ranked premise coverage on held-out modules
- interactive probing β asynchronously try candidate applications and insert the first verifier-advancing proof action
TestSuiteBench: Coding Agents Struggle to Generate Strong Test Suites from Specifications
- specification-first evaluation β derive detailed behavioral specifications, then test agents on implementation and test generation
- isolated requirement mutation β create compiling mutants that violate one requirement and filter by targeted killing
- validity/mutation metrics β report tests that preserve the reference and mutants they kill, with explicit denominators
- failure-attribution repair β classify failures as generation or specification defects and iteratively revise the specification
Machine-Checked Dual-Write Recovery from a Commit Log
- indistinguishable-state impossibility: construct equal-observation crash states with different sink acceptance and quantify over all source-only policies
- sink-delta recovery: subtract authoritative sink acceptance from committed replay obligations at a stated frontier
- arrival fencing: atomically apply recovery and raise a generation threshold to reject in-flight stale requests
- claim fencing: atomically claim a recovery generation, prepare its batch, and reject fires after a newer claim
- evidence-lifetime proof: relate deduplication and source-history retention to the horizon for which exactness is claimed
TerraFormer: Automated Infrastructure-as-Code with LLMs Fine-Tuned via Policy-Guided Verifier Feedback
- staged verifier pipeline: validate syntax, plan deployability, then evaluate policy compliance
- certificate-driven repair: feed each oracleβs error certificate back to an LLM for bounded multi-turn correction
- policy unit tests: express natural-language intent as Rego rules evaluated over an execution DAG
- verifier-guided GRPO: reward partial and complete verifier outcomes after SFT warm-start training
Template-based Program Synthesis using StellensΓ€tze
- polynomial hole templates β replace each sketch hole with a bounded-degree monomial polynomial and solve for coefficients
- path obligation generation β derive initiation, consecution, and finalization implications from every basic SPTS path
- algebraic certificates β use Farkas, Handelman, Putinar, and Real Nullstellensatz certificates to remove quantified variables
- QP reduction β equate polynomial coefficients to obtain quadratic constraints over template and certificate variables
- unsat-core refinement β strengthen QP variables to zero and relax only constraints identified by solver unsat cores
- semi-complete synthesis β obtain sound solutions at any degree and completeness when the degree and boundedness assumptions suffice
MA-ProofBench: A Two-Tiered Evaluation of LLMs for Theorem Proving in Mathematical Analysis
- human-led formalization and reverse-translation review: clean problems, iterate with compiler feedback, and require independent reviewers to validate Lean statements
- compiler-gated proof sampling: compile sampled candidates in a fixed environment and reject errors, holes, missing prerequisites, or changed statements
- verifier failure taxonomy: classify API hallucinations, type errors, and incomplete proofs from diagnostics and count them by model and denominator
Technologies for βComplete, Transparent & Interactive Models of Mathβ in Education
- linked typed terms β render mathematical syntax while exposing definitions, types, and theorem contexts
- explicit Given/Where/Find/Relate specifications β separate inputs, preconditions, outputs, and postconditions before method choice
- specification refinement trees β match problems to increasingly constrained formal specifications and compose subproblems by typed input/output edges
- calculational proof steps β present verified transformations and intermediate justifications at user-selectable detail
- guarded pure authoring programs β implement reusable methods with typed arguments, preconditions, and side-condition context updates
- separation of mathematics and interaction β keep functional algorithms independent from dialogue and user-model logic
- Lucas-Interpretation next-step guidance β execute a method to suggest the next step and prove user-entered terms against the current context
- transparent proof provenance β preserve links from each displayed step to the prover derivation and trusted kernel
MA-LoT: Model-Collaboration Lean-based Long Chain-of-Thought Reasoning enhances Formal Theorem Proving
- paired correction data β store accepted and rejected proofs together with exact Lean diagnostics and theorem context
- LoT transfer learning β transfer general Long CoT through field-specific proof and correction SFT without annotated formal traces
- prover-corrector collaboration β separate whole-proof planning from verifier-guided repair and rerun the checker after each patch
- correction-round budgeting β express prover samples and repair rounds explicitly and compare both equal-sample and equal-compute settings
- role-specialization ablation β compare a dedicated corrector with a prover reused as corrector to measure diagnostic-repair specialization
Teaching LLMs Program Semantics via Symbolic Execution Traces
- symbolic-trace supervision β run symbolic execution on unlabeled code and train on structured path, state, and violation traces
- manifest-trace curation β select traces where the analyzer establishes a violation for every feasible input
- structure-preserving CPT β retain HTML or equivalent hierarchy during continued pretraining instead of flattening tool output
- reasoning-plus-budget evaluation β combine curated traces with explicit reasoning and report fixed and parseable denominators
- transfer and ablation checks β compare trace semantics against code-only, all-trace, format, property, and output-budget controls
Talk is Cheap, Logic is Hard: Benchmarking LLMs on Post-Condition Formalization
- two-stage contract prompting: extract an English condition, then emit a fixed-signature Boolean function from prose and examples
- mutation-guided negative tests: mutate the reference implementation so wrong outputs become postcondition counterexamples
- graded contract metrics: report full-test acceptance, test fraction, execution errors, and FP/FN rates by task difficulty
Lost at C: A User Study on the Security Implications of Large Language Model Code Assistants
- randomized assistant study β compare human or agent workflows with and without suggestions on the same frozen programming task
- split-function testing β isolate each API unit with known-good replacements and report compile and test denominators
- layered security audit β combine manual CWE review, static checks, runtime tests, and fuzzing while resolving tool errors
- non-inferiority metric β preselect a tolerance and test bug incidence per line or function with explicit denominators
- provenance matching β align final code with timestamped suggestions to classify how defects entered and spread
TacticZero: Learning to Prove Theorems from Scratch with Deep Reinforcement Learning
- fringe MDP β represent partial proofs as scored fringes and choose tactic, arguments, and branch as actions
- joint tactic/argument policy β learn which tactic and theorem or term argument to apply from theorem statements
- reward shaping β combine terminal proof rewards with subgoal-progress and dead-end penalties
- proof replay β replay one of five recent successful trajectories when a previously solved theorem fails
- learned backtracking β discard predicted dead ends and restart from a promising alternative fringe
- search ablation β compare learned scheduling with stochastic/top-k BFS, DFS, and latest-fringe strategies
TacticToe: Learning to Prove with Tactics
- feature-weighted proof-step retrieval β represent goals with tagged TF-IDF features and rank tactics, theorems, and goal lists by weighted overlap
- MCTS tactic search β explore predicted proof steps with selection, extension, backpropagation, and verifier-checked termination
- orthogonalized tactic database β retain high-coverage tactics that subsume redundant effects
- abstraction and argument prediction β replace tactic arguments with placeholders and try goal-ranked instantiations
- dependency-aware preselection β propagate similarity through proof dependencies before limiting the candidate pool
- script-level proof recording β extract generalized tactic units, globalize names, and save tactic-goal pairs
- proof minimization β delete redundant tactics and arguments only after replay confirms the same checked result
LoRA: Low-Rank Adaptation of Large Language Models
- low-rank frozen-base adaptation β Replace
W0updates with trainableBA, initialize to zero update, scale byΞ±/r, and merge factors for inference - target-and-rank budgeting β Choose attention matrices and ranks under a fixed parameter budget, then validate each choice on named tasks
- merged deployment and task switching β Store
W0+BAfor zero added latency and swap factors or merged matrices between tasks - adaptation efficiency measurement β Report trainable parameters, memory, throughput, and latency with model, hardware, trial denominator, and metric setting
TΓ€KΕFormal: Enabling Robust Software for Programmable Memory Hierarchies
- ISA event axiomatization: expose callbacks, cache events, phantom values, and ordering relations as execution-graph events
- litmus-test reasoning: decide concrete program outcomes by checking candidate graphs against all MCM axioms
- environmental overapproximation: parameterize hidden scheduling and replacement behavior with nondeterministic transitions
- prefix-closed invariants: reformulate full-execution axioms so every partial execution satisfies them
- intermediate-state refinement: prove an abstract event-graph machine and separately connect it to the detailed implementation
Systematization of Knowledge: Formal Verification of Consensus Protocols
- inductive transition invariants β prove initialization and preservation of state, refinement, and safety properties
- explicit-state model checking β enumerate bounded executions with TLC, PAT, or SPIN to obtain concrete counterexamples
- symbolic bounded checking β encode bounded protocol behavior in SMT with Apalache or related tools
- timed automata abstraction β model timeout and delay parameters for timeout-sensitive safety and liveness
- threshold automata β replace identities with counters and quorum guards for parameterized Byzantine proofs
- Heard-Of communication abstraction β reason about per-round received-process sets instead of low-level message schedules
- dynamic-stake state derivation β derive committees from a static address universe and blockchain lookback state
- hybrid verification β combine automated transition-system checking with interactive proof obligations
SysMoBench: Evaluating AI on Formally Modeling Complex Real-World Systems
- behavioral task contracts β specify mandatory core actions and excluded implementation details before generation
- staged quality metrics β separate syntax, runtime, trace conformance, and invariant scores with explicit denominators
- trace validation β instrument implementation code and check executions as paths in the formal model
- invariant concretization β map reusable invariant templates to model-specific names, then model-check each separately
- code-translation modeling β translate source statements and control flow before asking an LLM to abstract the system
- no-human feedback loops β rerun agents with compiler/model-checker errors for up to three iterations
LongCat-Flash-Prover: Advancing Native Formal Reasoning via Agentic Tool-Integrated Reinforcement Learning
- hybrid formal experts β specialize statement generation, lemma sketching, and proof completion, then chain their verified trajectories
- layered legality validation β combine compiler outcomes with semantic consistency and AST/context checks
- tool-integrated RL with anti-hacking rewards β train on diagnostic trajectories while clipping unstable importance ratios and rejecting illegal proofs
- tree search over lemma sketches β decompose hard goals, prune unprovable nodes, and verify each resulting proof under a fixed statement
Synthetic Programming Elicitation for Text-to-Code in Very Low-Resource Programming and Formal Languages
- synthetic programming elicitation β study model outputs to choose a familiar parent language and a compilable child subset for a sparse target language
- parent-to-target hole workflow β generate in the parent, formally repair, compile complete child programs, and ask the model only to fill residual holes
- largest consistent subtree β parse an error-tolerant AST and use recursive pruning plus MAX-SMT soft clauses to minimize replaced nodes
- model-based static repair β substitute satisfying solver-model values into holes before invoking another model
- syntax/semantic split β measure compiler parsing separately from manually assessed semantic correctness with explicit denominators
Synthesizing Inductive Invariants for Distributed Protocols via IC3 and Large Language Models
- IC3/LLM blocking synthesis: decompose invariant discovery into frontier bad states and validate LLM clauses symbolically
- finite-instance clause screening: reject clauses falsified by reachable TLC states and feed counterexamples back to synthesis
- exact aggregate fallback: negate all accumulated bad states when LLM proposals fail, preserving finite-instance completeness
- unbounded induction handoff: prove the extracted invariant with TLAPS after finite-state search
Logos: Certified Order-Sensitive SQL Rewrites with Mechanized Semantics and LLM Guidance
- complete outcome semantics β model all legal ordered lists and observable errors over typed finite inputs
- bag-closure lifting β use multiplicity equality only after proving every relevant ordering is admitted
- certified lemma-guided synthesis β let an LLM assemble query-specific proofs while a Rocq kernel checks each certificate
- proof-producing countermodels β certify non-equivalence with a fixed typed database against complete outcome relations
Synthesis of Parametric Programs using Genetic Programming and Model Checking
- enhanced-model-checking GP: evolve grammar-constrained program trees using graded model-checking fitness, mutation, and selection
- parametric counterexample co-evolution: retain failed parameter instances and score both candidate programs and falsifying instances
- architecture-guided repair: mutate process architectures to expose protocol failures, then evolve repairs against accumulated bad architectures
- loop-free SMT synthesis: translate straight-line candidates and Hoare-style contracts into solver formulas, using satisfiability and counterexamples as fitness
Synthesis from Formal Partial Abstractions
- relational partial synthesis β conjoin source, target, application, and mapping specifications and find satisfying finite instances
- Monarch architecture mapping β synthesize style-conforming architectures from abstract application models
- Pol code-framework synthesis β bind platform usage fragments to a synthesized implementation model
- ORM tradeoff exploration β enumerate schema mappings, classify six quality metrics, and present Pareto frontiers
- assertion-based validation β state intended mapping properties as Alloy assertions and search for counterexamples
LogicTrack: Auditing Reasoning Trajectories of Large Language Models with Formal Logic Solvers
- step decomposition and autoformalization: split each generated step into context, explanation, and conclusion, encode it as SMT-LIB, and check entailment by unsatisfiability
- solver-based backtracking reward: combine premise fidelity and solver validity, accept only above step and running-average thresholds, and regenerate at the first failure
- verified-prefix search: preserve the verified prefix while using greedy, beam, or MCTS exploration over candidate continuations
- backtracking SFT: train on verified paths with rejected steps followed by
<backtrack>and corrected continuations
Syntax-driven Incremental Program Verification of Matching Logic Properties
- OPG local reparsing β reparse an edited substring and splice it back when the old enclosing nonterminal is matched
- synthesized-attribute invalidation β recompute changed nodes and only their ancestor path
- reachability verification tasks β explore satisfiable rule successors to a fixed point, then check final-pattern containment with SMT
- delayed and summarized verification β defer tasks missing rules and collapse verified fragments into summary transitions
- parallel incremental evaluation β evaluate independent syntax subtrees and solver queries concurrently
Logic-LM: Empowering Large Language Models with Symbolic Solvers for Faithful Logical Reasoning
- solver-specific symbolic formulation β prompt an LLM with a grammar and demonstrations, then compile prose into LP, FOL, CSP, or SAT
- deterministic symbolic execution β delegate inference to Pyke, Prover9, python-constraint, or Z3 and interpret the result
- diagnostic self-refinement β iterate generation using solver error messages and repair demonstrations until executable or capped
- execution-versus-semantics evaluation β report executable rate separately from accuracy of executable samples
SynCode: LLM Generation with Grammar Augmentation
- remainder-aware incremental parsing β retain only the potentially changing lexical suffix and compute parser accept sequences
- DFA mask store β precompute vocabulary masks for DFA states and terminal lookahead sequences
- sound masked decoding β union masks for accepted sequences and filter logits at every generation step
- grammar-backed language integration β compile EBNF/LR grammars, including indentation extensions, into reusable token constraints
SYMDIFF: A Language-Agnostic Semantic Diff Tool for Imperative Programs
- intermediate-language normalization β translate multiple source languages into a common verification language
- modular procedure equivalence β compare paired procedures by running both from the same saved state and asserting equal outputs
- differential inlining β inline all, only failed, or only failed behaviors to trade precision against scalability
- deterministic effect modeling β model allocation, I/O, and externals with repeatable state transformers
- semantic counterexample traces β report paired paths with source locations and expression values
- SMT verification-condition checking β discharge equivalence wrappers with modular VC generation and Z3
LLVM Translation Validation Automated with Large Language Models and Lean
- LLVM refinement semantics β compare source and target under UB-aware refinement rather than plain equality
- UB-sensitive scaffold generation β split on source and target UB conditions and leave typed, focused holes
- kernel-checked LLM completion β let an LLM fill holes while Lean enforces unchanged statements and no admits
- diagnostic repair loop β iterate proposals using deterministic prover diagnostics under a bounded budget
- counterexample certification β turn a concrete LLM candidate into a kernel-checked non-refinement proof
- inductive loop scaffolding β prove initialization, preservation, and exit for a canonical loop without bounded unrolling
- deterministic semantic harness β accept results only after the formal kernel checks the assembled proof
Symbolic Temporal Supervision of LLM Agents Using Contracts
- event-state trace model β represent each call and return as an event over trace, context map, and counters
- deterministic interaction predicates β ground structural, numeric, permission, pattern, and data-flow checks at each event
- assume-guarantee valuation β separate environment assumptions and agent guarantees with IDLE, ACTIVE, and FAIL statuses
- ALTLf-to-DFA compilation β compile finite-trace temporal formulas to reusable deterministic checkers
- dual-mode supervision β gate calls online and replay identical checkers offline for reproducible verdicts
- contract-library analysis β test consistency, compatibility, and unsatisfiable cores before deployment
Symbolic Search Is Not Exhausted: Persistent Proof-Space Exploration in Lean4
- perspective-balanced frontier β partition tactic candidates by reasoning mode and interleave capped queues under a global budget
- semantic transposition reuse β alpha-normalize and structurally compare proof states, then reuse verified graph vertices
- transactional future preview β explore bounded verified futures, restore state, and replay only the chosen transition
- continuous local synthesis β enumerate typed inhabitants and partial applications alongside ordinary tactic transitions
- verified Atlas interface β expose states and failures to an optional agent while the proof assistant validates every proposal
Symbolic Automatic Relations and Their Applications to SMT and CHC Solving
- symbolic synchronous automata: encode recursive list relations as ss-NFAs whose transition labels are linear integer formulas
- SAR-to-CHC reduction: normalize list terms and emit state, transition, initial, and acceptance CHCs over integers
- ICE teacher certificates: use SAR formulas as finite candidate models and check every CHC obligation with the reduction
SV-LIB 1.0: A Standard Exchange Format for Software-Verification Tasks
- SMT-LIB-based exchange format: extend a known parser and term language with procedures, control flow, specifications, and witness commands
- separate tagged properties: attach contracts, invariants, ranking functions, and liveness requirements to program locations without changing statement semantics
- incremental verifier protocol: issue
verify-call, reuse state when sound, and retrieve a witness immediately after a verdict - correctness witness validation: combine witness commands with the original task so invariant and contract validation reduces to SMT checks
- violation witnesses: encode concrete safety traces, lasso-shaped liveness counterexamples, and modular-invariant leaps
- explicit nondeterminism: model
havocandchoiceas demonic behavior and resolve choices in counterexample traces
Supporting the monitoring of the verification process of critical systemsβsoftware
- cross-norm verification framework β parameterize standards, assurance levels, processes, documents, roles, and observations
- consistency-and-completeness status β aggregate checklist and observation results into pending or completed process/project states
- role-based evidence workflow β control who records, reviews, changes, and reads verification status
- multi-level monitoring views β connect project, process, configuration-item, and non-conformity evidence for certification
Summing Up Smart Transitions
- Sum Logic aggregate model: represent balances as functions and totals as sum constants with a semantic sum property
- decidable-fragment reduction: reduce bounded-address SL formulas to Presburger arithmetic through distinct models and small address spaces
- first-order transition encodings: compile local coin updates and aggregate effects into SMT or theorem-prover formulas
- induction and lemma splitting: handle unbounded mint/transfer transitions by explicit coin induction and intermediate lemmas
SubgoalXL: Subgoal-based Expert Learning for Theorem Proving
- subgoal-based proof annotation β align each natural-language reasoning step with a formal intermediate goal and verified proof command
- verifier-filtered expert iteration β sample candidate statements, proofs, and subgoals from reward-reweighted distributions, retaining only checker-verified artifacts
- posterior subgoal scoring β score a formal proof by the likelihood that a fixed posterior generator reconstructs its subgoal sequence
- diversity through prompt and length variants β train multiple proof generators and reinitialize each iteration to widen the candidate pool
- proof-assistant acceptance gate β count a theorem only after cheating-keyword filtering and Isabelle kernel verification
Structuring the synthesis of heap-manipulating programs
- proof-directed separation-logic synthesis β encode a heap pre/postcondition as SSL goals and synthesize reads, writes, frames, and unifications as proof rules
- inductive heap unfolding β use
Induction,Open,Close, level tags, andCallto synthesize structurally recursive list/tree code - call abduction β synthesize pointer updates that make a recursive calleeβs precondition match the current heap
- focused backtracking search β combine invertible rules, unfolding/flat phases, symmetry reduction, and early-failure rules to prune derivations
- branch abduction β infer a pure guard when a candidate branch cannot entail its postcondition
Structural Temporal Logic for Mechanized Program Verification
- ICTree semantic model: represent finite, infinite, effectful, and nondeterministic programs with compositional event trees
- dual temporal specifications: separate ongoing prefix properties from terminating postconditions so sequential proofs compose
- structural temporal lemmas: reduce temporal proofs over bind, choice, and iteration to reusable sound rules
- invariant and ranking proofs: establish loop termination, liveness, and invariance with preserved invariants and decreasing variants
- proof-facing instrumentation: choose ghost observations through event handlers and lift generic rules to a source language
- liveness split: divide phase-structured liveness into smaller proofs connected by an intermediate relation
Structural Certification for Reliable Physical Design with Language Models
- structural contract: bind goal-fixed inputs read-only, expose only free design variables, and derive the certified quantity inside deterministic code
- proposeβcertify loop: have a model propose, let an external engine accept or return a violation, and retry until certified, impossible, or unknown
- three-valued decline: treat impossible and unknown as explicit safe verdicts instead of forcing an answer
- root-input correction: compute the minimal input change that crosses a violated threshold and feed it back to the next proposal
Strong-Separation Logic
- strong-separation semantics β restrict heap composition to stack-named shared locations to retain magic-wand and list reasoning
- abstract-memory-state decision procedure β decompose heaps into chunks and decide SSL satisfiability and entailment in PSpace
- forward symbolic execution β combine local pointer rules with frame and materialization rules, then discharge entailment
- normal-form abduction β translate finite abstract memory states into formulas for weakest and spatially minimal missing heap facts
STP: Self-play LLM Theorem Provers with Iterative Conjecturing and Proving
- dual-role self-play β train a conjecturer and prover from each otherβs verifier-filtered outputs
- supervised role initialization β teach proof syntax and lemma-conditioned conjecturing from library data
- barely-provable reward β select correct conjectures with empirical pass rate in (0, 1/4]
- diversity reweighting β match selected-goal embeddings to the distribution of outstanding tasks
- hard-proof replay β train on difficult verified proofs with inverse-count, length, and time weights
- final verifier-gated retraining β refresh from a base model and count only independently verified proofs
Stochastic Superoptimization
- cost-minimizing superoptimization β combine an equality term and a resource term and retain low-cost candidates
- MCMC instruction search β mutate fixed-length instruction sequences and accept proposals by a Metropolis ratio
- testcase-smoothed equality β use instrumented output Hamming distance to guide a search before symbolic validation
- misplaced-value reward shaping β reward correct intermediate values even when they are in the wrong register
- acceptance early termination β stop testcase evaluation once a candidate cannot meet the sampled acceptance bound
- SMT equivalence validation β encode live machine-state effects in bit-vector formulas and search for counterexamples
StepFun-Prover Preview: Letβs Think and Verify Step by Step
- tool-integrated proof search: alternate natural-language reasoning, checker-executed sketches, diagnostics, and final verified code
- outcome reward: give binary credit only when the final proof passes the formal environment
- cold-start and correction SFT: bootstrap syntax, then train on multi-turn trajectories and repaired failures
- mixed-success data selection: retain prompts whose sampled verifier success rate is strictly between zero and one
- verifier-service scaling: isolate, timeout, parallelize, and structure checker processes for training throughput
StepFun-Formalizer: Unlocking the Autoformalization Potential of LLMs Through Knowledge-Reasoning Fusion
- Lean-filtered knowledge distillation: generate 16 formal candidates, syntax-check them, BEq-cluster them, and filter contradictions
- template-guided formalization reasoning: require explicit restatement, concept/object mapping, Lean issue analysis, and final code review
- two-stage SFT fusion: train first on formal pairs and then on structured informal-to-formal trajectories
- BEq-reward RL: use proof-assistant equivalence as a binary reward with GRPO and multiple rollouts
LLMs Lean on Priors, Not Programming Language Semantics
- executable small-step semantics: define configuration transition rules, an interpreter, and rule/state traces as ground truth
- semantic mutation testing: swap or obfuscate operator meanings while preserving program syntax to expose prior-driven reasoning
- state-free rule selection: evaluate exact local rule lists on executions whose store does not mutate
- long-horizon trace scoring: require exact sequences of rules and intermediate states over loops and branches
Stellar Colosseum: A Many-Agent Harness for Long-Horizon Research in Mathematics and Theoretical Computer Science
- readiness-gated strategy exploration β generate and falsify routes until uncertainty is localized enough for a stable proof plan
- dependency-graph proof construction β solve section subproblems in DAG order and retry only failed sections
- overlapping adversarial aggregation β sample candidateβcritique bundles through a tree that carries objections and competing branches
- localized global verification β map defects to affected sections, revise or re-explore, and reverify the whole artifact
- persistent research memory β retain drafts, caveats, failed approaches, references, and evidence for later rounds
- execution feedback loop β compile and run implementations, then feed checker and resource results into local revision
SteelCore: an extensible concurrent separation logic for effectful dependently typed programs
- indexed action trees β index concurrent computations by pre/post separation footprints and compose them semantically
- affine separation logic β define heap predicates closed under disjoint extension and use separating conjunction for frame reasoning
- atomic invariant protocols β allocate shared invariants, open them only inside atomic actions, and restore them before return
- fractional permissions β use a partial commutative monoid to split and recombine shared-cell authority
- monotonic references β constrain ghost state evolution by a preorder and prove every update is increasing
- typed concurrency objects β package locks, counters, lists, and channels with dependent protocol indices
LLMS FOR FORMAL THEOREM PROVING β HUMANβMACHINE COLLABORATION ON PROOFS
- interactive tactic loop: let an LLM propose proof steps while a human refines strategy and a prover checks every accepted step
- sequential verification: check each generated lemma or tactic before accepting it into a hierarchical proof
- feedback-driven decomposition: use diagnostics to revise prompts, split goals into lemmas, and try alternative tactics
- humanβmachine responsibility split: keep theorem intent and semantic judgment with humans, syntax proposals with the model, and acceptance with the prover
- metric-driven evaluation: report pass rate, accuracy, completion time, correction cycles, and qualitative cognitive load with explicit denominators
Stay Safe under Panic: Affine Rust Programming with Multiparty Session Types
- affine meshed channels: store typed binary channels and consume endpoint values to enforce the next legal multiparty action
- typed cancellation propagation: combine
Result,?, catch macros, explicitcancel, andDropto terminate every session participant - top-down/bottom-up protocol checking: generate local types from Scribble or check local CFSMs with k-MC compatibility and progress bounds
- cancellation termination proof: model errors and drops in an affine Ο-calculus and prove that all processes in a cancelled session terminate
LLMs Canβt Plan, But Can Help Planning in LLM-Modulo Frameworks
- hard-critic generateβtest loop β generate candidates, run sound model-based critics, and iterate until every correctness critic passes
- backprompt meta-controller β pool heterogeneous diagnostics and choose summarized or diversified prompts for the next candidate
- model/specification acquisition β use LLM suggestions with human curation to build the formal model and complete requirements
- syntax-checked reformulation β translate candidates into verifier representations and validate syntax before semantic checking
Statistical Proof as a Window into Human-AI Collaboration: Practical Insights and a Community Agenda
- precise bounded formulation β state definitions, assumptions, target, and a manageable sub-problem
- targeted strategy hint β provide the domain proof route, decomposition, and regularity conditions
- iterative decomposition β solve and inspect smaller lemmas before recombining a long proof
Static and Dynamic Verification of OCaml Programs: The Gospel Ecosystem (Extended Version)
- shared behavioral model: write one typed contract with a logical model and reuse it across runtime and deductive analyses
- runtime contract testing: generate state-machine traces against executable contracts before proof effort
- automated VC discharge: translate contracts to WhyML and solve routine verification conditions with SMT
- separation-logic fallback: define heap representation predicates and prove mutable pointer structures interactively
LLMs as verification oracles for Solidity
- mutation-and-property benchmark β mutate interpretable contracts while preserving a shared natural-language property set and auditable truth labels
- executable-counterexample prompting β demand a truth value, explanation, and transaction sequence for every claimed violation
- assumption-explicit evaluation β state semantic abstractions such as gas behavior in the prompt and specification
- expressibility-conditioned comparison β compare model and tool metrics only on matched expressible subsets and report coverage separately
- evidence auditing β inspect whether counterexamples are executable and whether true answers include all necessary assumptions
Statechart Verification with iState
- hierarchical state invariants β attach predicates to states and accumulate them through XOR, AND, and ancestor structure
- transition verification tuples β represent source states, guards, actions, and target states as Hoare-condition data
- parallel/sequential products β compose tuple sets by Cartesian products while preserving nondeterminism
- broadcast elimination β topologically expand event calls into broadcast-free verification tuples
- predicate statechart semantics β recursively generate tuples for initialization, ordinary, and spontaneous transitions
LLMs and Fuzzing in Tandem: A New Approach to Automatically Generating Weakest Preconditions
- initial contract generation β prompt an LLM to emit a Boolean precondition checker alongside unchanged program code
- validity-fuzzing β execute randomly generated states satisfying a candidate and feed failures to a repair prompt
- weakness-fuzzing β search states rejected by a candidate that nevertheless execute successfully, then remove unnecessary conditions
- iterated fuzzing guidance β alternate bounded validity repair with weakness repair and retest after every change
StarMalloc: A Formally Verified, Concurrent, Performant, and Security-Oriented Memory Allocator
- layered separation logic β specify ownership, values, and thread safety with compositional predicates and contracts
- generic heap combinators β define reusable sequence, dependent-ownership, and refinement predicates, then instantiate them across data structures
- allocator invariant layers β tie slots, bitmaps, slabs, lists, size classes, arenas, and large-allocation maps into modular ownership contracts
- localized hardening proofs β add zeroing, quarantine, guard-page, and canary predicates without changing unrelated interfaces
- specification-guided extraction β implement to contracts, specialize static parameters by verified normalization, and extract to C behind explicit trust boundaries
SquirrelFS: Using the Rust Compiler to Check File-System Crash Consistency
- synchronous soft updates β make persistent updates durable in order and use a rename pointer to obtain crash-atomic rename
- dual typestate APIs β encode persistence and operation states in generic parameters and consume values across legal transitions
- ownership-enforced partial orders β use Rust ownership and typed function signatures to prevent out-of-order updates at compile time
- Alloy plus compiler checking β model bounded crash traces, compile typestate code, and use frame-condition checks to find design errors
- layered testing β combine xfstests and crash fuzzing for volatile and transition-body bugs outside typestate coverage
LLM-based Satisfiability Checking of String Requirements by Consistent Data and Checker Generation
- divide-and-conquer checker synthesis β split NL requirements, generate per-batch SMT/Python checkers, test soundness, and merge only sound batches
- declarative/imperative complement β use SMT for UNSAT and Python plus SMT for concrete SAT witnesses
- feedback verification loop β validate each LLM outcome, feed counterexamples and explanations back, and bound retries
- hybrid checker β combine imperative witness checking with declarative inconsistency checking
SqueezeBench: Saturation-Resilient Evaluation of Mathematical Capability
- two-sided function records: keep lower and upper computable bounds and accept replacements only with validity, non-regression, and strict-improvement proofs
- challenge/solution isolation: fix theorem statements in a trusted challenge and independently check untrusted definitions and proofs with an explicit axiom list
- anti-search admission gates: evaluate candidates over a bounded range and budget, reject hidden exhaustive search, and audit reports for larger-n search
- persistent agent records: use accepted verified versions as the next agentβs state and measure progress by record history rather than solved-problem count
Spectra: a specification language for reactive systems
- kernel translation β map a readable specification language to a small Boolean GR(1) kernel
- bounded-value encoding β compile enums and bounded arithmetic into Boolean variables with legality constraints
- reusable definitions and arrays β expand named expressions, types, and array fields into kernel declarations
- invariant and history translation β encode state invariants and PastLTL through initial/safety constraints and auxiliary state
- monitors and counters β model finite automata and bounded progress with translated state variables
- patterns, quantifiers, and imports β package temporal idioms, expand finite quantification, and reuse specification libraries
- realizability diagnosis β combine BDD synthesis with unrealizable cores, counter-strategies, repairs, and well-separation checks
LLM-Based Invariant Testing for Software Functional Bugs
- API-context extraction β parse headers into canonical structured signatures and project rules
- sequence generate-repair β compile and sandbox straight-line API sequences, then perform one diagnostic repair
- n-gram adaptive scheduling β reward successful API n-grams and sample with condensed, exploration-aware probabilities
- invariant knowledge base β reconcile Daikon candidates, documentation-derived contracts, and manual curation
- chunk-invariant reasoning β insert documentation-grounded assertions at semantic chunk boundaries with up to five repairs
- high-confidence candidate review β report persistent assertion failures for developer confirmation rather than claiming autonomous detection
SpecMind: Cognitively Inspired, Interactive Multi-Turn Framework for Postcondition Inference
- explorationβsubmission decoupling β probe assertions with feedback while updating the final candidate only on submitted postconditions
- structured history prompting β carry prior candidates, diagnostics, and scores into each new generation
- test/mutant completeness feedback β measure correctness on known executions and discriminative power on mutated implementations
- autonomous best-so-far stopping β stop at a threshold or budget and return the strongest submitted candidate
- enhanced hard-case feedback β provide an uncaught mutant and extra attempts when binary feedback stalls
Specifying verified x86 software from scratch
- minimal trusted bootstrap: place the verifier binary and correctness theorem in a small, inspectable trust base
- endpoint ISA slicing: specify only the instructions, memory rules, and syscalls exercised by a target binary
- predicate-based weak-logic specification: replace missing types and pattern matching with explicit relations and preservation theorems
- stream-and-ELF abstraction: model IO as mathematical byte streams and simplify ELF to the headers needed by the endpoint
LLM-based Framework for Generating and Verifying Parallel DEVS Statecharts
- independent fact and condition extraction β generate model facts and atomic behavioral obligations separately from one system description
- satisfiability gate β reject contradictory facts or obligations before semantic comparison
- segregated entailment β check each obligation against facts in its matching behavior category
- controlled correction β feed only failed obligations into targeted modification prompts and retain the best verified iteration
- schema-constrained generation β generate executable statecharts from corrected facts under an explicit grammar
- translated-model checking β validate deadlock and reachability on a manually mapped timed model
- element-level correctness score β average expert binary checks for required transitions, guards, actions, messages, and timing
Specifying concurrent programs in separation logic: morphisms and simulations
- resource-typed concurrency β bound interference by putting allowed atomic transitions in a Hoare specification
- morphism-based proof reuse β reinterpret a verified program under a new resource through state and transition maps
- simulation invariant β preserve a commuting diagram so every source step has a target step
- coupled ownership refinement β derive exclusive locks by coupling lock transitions to heap-transfer transitions
- indexed morphism family β pass omitted ghost state as an index to express quiescent or private execution
LLM-Based FORM Code Generation with Verification-Driven Fine-Tuning
- verifier-oracle data curation β generate domain-code candidates and retain only programs passing syntax, execution, non-trivial-output, and independent consistency checks
- feature-complexity stratification β cover a DSL by feature Γ difficulty cells before generation
- execution-versus-output evaluation β report both runnable rate and strict expected-output match on adjudicable tasks
- parameter-efficient specialization β adapt a quantized frozen model with low-rank adapters while measuring held-out domain and general capability
Specifying AI-SDLC Processes: A Protocol Language for Human-Agent Boundaries
- protocol DSL β encode modes, roles, validators, policies, and constraints as an executable process artifact
- well-formedness gates β reject tool overlap, duplicate roles, uncovered dispatches, incomplete policies, and malformed constraints
- token-gated dispatch β issue signed single-use tokens after validation and require them for execution
- bounded recovery β spawn same-protocol subtasks for warnings and revalidate before parent progress
- invariant enforcement β maintain token, capability, blocker, audit, and session invariants under explicit assumptions
- policy trade-off analysis β quantify false-pass and false-block behavior with denominator-labeled simulations
- capability-aware evaluation β measure process gains and identify the base-agent capability floor
Specifying a Realistic File System
- shallow nondeterministic monad β model each operation as a set of outcomes and compose with bind and union
- abstract inode invariants β specify VFS-visible maps and preserve root, link, size, and acyclicity conditions
- pending-update state separation β keep medium state and ordered in-memory transformations distinct
- nondeterministic fsync faults β apply an arbitrary update prefix and specify success, error, and read-only outcomes
LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation
- diverse proof-state exploration β force curated low-probability tactics, execute them in Lean, and retain valid transitions
- branch pruning with finish signal β keep high-score plus random branches and shorten exploration after distinct proof finishes
- synthetic-data post-processing β deduplicate, decontaminate against benchmarks, and reject invalid transitions
- adaptive beam decay β reduce beam from Bmax to Bmin as expansion depth grows
- resilient verifier interaction β track states, recover timed-out REPL sessions, and prune batches of erroneous children
Specify What? Enhancing Neural Specification Synthesis by Symbolic Methods
- few-shot contract prompting: provide code, valid annotation examples, and output constraints to elicit ACSL contracts
- PathCrawler context injection: add concolic input/output pairs so the LLM can infer higher-level behavior patterns
- EVA safety context injection: add abstract value ranges and runtime alarms to steer preconditions toward overflow and memory safety
- intent-versus-implementation mutation testing: compare specifications generated for controlled buggy programs against intended behavior
- human qualitative contract audit: inspect annotation abstraction, over-approximation, tunnel vision, and intent alignment when no gold specification exists
Specification-Guided Synthesis of Deadlock-Free Communication Protocol Refinements with Large Language Models
- MPST-conditioned subtype training β fine-tune on typed supertype/subtype pairs with explicit transformation grammar
- token-level derivative filtering β prune prefixes that cannot complete to a valid asynchronous subtype
- widening-based final checking β verify complete session trees with coinductive derivatives and recursion widening
- variance and reordering refinement β apply covariance, contravariance, and independent send/receive anticipation
LLM Assisted Coding with Metamorphic Specification Mutation Agent
- specification MR mutation: rewrite task descriptions into semantically equivalent variants before LLM generation, then filter and regenerate invalid variants
- MR-guided test augmentation: transform oracle tests through swapping, permutation, algebraic, subset, and incremental relations and measure coverage
- reviewer-gated generation: use similarity or oracle execution to accept only validated mutations before code or tests are generated
- selective MR control: measure each relation independently and retain relations that improve correctness without semantic distortion
Specification-Guided Repair of Arithmetic Errors in Dafny Programs using LLMs
- specification-guided Hoare localization: propagate states, encode state-to-specification entailments as verifier lemmas, and rank statements whose entailments fail
- verifier-in-the-loop LLM repair: prompt an LLM for a marked-line replacement, insert it, verify it, and retry at most three times before moving on
- strict output prompting: assign a formal-methods role, provide full marked context, cap output length, and require only the replacement line
- mutation-based verification evaluation: filter verified benchmark programs, inject arithmetic operator/coefficient/variable mutations, and score localization and verified repair by explicit denominators
Specification-first convergence with an AI coding agent: a case study of dismantling a core architectural invariant across 189 files in a 717k-line codebase with no test oracle and no human code review
- frozen specification β create and freeze a behavioral reference before implementation when no oracle exists
- refinement audit loop β repeatedly compare the specification with source until a defined clean-pass rule
- atomic implementation feedback β implement in small steps and compile/test after each step
- frozen-reference verification β audit generated code against the unchanged specification until two clean passes
LLM-as-an-Improver: Turning Verification into Better Candidates
- evidence-graph verification: organize task, candidate, tests, and source identifiers before criterion-level judgments
- uncertainty-triggered repair: generate alternatives when all candidate scores are low or hard obligations remain unknown
- three-role VRR generation: repair the winner, repair the runner-up, and solve from a new approach
- candidate screening: require complete, compiling, public-test-passing, nonduplicate artifacts before reselection
- verify-repair-reselect: reverify screened alternatives with the original criteria and choose from the expanded set
Specification Decomposition for Reactive Synthesis
- modular synthesis β partition outputs, synthesize independent subspecifications, and compose compatible implementations
- counterstrategy extension β lift a failing componentβs strategy to the full variable set with arbitrary outside inputs
- NBA projection decomposition β project an NBA onto complementary output subsets and recurse when language containment holds
- LTL dependency decomposition β rewrite conjuncts, connect outputs that co-occur, and synthesize connected components
- assumption dropping β prove negated assumptions unrealizable before removing irrelevant assumptions from guarantees
- multi-conjunct dependency handling β include transitive dependencies from other assume-guarantee conjuncts when splitting
Spark-Prover-X1: Formal Theorem Proving Through Diverse Data Training
- diverse multi-task pre-training β mix formal, informal, tactic, state, translation, and decomposition data before specialization
- CoT-augmented state prediction β extract assistant states around each tactic, predict the next state with reasoning, and filter against ground truth
- verified subgoal decomposition β turn unsolved theorems into checked intermediate statements and train on the resulting bridges
- expert iteration β use compiler-checked outputs from formalizer and prover models to build successive SFT datasets
- compiler-rewarded GRPO β train on hard problems with binary proof-assistant rewards, KL control, and length filtering
LLM-as-a-Verifier: A General-Purpose Verification Framework
- score-token expectation β average the modelβs probability-weighted ordered scores instead of an argmax judge
- repeated verification β average independent evaluations to reduce variance while reporting the unchanged bias
- criteria decomposition β score specification, output, and error criteria separately and ensemble them
- probabilistic pivot tournament β use a ring pass and k pivots to reduce N-candidate comparisons from quadratic to O(Nk)
- checker-gated ranking β use model scores for triage but require the formal checker for acceptance
Source-Level Bitwise Branching for Temporal Verification
- guarded bitwise rewriting β replace a bitvector expression by a linear integer expression only under a matched arithmetic guard, retaining a fallback path
- relational weakening β derive linear transition constraints for bitvector comparisons, assumptions, and assignments
- source-level branching abstraction β insert guarded integer paths before an existing termination or LTL verifier
- rule validation with SMT β prove each rewrite or weakening ruleβs arithmetic relation with Z3 before deploying it
Sound State Encodings in Translational Separation Logic Verifiers
- relational state encoding β model one source state to many IVL states when representation is nondeterministic
- homomorphic encoding check β prove state composition is preserved by translation
- backward satisfiability β require every usable IVL assertion witness to have a source-state witness
- spurious-split audit β test inhale/exhale and framing for IVL states outside the encoding image
- mechanized front-end soundness β discharge encoding, assertion, statement, and control-flow obligations in Isabelle/HOL
LLM2SMT: Building an SMT Solver with Zero Human-Written Code
- specification-first agent scaffolding: constrain language, interfaces, builds, tests, and resource limits before coding
- differential fuzzing: compare candidate and reference solvers on generated inputs
- delta-debugging: minimize a mismatch and feed the concrete counterexample to repair
- theory-aware preprocessing: derive shared congruence consequences before DPLL(T) search
- model certification: re-encode SAT models and validate them with an independent solver
- proof-certificate export: split theory lemmas from propositional closure and check each in a proof assistant
- regression discipline: commit each fix with a reproducing test and bisect later changes
Sound Compilation of Reals
- real specification compilation: write ideal real code with uncertainty and precision contracts, then generate and prove floating-point obligations
- VC approximation pipeline: solve a full VC first, then inline postconditions and refine sound range/error over-approximations
- modular postcondition reuse: verify callees once and use their postconditions at call sites
- conditional error analysis: propagate ideal and finite-precision paths separately and merge bounds
SorryDB: Can AI Provers Complete Real-World Lean Theorems?
- living repository benchmark β sample recent unfinished obligations across maintained projects and refresh immutable snapshots
- reproducible obligation extraction β pin commits, build environments, source spans, goals, and deduplicate identical obligations
- hole-removal verification β compile the replacement, remove exactly one hole, and ensure all other goals are unchanged
- deterministic tactic baseline β run cheap fixed automation and library search before model inference
- compiler-feedback self-correction β iterate proposal, verifier diagnostics, and repair under a fixed attempt budget
- agentic repository search β combine a proposer, search tool, and deterministic reviewer while allowing direct local-definition proofs
- contamination and longitudinal governance β use time cutoffs, goal hashes, allowlists, and BradleyβTerry/Elo tracking
Sorries Are Not the Hard Part: An Expert-Review Case Study of a Semi-Autonomous Formalization
- post-proof expert review β inspect definitions, theorem surfaces, namespaces, and APIs after kernel success
- abstraction-level definition design β choose representations and interfaces that avoid downstream transport and unfolding
- principled proof API construction β replace repeated unfolding with a small set of reusable properties and lemmas
- proof decomposition under resource limits β split expensive proofs and cache instances instead of raising global budgets
- bounded external lemma assistance β use external provers for local suggestions while retaining the main kernel as oracle
Liquid Information Flow Control
- liquid policy types β express data-dependent confidentiality as decidable refinements and TIO input/output labels
- monitor-and-simulation proof β prove noninterference for an instrumented semantics, then show well-typed source execution simulates it
- CHC leak localization β solve constrained Horn clauses, map failed queries to source inputs, and infer weakest expected labels
- guarded patch synthesis β enumerate redaction branches, abduce guards, synthesize safe monadic checks, and verify the combined conditional
- safe downgrading β lower a boolean testβs label only when inaccessible executions force a constant safe result
Solving non-linear Horn clauses using a linear Horn clause solver
- tree-dimension analysis β measure derivation branching and generate (P^{β€k}) under-approximations
- dimension-bounded CHC transformation β split predicates into exact and at-most dimension variants with Ξ΅-clauses
- partial-evaluation linearisation β specialize a bounded Horn interpreter into linear clauses
- stack-index control β bound interpreter goals by ((iβ1)k+1) and permute bodies by dimension
- model-reuse abstraction refinement β reuse lower-bound solutions and discard facts implicated by spurious counterexamples
- linear-solver black-box contract β require terminating linear solvers to return sound models or witnesses
- source-aware counterexample handling β distinguish traces using approximate facts from real counterexamples
- fixed-denominator evaluation β report solved, unknown, iterations, and time over an explicit benchmark set
Solving non-linear Horn clauses using a linear solver
- tree-dimension under-approximation β split CHC predicates by derivation-tree dimension so each bounded problem is linear
- incremental linear solving β solve dimensions from zero upward with a sound linear Horn oracle
- inductive-model check β remove dimension indices and test each candidate against the original non-linear clauses
- model-guided linearization β substitute previous constrained facts into the next dimension to keep its clauses linear
- bounded Horn verification β stop with a sound model, or report unknown when resources or the linear oracle fail
Solving Horn Clauses on Inductive Data Types Without Induction
- CHC translation: encode terminating functional programs and negated properties as satisfiability goals
- defineβfoldβunfoldβreplace: abstract shared inductive data, unfold structurally, then exploit functional predicates
- slice termination test: require disjoint quasi-descending slices and reject sharing cycles
- constrained EC: generalize LIA/Bool constraints with widening while folding definitions
- solver handoff: send the basic-type CHCs to Z3/Spacer after transformation
Linear Invariant Generation Using Non-linear Constraint Solving
- cutpoint path encoding β choose a cutset, compose basic paths, and encode initiation and consecution for an unknown linear assertion
- Farkas coefficient synthesis β replace each linear implication with multiplier equations and nonnegative constraints
- nonlinear constraint solving β eliminate multiplier variables with quantifier elimination, factorization, roots, or CLP methods
- restriction heuristics β factor products and set selected coefficients to zero when the full result is too large
- post-image validation β compute successor assertions and account explicitly for omitted array or continuous dynamics
Solving Formal Math Problems by Decomposition and Iterative Reflection
- iterative proof repair β regenerate a formal candidate from verifier diagnostics, failed code, and retrieved library facts until it verifies or a fixed budget expires
- reflective decomposition β turn an informal plan into a DSL sketch, extract subgoals, solve them independently, and regenerate the sketch from unsolved-goal feedback
- proof consolidation β substitute verified sub-proofs into the decomposition sketch and emit one checked proof
- retrieval-augmented repair β use an erroneous identifier or kernel error to retrieve the exact theorem/definition name and signature for the next attempt
Solver-Aided Constant-Time Circuit Verification
- product-circuit relational verification β compare two executions with liveness bits and Horn invariants to prove constant-time sinks
- counterexample localization β use solver timing artifacts and causal dependency graphs to isolate earliest root causes
- ILP secrecy-assumption synthesis β derive minimal source-near public/flush assumptions from blame constraints
- modular summaries β replace repeated module bodies with proved timing-interface summaries
Linear Integer Arithmetic Revisited
- weak Cooper elimination: replace an unguarded integer variable by guarded resolvents and a gcd divisibility condition
- CombDivs: combine multiple divisibility constraints with gcd and Bezout coefficients while preserving equivalence
- CUTSAT++ strong conflict resolution: lazily add Cooper resolvents under a two-layer variable-order strategy to obtain soundness, completeness, and termination
Solvable Tuple Patterns and Their Applications to Program Verification
- positive-only STP/CSTP inference β learn list relations from execution tuples and refine with CHC counterexamples
- least CSTP CHC solving β compute a least shape model for definite clauses and test goal clauses
- shape-plus-length combination β conjoin STP list structure with integer length invariants from an arithmetic CHC solver
- staged CHoCoL solving β try list, set/multiset, length, CSTP, and symbolic-refutation modes under resource limits
Software Verification for Weak Memory via Program Transformation
- execution-graph weak-memory model β represent events with
po,ws,rf,fr, and architecture-specific safe relations - buffer-and-queue simulation β split each event into delayed and flushed parts and run the resulting program under SC
- critical-cycle reduction β select one relaxed delay pair per critical cycle to preserve sound weak-memory behaviours
- source instrumentation β compute abstract cycles and inject buffers, queues, nondeterministic choices, and overflow assertions
- cross-tool validation β feed transformed C to multiple SC analyzers and validate against 555 litmus tests plus PostgreSQL
Linear Haskell: practical linearity in a higher-order polymorphic language
- linear arrows and multiplicity contexts β scale and add usage contexts so one arrow tracks exact resource consumption
- consuming mutable-array API β allocate, thread, and freeze a unique array without
unsafeFreeze - linear I/O and typestate β encode file/socket protocols as consuming transitions and phantom states
- indexed serialized buffers β make each read/write consume a type-level field obligation before finishing
- multiplicity-polymorphic libraries β write one
map,foldl, or composition operator usable by linear and unrestricted clients
Software Verification: 10th Comparative Evaluation (SV-COMP 2021)
- versioned benchmark tasks β freeze programs, properties, categories, and task-format versions before evaluation
- witness linter β reject malformed proof artifacts before semantic validation
- independent witness validation β confirm verifier results with multiple replay tools and report denominators
- reproducible resource control β pin machines, limits, versions, logs, hashes, and energy measurement
- penalized scoring β reward confirmed results, penalize false alarms and wrong proofs, and score unknowns as zero
- alternative rankings β expose correctness rate and energy per score point alongside aggregate quality
Software Model-Checking as Cyclic-Proof Search
- cyclic-proof search β encode safety as a coinductive sequent and close repeated sequents with links satisfying a global trace condition
- symbolic execution rule β check the current assertion, compute a symbolic post-state, and prove the successor safe-state sequent
- bounded model checking β apply symbolic execution k times and query the assertion at every depth
- forward criterion β combine bounded safety with emptiness of the next-distance state set for an unbounded result
- predicate abstraction β choose the strongest transition-preserved predicate from a finite conjunction-closed set
- Impact interpolation β start with β€, refine invalid cut formulas using interpolants, and link repeated entailments
- maximally conservative refinement β preserve the longest prefix of existing formulas while strengthening the failing suffix
- model-based PDR β block concrete bad-successor models recursively, then interpolate a frame after the counterexample loop ends
- model-based projection β replace quantified bad-successor enumeration with finite-image projections over stable variables, yielding a terminating PDR variant
SMT-Based Translation Validation for Machine Learning Compiler
- per-run translation validation: encode source and target final states and ask an SMT solver for a refinement counterexample
- finite FP over-approximation: use small bit-vectors and property-constrained UFs so abstraction proofs imply concrete correctness
- staged abstraction refinement: escalate from independent UFs to decomposed and unrolled arithmetic after failure or timeout
- hash reduction encoding: replace fixed-length multiset equality with UF/bit-vector hash constraints
Linear Effects, Exceptions, and Resource Safety
- allocation state monad β model resources as a linear free-list transformer and prove final-state preservation
- ordered context accounting β track resource lists in ordered typing contexts to obtain exact LIFO preservation
- typed counterexample β test language extensions by constructing a well-typed term that violates the target invariant
- preservation and progress β establish machine typing safety before resource-specific invariants
- destructor and exception translation β compile cleanup and error paths into a linear core with established theorems
- effectful move β represent ownership reordering as an explicit stateful operation
- presheaf semantics β model ordered resource lists to validate admissible rules and sound reduction
SMT-based Model Checking for Recursive Programs
- dual procedure summaries β maintain under-approximating reachability facts and over-approximating summaries by call-stack bound
- interpolation summary inference β derive a visible-variable procedure fact from an unsatisfiable bounded query
- path-guided recursive refinement β split a potential counterexample at a callee and recursively query the smaller procedure
- model-based projection β replace existential quantification with finite model-selected quantifier-free under-approximations
- inductive summary checking β test bounded summaries against every procedure body and promote inductive facts to an unbounded safety proof
Smart Contract Synthesis Modulo Hyperproperties
- HyperTSL modeling: index TSL predicates, functions, and updates by quantified executions to state relational contract requirements
- HyperLTL abstraction: replace terms by atomic propositions and add one-update-per-cell constraints for a sound universal synthesis approximation
- existential satisfiability reduction: encode witness executions and strategy consistency to reduce realizability to TSL/LTL satisfiability
- pseudo-hyperproperty detection: compare a multi-trace formula with its single-trace collapse before invoking hyperproperty synthesis
- repair-like pruning: enumerate deterministic refinements of a winning-region Mealy machine and model-check each relational candidate
Linear effects, exceptions, and resource safety: a Curry-Howard correspondence for destructors
- ordered resource-list invariant β track a list of live resources in typing contexts and prove every reduction preserves it, yielding exact cleanup order
- permutation resource safety β permit exchange and prove final resources equal the initial inventory modulo a permutation
- destructor-equipped exception translation β translate exception paths through type-indexed destructors and context unwinding, then inherit target resource theorems
- effectful move semantics β model ownership moves as observable exchanges whose cleanup order can differ under failure
Smart Casual Verification of the Confidential Consortium Framework
- dual-level specifications: separate node-protocol behavior from client-visible histories and check each with model checking
- trace validation: constrain specification actions with implementation trace events and require a nonempty behavior intersection
- action composition and stuttering: reconcile mismatched atomicity, omitted faults, and extra implementation events
- CI integration: rerun specification checks and trace validation as the production code and protocol evolve
SLING: Using Dynamic Analysis to Infer Program Invariants in Separation Logic
- debugger trace collection β capture stack, heap, and return-value snapshots at entries, exits, and loop locations
- boundary-based heap splitting β partition each pointerβs reachable region and intersect stable boundary variables across traces
- predicate-instance enumeration β instantiate inductive and singleton heap predicates, type-filter arguments, and SMT-check candidates
- residual and witness propagation β retain residual heaps and existential address mappings to refine later variables and infer aliases
- pure-equality inference β derive universally observed equalities and combine them with disjoint shape formulas
- frame-rule validation β compare framed residual heaps across entry and exit models before accepting a specification
Limits to Verification and Validation of Agentic Behavior
- history-based deontology β define I/O histories, Good set
G, viability, and policy propertyVbefore attempting verification - non-computability audit β use the Good/Bad policy construction and Riceβs theorem to detect when general policy checking cannot be automated
- deontological governor β verify a separate last-step output filter and require a conforming fallback action
- regular partial-history specification β encode relevant context with finite-state or regular-language rules to keep the deontology decidable
- intention/action boundary audit β enumerate semantic links from logical intentions to sensors, plans, actuators, and consequences and mark unproved links as assumptions
SLAyer: Memory Safety for Systems-Level Code
- object-level separation heap: model disjoint structured objects with points-to and list-segment predicates
- subtraction/frame inference: split a required heap fragment from a formula and carry the remainder through symbolic execution
- sequent proof search with Cut: use inductive spatial axioms and pure SMT leaves to localize heap reasoning
- interprocedural summaries: relate procedure-entry and procedure-exit heaps with quantified ghost variables
- guarded abstraction: weaken formulas into loop invariants using reachability-guarded rewrite rules and nested-disjunction hoisting
- closed OS-model analysis: link driver code to an environment model before proving memory safety
SkillEvoLean: Mutation-enhanced skill evolution for Lean provers
- progressive position-tree refinement: compare successful and failed trajectories and patch only the relevant skill component
- concept-guided semantic mutation: perturb abstract proof concepts, realize coherent candidate skills, and retain only verifier-improving candidates
- retention and forgetting audit: compare verified-problem sets across checkpoints with disjoint tests and frozen controls
Size Relationships in Abstract Cyclic Entailment Systems
- cyclic trace soundness: attach ordinal progress to trace pairs and require infinitely progressing left traces on every infinite path
- maximal trace ordering: compare every positive maximal consequent trace with a sufficiently progressing antecedent trace
- descending model property: construct premise models whose ordinal sizes satisfy edge-wise antecedent and consequent bounds
- weighted-automata reduction: encode trace progress as weighted language containment and decide it under finite ambiguity
- finite-progress restrictions: enforce finitely progressing, dynamic, and balanced cycles to obtain a finite truncation bound
LIGHTYEAR: Using Modularity to Scale BGP Control Plane Verification
- assume-guarantee safety checks β prove each import, export, and originate operation maps a source invariant to a destination invariant
- ghost attributes β add proof-only route fields that record provenance or roles for richer properties
- path-based liveness β specify a good-route predicate at each hop and prove propagation along a chosen path
- no-interference checks β prove competing routes with the same prefix also satisfy the good-route predicate
- counterexample-guided refinement β use concrete failed local checks to repair invariants and configuration
- modular scaling β keep each solver obligation local so checks grow linearly and can run independently
Simulating reachability using first-order logic with applications to verification of linked data structures
- first-order transitive-closure axiomatization: replace
TC[f]withf_tcand prove sound closure and induction lemmas - coloring axioms: use NoExit, GoOut, and NewStart colors to prove path absence and path-through-region facts
- directed color search: enumerate root, reachability, and Boolean-combination colors in phased theorem-prover search
- unit-edge reachability update: maintain precise closure formulas for edge insertion and restricted acyclic edge removal
Simplifying Safety Proofs with Forward-Backward Reasoning and Prophecy
- incremental forward invariants β prove simple predicates one at a time and use earlier predicates as assumptions
- backward-inductive invariants β prove predicates on the time-reversed system from bad states, then combine them with forward steps
- prophecy witnesses β add a sound ghost witness for an existential property and reconstruct a witness-free safe invariant
- prophecy verification conditions β use
Proph-FwdorProph-Selectside conditions to avoid searching arbitrary soundness proofs - invariant reconstruction β translate an incremental proof into one safe inductive invariant with bounded Boolean and quantifier complexity
LightDP: towards automating differential privacy proofs
- relational distance types β assign each value a distance between adjacent executions, including state-dependent distances for branch-sensitive randomness
- type-directed cost transformation β replace random draws with
havocplus explicit privacy-budget increments and prove a deterministic bound - dependent inference with MaxSMT β infer distance annotations from typing constraints and minimize the resulting privacy-cost expression
- alignment for categorical randomness β map uniform samples across executions and charge
βlog(d+1)while proving branch agreement
Simplifying proofs of linearisability using layers of abstraction
- layered refinement: prove fine operations refine coarse atomic ones, then prove the abstraction linearisable
- interval semantics: reason over complete invocation-to-response intervals and streams, with chop and iteration
- fractional permissions: enforce exclusive writes and model environment interference compositionally
- apparent-state evaluation: allow nondeterministic field-read order for fine-grained expressions
Simplifying Formal Proof-Generating Models with ChatGPT and Basic Searching Techniques
- checker-in-the-loop tactic search: generate one or many tactics, submit each to a proof assistant, and expand only checked states
- breadth-oriented b-search: sample 64 tactics per state, deduplicate, and explore valid successors
- restart d-search: try one greedy tactic path, restart from the root after failure, and vary attempts
- Bad(O) failure memory: key failed tactics by proof state so restarts avoid repeated dead ends
- complementary search union: combine breadth and restart searches, count overlap, and retain any checked proof
- pass-rate accounting: report numerator, denominator, model, Lean version, temperature, attempts, and tactic budget together
Leveraging LLMs for Formal Software Requirements: Challenges and Prospects
- local assertion-first synthesis: generate and verify narrow assertions before composing whole contracts
- verifier-in-the-loop refinement: feed solver failures and counterexamples back into iterative generation
- ontology and retrieval grounding: provide domain models and prior artefacts through a tool-neutral representation
- human traceability review: review semantic alignment and link requirements, code, specifications, tests, and results
- symbolic execution context: use path predicates and I/O examples to guide specifications while separating coverage from proof
Simple, light, yet formally verified, global common subexpression elimination and loop-invariant code motion
- certified unrolling β use an untrusted graph duplicator plus a verified reverse-map checker and lock-step simulation
- global CSE invariants β compute available-expression sets, verify inductiveness, and replace equivalent expressions with moves
- conservative memory transfer β invalidate memory equalities on stores unless alias analysis proves non-overlap
- proof-preserving cleanup β separately verify self-move removal and dead-code elimination
- hash-consed proof data β accelerate equality and set operations while isolating pointer-equality assumptions
- compositional LICM β obtain loop-invariant motion by composing independently proved unrolling and CSE passes
Show Me The Money: An Exercise in Proof-Driven Software Understanding
- checker-guided autoformalization β iteratively repair an LLM-generated model against PVS typechecker diagnostics
- modular property proofs β split a legacy function into theories and prove bounded arithmetic lemmas with solver assistance
- symbolic unit proofs β wrap production code in a harness with symbolic inputs, assumptions, calls, and postconditions
- counterexample feedback β turn an unprovable model obligation into a concrete executable trace for debugging
- proof-artifact regression β preserve models, lemmas, and harnesses as rerunnable interfaces for future code changes
- assumption boundary review β distinguish a local functionβs proved behavior from upstream reachability assumptions
Leveraging Automated Unit Tests for Unsupervised Code Translation
- evolutionary test generation: evolve inputs with crossover and mutation against coverage or mutation fitness
- mutation-score filtering: retain suites only when killed-mutant ratio exceeds a threshold and assert count is adequate
- multilingual semantic filter: translate tests with inputs, outputs, and side effects, accepting candidates that pass all tests
- offline checker self-training: fine-tune on filtered pairs, regenerate with the best checkpoint, and iterate to validation convergence
- online cache self-training: generate verified examples during training while sampling and aging a cache to prevent collapse
- CA@N evaluation: count a task correct when any of the top N candidates passes all checker cases
Sharper and Simpler Nonlinear Interpolants for Program Verification
- strict-cone interpolation: derive sharp polynomial interpolants from Positivstellensatz certificates with strict inequalities
- SDP certificate search: encode sum-of-squares and shared-variable conditions as semidefinite constraints
- rounding-validation loop: simplify numerical candidates with continued fractions and accept only symbolic validation
Shared Contract-Obedient Endpoints
- message-footprint ownership β transfer heap cells or endpoints with each channel message
- finite-state channel contracts β check dual protocol transitions, reception labels, and final-state closure
- fractional endpoint permissions β permit shared reads and self-loop communication while reserving state changes for full ownership
- reflexive ownership transfer β grant an endpointβs contract-state ownership in the receive post-state via the message footprint
- contract-aware proof rules β combine pseudo-state transitions, send/receive footprints, and exhaustive switches
- well-foundedness side condition β restrict endpoint transfer so safety includes memory-leak control
LEVER: Adaptive Cost-Aware Proof Search Over AND/OR Graphs
- AND/OR proof graph β represent alternative decompositions and conjunctive subgoals with min-at-OR and sum-at-AND backup
- adaptive redraw search β select, expand, and backpropagate stochastic LLM decompositions under a budget
- learned cost-to-go β predict open-goal cost bins and update priors with realized expansion costs
- weighted proof objective β combine remaining computation with additive length, purity, or repository-specific metrics
- subgoal-local agents β run each obligation in a compact local context with compiler and library tools
- quality-aware verification β enforce verifier correctness while optimizing measurable proof quality during construction
Shape Analysis via Second-Order Bi-Abduction
- second-order bi-abduction β infer relational heap assumptions and frame residues while verifying with unknown predicates
- guarded fold/unfold β use #-annotated parameters and heap guards to control aliases and preserve back-pointer context
- relational predicate synthesis β derive disjoint preconditions and disjunctive postconditions from collected assumptions
- predicate normalization β eliminate dangling structure and unused parameters, reuse equivalent definitions, and split predicates
- modular shape inference β synthesize per-method memory-safety contracts and compose them through verified calls
Session Types for the Transport Layer: Towards an Implementation of TCP
- continuation session types β encode peer, message, and next-state parameters so channel operations consume a legal protocol token
- readable recursive macros β expand mathematical session notation into nested Rust action types
- binary-tree branch encoding β represent arbitrary offer arity through recursively nested two-way choices
- indirection for recursive protocols β use reference or
Boxindirection to give recursive session states finite size - typed TCP state machine β map handshake, data, retransmission, and close transitions to continuation types
- virtual timeout branch β model unavailable type-level timers as explicit message branches with queue-dependent guards
- trace and fault interoperability testing β combine netcat, Scapy, netem, packet capture, and expected output against Linux TCP
Let the Library Speak: Self-Advertised Method Selection for Formal Proving
- method contracts β store a methodβs prerequisites, target, action, checked scaffold, and residual obligations as reusable selection and execution records
- self-advertisement with commitment gate β ask every method how it applies, then demote proposals lacking concrete targets, actions, or evidence
- pairwise runoff β compare the leading proposals directly when rank one matters more than shortlist coverage
- applicability metrics β evaluate retrieval with hit@k and recall@k against fixed, human-checked method labels and separate this from proof completion
Semi-Autonomous Formalization of the Vlasov-Maxwell-Landau Equilibrium
- natural-language proof blueprint β resolve and check a complete argument before generating formal code
- abstract/concrete split β prove the argument against a domain interface and instantiate it separately
- hypothesis discipline and witness β keep only meaningful assumptions and prove they are satisfiable
- adversarial babysit loop β repeatedly critique, prove, check, clean, and log agent changes
- automated lemma falsification β submit small lemmas and use disprovals to repair statements
- singularity decomposition and definition audit β split local/complement estimates and expert-check overloaded definitions
Semi-Automated Modular Formal Verification of Critical Software: Liveness and Completeness Thresholds
- ghost signals: tie each busy-wait loop to proof-only signals with obligations and well-founded levels
- mutex and condition invariants: protect non-thread-safe shared state and maintain a signal-to-condition equivalence
- ranked signal sets: use finite event signals and decreasing levels to prove producer-consumer termination
- completeness thresholds: extract representative input subdomains from VCs so bounded memory proofs imply unbounded ones
- VC slicing: ignore separated VC conjuncts that do not mention the parameter whose threshold is being computed
- CT combinators: combine thresholds by union for sequential composition and guarded union for conditionals
Leroy and Blazy Were Right: Their Memory Model Soundness Proof is Automatable
- recursive lemma induction: mirror a recursive spec function in a terminating proof function
- assertion exposure: state solver-relevant intermediate facts explicitly and prove each assertion
- witness-returning lemmas: return existential witnesses and specify their required properties
- proof refactoring for replay: replace opaque interactive tactics with named auxiliary facts
- model extraction: parameterize undefined implementation choices before extracting executable code
Semantics for 2D Rasterization
- layered semantic modeling β separate abstract color/image algebra, functional layer terms, and imperative command transitions
- semantic rewrite proofs β prove optimized command patterns equivalent under explicit side conditions
- finite-state rewrite matching β implement each verified pattern as a linear scan with stack-aware matcher state
- trace translation validation β convert emitted optimization traces to formal terms and prove each adjacent step equivalent
- certificate-backed opacity and filter reasoning β expose blend, filter, and opacity assumptions as proof obligations before rewriting
Lemmanaid: Neuro-Symbolic Lemma Conjecturing
- template normalization β replace function symbols by shared typed holes while preserving logical structure and arity
- CSP hole filling β instantiate holes from current theory functions with forward checking over types and arities
- structured neural proposal β train an LLM to output templates from symbols, types, and definitions
- proof and counterexample filtering β classify candidates with prover, counterexample, and testing tools before retaining them
SemanticForge: Repository-Level Code Generation through Semantic Knowledge Graphs and Constraint Satisfaction
- dual static-dynamic graph β reconcile source structure with runtime traces into a queryable repository semantic graph
- neural graph-query planning β learn structured context queries with graph-aware REINFORCE rewards
- SMT-guided beam decoding β prune constraint-violating generation prefixes with incremental solver checks
- incremental semantic maintenance β update only impacted graph regions and lazily resolve cross-file references
Lemma Generation for Horn Clause Satisfiability: A Preliminary Study
- CHC property encoding β translate terminating functions and a negated universal property into false-headed constrained Horn clauses
- inductive-argument elimination β repeatedly define, fold, unfold, and replace until predicates have only basic-type arguments
- difference-predicate lemma generation β match unfolded and folding clauses, define a relation for mismatched outputs, replace, and fold in six steps
- auxiliary-query lemma generation β turn a no-output mismatch into an implication, eliminate negation, and prove the resulting false-headed queries
- solver model discharge β use Z3 satisfiability and its LIA model to establish the transformed clauses and check difference-predicate functionality
- soundness conditions β rely on total functional source relations, valid generated implications, and solver soundness; equisatisfiability additionally requires functional difference predicates
Semantic Prefix Oracles for LLM Decoding: Contracts and Differential Validation
- stable-contradiction semantic pruning β retain
Live/Satisfiedbranches and mask only branches whose semantic contradiction cannot be repaired by continuation - dead-end freedom conditions β establish surface productivity, type coverage, and left-to-right constraint flow before claiming every retained prefix has a witness
- tokenizer lifting β transfer character-level witness reachability to token sequences under exact spelling and vocabulary coverage
- differential prefix validation β compare every oracle prefix verdict with independent production compilers and report finite-cohort denominators
- semantic-versus-syntactic ablation β isolate the effect of semantic constraints with matched parser, sampler, tokenizer, and surface grammar settings
Self-Trained Verification for Training- and Test-Time Self-Improvement
- self-trained verification: distill reference-conditioned verdict and feedback into an on-policy student that works without references
- verifier-guided refinement: iterate generator and verifier for up to a fixed round budget, using actionable feedback
- weak-to-strong verifier: train a smaller verifier on a larger generatorβs rollouts to reduce inference cost
- verifier-in-the-loop training: train the generator inside frozen-verifier episodes so diagnostic feedback improves first attempts
LEGO-Compiler: Enhancing Neural Compilation Through Translation Composability
- translation composability proof: define semantic-preserving block translation and prove concatenation preserves control and data flow
- bottom-up control-block decomposition: queue and recursively split recognized structures, rejecting unrecognized forms
- verifiable stepwise compilation: check renaming, layouts, allocation, CFG splitting, translation, and rebuild separately
- feedback-driven repair: retry failed assembly, runtime, or behavioral checks using diagnostic feedback
- LEGO scaling pattern: translate independently sized control blocks and rebuild them into a larger program
Self-Reports Are Not Verification
- dense environment grounding: grade every intermediate action externally so each self-report is checkable
- separate calibration and discrimination: test probability accuracy and ranking ability as different properties
- inherited-rationale replay: hold search state fixed and replace only the rationale to test causal influence
- selection audit: test selection differentials and parentβoffspring transmission before claiming optimization improves report quality
- independent report-off control: compare matched runs with reporting enabled and disabled; the paper found no detectable behavior change (25 runs per condition, Β§3, p. 4)
Self-Modifying Lean Proof Agents with Verifier-Grounded Benchmark Coevolution
- trusted mutable-workspace split β evolve workflows in a copied workspace while a fixed runtime alone verifies proofs and scores
- grounded proof-context contract β permit arbitrary context representations but require roots, mathematical nodes, valid edges, and verifier evidence
- mastery-throttled curriculum β replace mastered tasks laterally or with harder tasks only after level-specific mastery
- anchor recalibration β preserve cross-generation selection scores with champion re-evaluation and a difficulty coefficient
- verifier-feedback evolution β evolve bounded repair, lemma-name checking, and optional self-contained subgoal workflows under Lean checks
Learning to Reason in Large Theories without Imitation
- learned premise selection β score tactics and premises, pass top-k premises, and search candidate applications
- RL proof-data loop β continually train on proofs found by the current prover
- tf-idf exploration β retrieve lexical neighbors of a goal to seed premise exploration
- over-approximate premise lists β test bounded irrelevant premises for tactic tolerance
- greedy pruning β remove unnecessary premises and learn from them as hard negatives
- dropout retrieval β randomly mask goal-token features to diversify repeated exploration
Self-Authored Verification Is Unreliable in Heuristic Self-Improving Agents
- verifierβdeployment gap: compare agent-visible self-scores with hidden deployment truth, including peak-to-final retention
- sealed exogenous acceptance loop: compare candidate and incumbent on hidden task-native audits and expose only accept/reject
- conservative non-regression gate: use relative and absolute slack to reject clear regressions while permitting neutral edits
- leakage and retention ablations: test internal test constraints, score disclosure, proposal-matched runs, and peak-to-final loss
Selection Without Signal, Recovery Through Expression: A Measurement Study of Post-Hoc Falsification Operators for Frozen Small Code Models
- leakage-free matched-compute pool evaluation β generate one reproducible candidate pool, expose only prompt/public tests to each operator, and compare paired hidden-test outcomes against first-public-passer BoN
- exact do-no-harm McNemar accounting β record
b10harm andb01gain per task and require a predeclared zero-harm/effect floor - finite-sample do-no-harm bound β require
nβ₯ceil(log Ξ΄/log(1βΞ±))before treating zero observed harms as a distribution-free population certificate - execution-fingerprint consensus β execute deterministic probes, form per-probe pluralities, and select the public-passer with greatest agreement
- sound metamorphic veto β refute only clean violations of declared sound relations and retain candidates when probes crash or time out
- grouped learned verifier β train embedding or execution-feature classifiers with per-task separation and permutation checks, then rerank public-passers
- counterexample-guided repair β derive concrete disagreements from a candidate ensemble and regenerate with an explicit input/output counterexample
- version-space elimination β delete candidates refuted by sound probes, measure false-refutation rate, and fall back when no survivor remains
- conformal sound veto β override a modal cluster only after a sound violation and quantify veto harm with a Learn-then-Test bound
- M1 expression recovery β robustly extract a single function, align its name to public assertions, and retry only when standard extraction found no public passer
- ACE consensus early stop β stop sampling once fingerprint-cluster thresholds decide the modal candidate and report saving against full-budget consensus
- coverage-wall diagnostic β increase k on held-out hard tasks and distinguish missing correct candidates from selector failures before claiming post-hoc improvement
Learning to Prove Theorems by Learning to Generate Theorems
- proof-tree theorem synthesis: apply legal inference steps and graft existing subtrees to create new theorem/proof pairs
- imitation or adversarial generator training: learn tree selection and substitutions from human proofs or a continuous similarity reward
- synthetic prover augmentation: train backward proof search on verified synthetic traces alongside human traces
- trivial-step filtering: remove proof steps that invoke a hypothesis-free theorem without creating subgoals when training relevance selection
seL4: Formal verification of an OS kernel
- prototype-led refinement: use an executable intermediate model to align design, simulation, proof, and optimized implementation
- forward simulation: prove every concrete transition corresponds to an abstract transition under a preserved state relation
- invariant-centered design: classify and preserve memory, typing, data-structure, and algorithmic invariants
- verification-friendly concurrency: reduce proof state with event-based execution, controlled interrupt points, and explicit hardware models
Seed-Prover: Deep and Broad Reasoning for Automated Theorem Proving
- lemma-style proof pools β compile helper lemmas independently, cache their contracts and proofs, and reuse them in final theorems
- conjecture proposing β generate many candidate properties, verify them, and promote useful facts into a lemma pool
- formal-feedback RL β train with verifier rewards, formatting constraints, and varied failed-attempt contexts
- light iterative refinement β regenerate whole proofs from compiler feedback and self-summaries
- medium nested refinement β solve difficult child lemmas with inner searches and feed successes to the parent proof
- heavy broad search β verify thousands of conjectures, rank useful lemmas, and use them in a final deep search
- symbolic domain engine β combine a neural proposal model, explicit rule closure, and beam search for a restricted domain
Learning to Prove, Not Just to Answer: Reinforcement Learning from Formal Verification for Natural-Language Logical Reasoning
- structured proof actions: emit uniquely identified dependency, conclusion, and rule fields so each inference can be replayed
- machine-checkable formal verification: admit conclusions only after semantic UNSAT, rule-schema, and proof-progress checks
- answer-supporting dependency closure: traverse dependencies backward from the final answer and credit only supporting actions
- verification-aligned optimization: combine per-action verification and closure-masked outcome advantages at exact token spans
- rule-conditioned centering: normalize verification rewards by the moving average for each logical rule
- conditional proof-certificate soundness: derive answer entailment from acyclic trusted dependencies and discharged semantic obligations
- expanded rule coverage: add guarded unseen quantifier schemas and replay frozen outputs to test rule generalization
Seed-Prover 1.5: Mastering Undergraduate-Level Theorem Proving via Learning from Experience
- cached incremental lemma proving β verify one lemma at a time and reuse accepted declarations in the running context
- tool-integrated outcome RL β train interleaved reasoning and tool calls with +1 verified and β1 failed trajectories
- semantic premise retrieval β search a pinned formal library by meaning, inspect candidates, and verify an adapter
- rubric-trained lemma sketches β decompose a theorem into helper lemmas using formal structure plus a semantic quality reward
- recursive hierarchical TTS β retry unsolved or disproved leaves through natural-language proof, sketch, and formal verification
Security Tests as Executable Specifications for LLM Code Generation: Benefits, Trade-offs, and Coverage Limits
- joint secure outcome β require functional and security success on the same candidate and retain four partial states
- visible tests as specification β expose partitioned executable examples before generation under fixed budgets
- shared-candidate feedback β reuse byte-identical initial code to isolate repair from prompt effects
- structured failure selection β prioritize security and novel failures with typed bounded diagnostics
- oracle qualification β validate secure implementations, vulnerable mutants, stability, partition separation, and human review
- test-feedback overfitting rate β measure hidden joint failures among visible-joint passes with explicit counts
Learning to Plan by Looking Back: Hindsight Hierarchies for Training Reasoning Models
- bidirectional hindsight/foresight hierarchy β reconstruct detailed-to-coarse ideas from verified solutions and predict coarse-to-detailed plans before proof search
- verifier-guided hierarchy selection β sample candidate plans, score them with repeated verified solves, penalize poor compression, and retain only scores above a threshold
- anti-hindsight seed generation β ask a teacher to infer forward-usable plans while withholding later proof states and forbidding tactic replay
- balanced multi-role training β jointly train solver, foresight, and hindsight prompts with fixed per-role batch fractions
Secure Parsing and Serializing with Separation Logic Applied to CBOR, CDDL, and COSE
- specification/implementation combinators: define pure parser/serializer semantics and refine them into compositional low-level implementations
- separation-logic zero-copy parsing: split and recover ownership of valid subarrays while avoiding heap copies
- bounded writers: compute size limits and fail safely before insufficient buffers or arithmetic overflow
- constant-stack recursive validation: replace recursive execution with a counter loop proved against a recursive specification
- deterministic non-malleable encoding: validate, canonicalize integer widths, sort map keys, and prove unique byte representations
- CDDL elaboration and generation: reject ambiguous schemas, prove injective semantics, and emit verified parsers and serializers
SecGoal: A Benchmark for Extracting Formalizable Security Goals from Protocol Documents
- expert-vetted goal corpus: generate broad candidates, adjudicate them against protocol specifications, and split by protocol
- context-preserving extraction: remove boilerplate, chunk by section, extract structured goals, then aggregate and deduplicate
- randomized negative downsampling: control positive-to-negative examples to improve precision on sparse goals
- AIFG formalization: retrieve context and condition property templates on a supplied protocol flow and typed schema
Learning to Disprove: Formal Counterexample Generation with Large Language Models
- proof-aware hypothesis mutation β remove an essential hypothesis from a proved universal theorem and generate an existential counterexample problem
- two-stage formal counterexample generation β propose a witness informally, then prove the instantiated existential statement in Lean
- multi-reward witness training β reward both violation of the dropped hypothesis and proof of the mutated target
- proof-length reward shaping β downweight easy auxiliary proofs and regulate generated proof length with normalized policy optimization
- verifier-gated benchmark checking β count only counterexamples whose formal proofs pass the theorem prover
- counterexample-based specification audit β use witnesses to test autoformalized theorem statements and intermediate reasoning steps
Search, Verify and Feedback: Towards Next Generation Post-training Paradigm of Foundation Models via Verifier Engineering
- goal-conditioned verifier loop: model post-training as search, verification, and feedback under explicit goals
- linear and tree proof search: sample one path or maintain multiple branches, using verifier results to rank them
- verifier taxonomy and routing: choose form, granularity, source, and training regime per task
- verifier composition: combine program checks and learned checks with explicit conflict rules
- training-based feedback: turn verified responses, preferences, or rewards into parameter updates
- inference-based feedback: use verifier-guided selection or interactive repair without changing model parameters
Search-Based Multi-Trajectory Refinement for Safe C-to-Rust Translation with Large Language Models
- function-wise dependency ordering β translate a C2Rust baseline one function at a time in static dependency order
- MCTS trajectory search β explore multiple LLM refinement paths with UCT and reward backpropagation
- safety-aware reward β combine compile-score change with twice-weighted reduction of five unsafe constructs
- validator-driven repair β feed compiler and test errors into
Fixprompts and accept only passing children - heterogeneous LLM generation β diversify root and intermediate candidates with GPT-4o and DeepSeek V3
- context-rich prompting β provide call sites, globals, imports, and conversation history to each refinement
Learning to Discover Interesting Mathematics
- premise expansion unwraps dependency DAG edges and adds proof costs to create non-atomic training labels
- conditional value axioms train a proof-cost predictor with grounding, monotonicity, and Bellman composition rewards
- interestingness divides verified proof cost by conditional statement-description length
- GRPO rewards a conjecturer for valid, relevant statements with high estimated normalized proof cost
- iterative discovery proves candidate theorems, de-duplicates them, and promotes the highest interestingness into later premise sets
Scope Logic with Local Reasoning and Pre/Post-State Properties
- pre-state terms β use old-state expressions in postconditions and introduce them after structural sequential proofs by substitution
- memory-scope functions β derive recursive read-footprint functions and union them through terms and formulas
- scope-based local reasoning β preserve any predicate whose scope is disjoint from an over-approximation of modified cells
- pointer and allocation rules β require defined non-null targets, model old RHS values, and specify fresh initialized blocks
Scope Logic: Extending Hoare Logic for Pointer Program Verification
- typed pointer memory model β extend LPF with pointer, array, record, dereference, and layout symbols plus block rules
- memory-scope derivation β syntactically derive an MSF footprint from each recursive data-retrieve function
- alias-aware assignment rule β preserve formulas only when the write target is valid and outside all substituted memory scopes
- fresh-allocation rule β specify new blocks with uniqueness, heap separation, null pointer initialization, and non-nullness
- virtual-variable reasoning β verify small pointer-statement groups through auxiliary DRFs before treating them as abstract assignments
Learning to Coordinate Symbolic Tools: LLM Agents for Verified Sum-of-Squares Certificates
- algebra-grounded curriculum: train local operations, structural representations, and composite certificate search in one synthetic progression
- exact symbolic tool harness: execute schema-checked calls deterministically and append algebraic observations
- verifier-grounded GRPO: optimize sampled trajectories with exact contract rewards and a terminal-verification gate
- terminal failure taxonomy: distinguish abstention, malformed certificates, and wrong identities before reporting proof success
Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis
- structure-constrained invariant generation β restrict invariant syntax, prune with traces, and prove survivors with SAT/SMT
- active inductionβdeduction loop β alternate example selection, labeling, candidate learning, and deductive queries
- conditional soundness β require validity of the structure hypothesis before claiming soundness
- component-library synthesis β learn loop-free compositions from distinguishing inputs and SMT consistency checks
- hyperbox guard synthesis β learn interval-conjunction guards from labeled simulation points and reachability queries
Scalable Verification of Quantized Neural Networks (Technical Report)
- bit-exact specification β encode deployed fixed-point multiplication, rounding, clipping, and output predicates as bit-vector formulas
- abstract range analysis β over-approximate every neuronβs reachable values with interval-style transfer functions
- dead-branch simplification β use proven ranges to remove impossible ReLU-N branches
- minimum-width encoding β allocate each variable the width required by its proven signed range
- redundant-multiplication elimination β share repeated weights and replace bit-level duplicate work with shifts
Learning Structure-Aware Representations of Dependent Types
- subterm-level proof-state extraction β compile type-checked files and record every typed hole with its full context
- alpha-equivalent variable resolution β replace names and raw de Bruijn indices with binder-relative structural references
- dependency-level reference encoding β build lemma representations in topological order and reuse them for cross-lemma links
- structure-aware efficient attention β combine linear attention with binary-tree positional bias for dependent-type ASTs
- premise ranking with InfoNCE β train relevance scores and use top-ranked lemmas to shrink proof search
Scalable Shape Analysis for Systems Code
- separation symbolic heaps β represent pointer structure with points-to, list segments, equalities, and separating conjunction
- sharing-preserving partial join β generalize two heaps with witness relations and reject merges that break graph isomorphism
- possibly-empty list abstraction β replace disjunctive empty/nonempty paths with one
ls_PEpredicate when safe - composite-structure join β recursively join parameterized node shapes using frame inference and theorem-prover side conditions
- selective interprocedural joining β apply the join at loop, branch, call, and procedure-exit points with locality and state discarding
Saturation-Driven Dataset Generation for LLM Mathematical Reasoning in the TPTP Ecosystem
- saturation generation: run E-prover without a conjecture to record a consequence DAG
- derivation-aware interest filtering: rank clauses by complexity, surprisingness, and descendant usefulness
- independent prover validation: replay extracted entailments in Vampire with explicit timeouts
- perturbed entailment tasks: vary premises and label whether they entail a target
- minimal premise selection: prune a sufficient set with prover checks, then add distractors
- proof-graph reconstruction: shuffle binary proof DAGs and score structural plus logical validity
Learning Provably Correct Distributed Protocols Without Human Knowledge
- bounded state-machine synthesis β define initial/decision states and safety properties, then search a finite transition function
- adversarial MCTS β jointly search protocol transitions and crash/message-loss scenarios with terminal safety rewards
- DFS freezing β freeze ambiguous transitions, continue learning, and backtrack on negative reward
- guided curriculum β begin with definite late-loss scenarios and progressively relax losses and initial states
- exhaustive counterexample replay β enumerate bounded executions, retain failures, and bias later sampling toward them
- group freezing β freeze one transition per round/process pair when a definite-decision scenario preserves completeness
SatLM: Satisfiability-Aided Language Models Using Declarative Prompting
- declarative few-shot parsing: prompt an LLM to emit commented logical formulas and a marked target instead of imperative reasoning
- SAT/SMT model execution: infer a theory, solve the constraints, and substitute the model into the target expression
- solver feedback and abstention: classify ERROR, UNSAT, and AMBIG outcomes and repair or abstain rather than guess
- selective evaluation: report coverage and accuracy conditional on answered instances to expose unsafe overconfidence
SaltBench: A Referee-Gated Protocol for Measuring Method Effects in Machine-Checked Software Work
- external machine referee β decide outcomes with a proof kernel, verifier, or withheld suite outside the agentβs toolchain
- measured isolation fence β probe network, reference, harness, and referee boundaries before scored runs
- pre-registered freeze β commit population, arms, predictions, and adverse outcomes before execution
- budget censoring β treat caps as halts and report lower bounds rather than failures
- separated estimands β report cost and correctness with distinct cells and denominators
Sal: Multi-modal Verification of Replicated Data Types
- RA-linearizability VC reduction β model
do, merge, conflict order, and LCA semantics, then discharge a finite VC suite - automation-friendly data structures β use decidable functional sets/maps and rewrite annotations to aid proof reconstruction
- staged multi-modal tactic β try kernel-checked automation, then SMT, then interactive proof under bounded heartbeats
- property-based VC counterexamples β generate concrete violating executions for decidable failed conditions
- finite-universe visualization β track touched elements to render abstract set traces for debugging
SAIL: Sound Abstract Interpreters with LLMs
- declarative transformer synthesis β describe abstract state transfer in a solver-friendly DSL and compile accepted equations to executable code
- validation and repair β parse candidates, reject structural or type errors, and use diagnostics to repair before soundness checking
- weighted soundness loss β quantify concrete violations over sampled abstract states and emphasize high-sensitivity inputs
- monotone refinement with fallback β require a minimum loss decrease, prove finite convergence under assumptions, and return a conservative sound fallback on timeout
Sage: Formalization with Semantic Correction
- statement-kind and answer policy β classify assertion versus open question and choose explicit, placeholder, or existential encoding under a stated oracle policy
- type-theoretic locks β force computational witnesses or finite containers to block polarity and intensional-set shortcuts
- compositional drafting β distill, normalize into SDNF, formalize with library abstractions, then format a standalone file
- dual-signal correction β combine verifier diagnostics with multidimensional semantic critique, precompiled repair drafts, and failed-attempt history
SafeTrans: LLM-assisted Transpilation from C to Rust
- staged translation: transpile, compile, execute tests, classify failure, and repeat repair with a bounded attempt count
- compiler-feedback repair: send current Rust and
rustcdiagnostics back to the LLM and recompile - few-shot guided repair: attach error-specific property explanations and corrected examples only for observed error classes
- test-based validation: run translated binaries on the original C test cases and separate runtime, loop, and test failures
- bounded model checking: use ESBMC to explore finite states and emit counterexample states for safety flaws
- vulnerability transfer audit: compare C findings with Rust safety tools and manual checks, while preserving the C behavior as the reference
SafeFFI: Efficient Sanitization at the Boundary Between Safe and Unsafe Code in Rust and Mixed-Language Applications
- boundary check hoisting: validate raw-to-safe casts once and elide later safe dereference checks
- local pointer classification: use MIR/LLVM type metadata to distinguish raw, safe, loaded, and compiler-generated pointers
- temporal deallocation checks: insert optional checks on dereferences reachable from heap frees and across calls
- compositional nofree analysis: compute potentially deallocating functions with bottom-up SCC analysis and conservative unknown-callee handling
- mixed-language validation: test allocation, deallocation, invalidation, and control-flow combinations across Rust and C
SafeDrop: Detecting Memory Deallocation Bugs of Rust Programs via Static Data-Flow Analysis
- Tarjan path extraction β collapse SCCs, resolve enum-branch conflicts, and enumerate valuable CFG paths without redundant cycle traversal
- field-sensitive union-find aliases β track pointer-bearing fields and flow-sensitive alias sets while filtering irrelevant Copy values
- fixed-point callee summaries β recursively analyze optimized MIR, iterate recursive summaries to a fixed point, and cache results
- taint-based drop checks β propagate dropped or uninitialized resources through aliases and flag UAF, double-free, dangling-pointer and invalid-access patterns
Safe: Enhancing Mathematical Reasoning in Large Language Models via Retrospective Step-aware Formal Verification
- step decomposition: sample chain-of-thought solutions and split each into complete logical steps using LLM few-shot JSON with heuristic fallback
- step auto-formalization: turn each target step into a Lean 4 theorem with prior facts as premises and validate syntax in the Lean REPL
- four-state evidence: distinguish no-check, failed formalization, proved theorem, and formalized-but-unproved theorem
- bounded theorem proving: run LLM theorem provers with a fixed sample budget and validate returned proofs in the proverβs kernel/REPL
- retrospective aggregation: encode state sequences with a small LSTM to produce a trajectory score
- score ensembling: multiply retrospective formal evidence with a prospective PRM score to select Best-of-N outputs
Saarthi for AGI: Towards Domain-Specific General Intelligence for Formal Verification
- role-separated agent orchestration β split generation, syntax repair, placement, execution, coverage, and review into coordinated agents
- rulebook specification grammar β normalize requirements into keyword fields and retain corrected failures as reusable rules
- hybrid and graph retrieval β ground generation in cited lexical/vector passages and connected verification-artifact subgraphs
- counterexample root-cause analysis β combine traces, specs, RTL, and specialized diagnoses before patching and rechecking
- human-in-the-loop learning cache β store approved corrections with prompts, errors, and resolutions for later refinement
Saarthi: The First AI Formal Verification Engineer
- vPlan decomposition β convert a human specification into a property plan and dispatch one proof task per planned property
- critic and tool feedback β compile and formally check generated assertions, feed diagnostics and counterexamples back into bounded repair loops
- human-in-the-loop threshold β after a fixed number of unresolved iterations, let a human terminate, skip, or correct the agent conversation
- coverage-driven sign-off β analyze formal coverage after proving and send missing-property feedback to the planning lead
- denominator-aware KPI reporting β report success, coverage, and assertion pass separately with their run or property denominators
RustMC: Extending the GenMC stateless model checker to Rust
- LLVM mixed-language lowering β compile Rust and C/C++ dependencies to LLVM IR and exhaustively explore GenMC execution graphs
- selective threading inlining β expose only Rust standard-library thread modules and redirect pthread operations to GenMC wrappers
- aligned intrinsic lowering β turn aligned Rust memory copies into typed 64-bit loads and stores, with LLVM optimization passes
- explicit undefined stores β insert
store undefso uninitialized loads satisfy GenMCβs read-from requirement - stateless concurrency checking β use weak-memory execution exploration and DPOR to report concrete races, assertion failures, and panic schedules
- targeted reproducer checking β apply the checker to FFI, atomics, unsafe
Sync, bounds-check, and raw-pointer examples
RustCompCert: A Verified and Verifying Compiler for a Sequential Subset of Rust
- pass-by-pass refinement: prove each lowering pass preserves a source/target simulation and compose the theorems
- Kildall Polonius verification: express borrow analysis as an abstract domain, transfer function, and fixpoint
- union-find region equality: represent variance-induced equalities by canonical representatives in the loan map
- borrow-check soundness refinement: relate abstract loans to concrete locations and show every operation is non-stuck
- end-to-end safety composition: combine borrow-check refinement with verified backend semantics
RustAssure: Differential Symbolic Testing for LLM-Transpiled C-to-Rust Code
- context-shaped transpilation: preprocess headers, cache shared structs, analyze field uses, chunk large functions, and repair from compiler diagnostics
- compositional symbolic execution: instrument arguments and outputs, stub callees symbolically, compile both languages to LLVM IR, and run KLEE
- language-aware normalization: reconcile C/Rust layout, Option, strings, slices, vectors, and compiler-generated graph nodes before comparison
- graph-distance equivalence: parse KQuery returns as graphs and use edit distance, with zero distance as the checkerβs equivalence criterion
- divergence diagnosis: report the mismatching output and symbolic expression difference so a missing operation or wrong branch is actionable
- feedback repair: send compiler or semantic-divergence evidence back to the LLM for bounded retranspilation
Rustβs Type Checker Implementation Is Unsound: An Empirical Study on Soundness Bugs in rustc
- soundness-issue corpus construction β filter rustc reports, manually validate rejection claims, deduplicate, and compare datasets
- multidimensional soundness classification β record affected feature, symptom, consequence, trigger, status, and lifecycle for each issue
- release-lifecycle testing β compile reproducers across versions to measure introduction, discovery, and fix delays
- memory-execution oracles β use AddressSanitizer and Miri to detect UB in accepted programs
- trait differential oracle β compare rustc with Chalk on trait overlap, orphan, and dyn-compatibility cases
- executable type-model oracle β translate supported snippets to a-mir-formality and compare accept/reject decisions
- semantics documentation audit β cross-check Reference, FLS, and RFC rules and test cross-feature interactions before mechanization
Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learning
- semantic proof-artifact extraction β collect source tokens, parsed trees, and elaborated kernel terms before learning a lemma name
- sub-token and tree chopping β split naming units and remove unstable qualified-name, location, and singleton-tree detail
- multi-input seq2seq generation β encode statement and internal trees, then decode candidate names with attention and copying
- top-k naming assistance β return several ranked names and compare them with existing declarations
- LSP verification-editor integration β surface model suggestions beside source names through command line and editor tooling
RocqStar: Leveraging Similarity-driven Retrieval and Agentic Systems for Rocq generation
- intermediate-state mining β expand proof corpora by extracting each valid subgoal and its proof from existing files
- proof-aware retrieval β train a contrastive statement encoder to rank premises by proof similarity, not word overlap
- verifier-aware valid-prefix tools β return diagnostics, remaining goals, and the accepted prefix for incremental repair
- multi-agent debate planning β generate, critique, score, and execute several formal-proof strategies
- reflection and replanning β trigger retrieval and plan repair after repeated verifier failures
RocqSmith: Can Automatic Optimization Forge Better Proof Agents?
- minimal verifier loop β repeatedly observe a proof state, choose a tool action, execute it, and stop only on checker acceptance
- successful-trace bootstrapping β insert a small fixed set of accepted proof trajectories into the agent prompt
- instruction and example search β optimize prompts and demonstrations with Bayesian, random, or evolutionary search
- reflection memory β store model-generated summaries of successes and failures for later retrieval
- top-k memory retrieval β inject only the most similar contextual memories instead of the full bank
- executable topology search β generate and evaluate alternative agent control-flow programs
- fixed-budget optimizer evaluation β compare success by proof difficulty under a common tool-call limit
RMA: Context-Orchestrated Research Math Agents
- Inference: typed research store β preserve proofs, issues, attempts, literature, concepts, meetings, insights, and evaluations as linked records
- Inference: bounded operation-specific context β retrieve and prioritize whole records, then fit a fixed context budget without cutting proof fragments
- Inference: severity/dependency issue repair β rank correctness impact and downstream dependencies, apply anchored patches, and re-criticize globally
- Inference: coordinated revision β use literature, meetings, action plans, and a concept glossary to guide broader proof changes
RLSF: Fine-tuning LLMs via Symbolic Feedback
- certificate-driven PPO β run a symbolic checker on each response and convert its certificate into a token-aligned vector reward
- compiler and test localization β reward verified code spans and penalize spans named by compiler or test failures
- domain-rule token feedback β use algebra, chemistry, or protocol predicates to mark semantic violations at their responsible tokens
- formal-language segmentation β choose line, word, character, or parser-token boundaries that the reasoner can verify independently
- non-differentiable verifier training β keep the symbolic tool external to gradients while using its sound diagnostics for RL
- reward-cost engineering β parallelize expensive checks, cache certificates, or precompute rewards when verifier latency dominates
RFCAUDIT: AI Agent for Auditing Protocol Implementations Against RFC Specifications
- hierarchical semantic indexing β summarize functions, files, directories, and repositories bottom-up for code localization
- demand-driven retrieval β fetch definitions, callees, and callers only when current context is insufficient
- staged conformance detection β localize, compare with the specification, retrieve, and validate in a finite-state workflow
- self-critique validation β review the full reasoning chain to filter false positives
- recall-first context collection β prefer retrieving extra relevant code over missing a function needed to establish a property
Rewarding the Unlikely: Lifting GRPO Beyond Distribution Sharpening
- uplift-rate rank diagnosis β rank verified samples by initial likelihood and measure which ranks receive probability increases
- unlikeliness reward β down-weight high-probability correct samples so rare correct proofs receive more relative advantage
- multi-epoch GRPO β use additional clipped updates to expose still-unclipped rare solutions, while measuring instability and cost
- verifier-based pass@N evaluation β compute theorem-level success over independent verified samples and report denominators and chunking
Rewarding Novel Deductions: Solver-guided Process Supervision for Logical Reasoning
- solver-classified deductions β parse clues, check satisfiability and entailment, and label each step valid, tautological, novel, contradictory, or final-answer inconsistent
- novelty process reward β reward deductions that add information beyond clues and accepted steps, while penalizing contradictions
- interleaved solver/LLM RL β train structured natural-language plus formal-step outputs with GRPO and a frozen-policy KL penalty
- trace ablation diagnostics β report solved/failed denominators, SAT-rate, parse and validity ratios, step counts, and contradictions per 100 steps
Reusing Precisions for Efficient Regression Verification
- persistent abstraction precision: export predicates or tracked variables from one abstract-analysis run and import them as the next runβs initial precision
- scope widening: apply cached facts by location, function, or globally to trade source-change resilience against extra analysis work
- CEGAR warm start: reuse previous facts to eliminate refinements while allowing new spurious counterexamples to add missing facts
- lazy refinement reuse: preserve unaffected abstract-reachability states and re-explore only portions invalidated by new facts
- tool-independent precision files: store analysis-specific facts in a common text format with explicit scope selectors and headers
Retrieval-Augmented TLAPS Proof Generation with Large Language Models
- checked obligation decomposition: split a goal and verify that sub-obligations jointly imply it before proving them
- sentence-level proof retrieval: embed numbered verified proof statements and retrieve top-k analogues
- staged automation: try native provers first, then retrieval-guided LLM generation
- recursive decomposition with bounded retries: decompose failed sub-obligations until success or an explicit limit
- verifier-gated candidates: retain generated proofs only after TLAPS mechanically verifies every step
Rethinking Supervision Granularity: Segment-Level Learning for LLM-Based Theorem Proving
- verified trajectory reconstruction β replay compiled proof scripts to record state/action transitions for reusable supervision
- open-goal segment supervision β place boundaries after goal-count changes and train on locally coherent tactic sequences
- goal-aware rollout β after a structural goal change, execute a bounded linear continuation before returning to search
- granularity ablation β compare atomic, whole-proof, and segment targets under matched data and evaluation settings
Rethinking Fine-Tuning when Scaling Test-Time Compute: Limiting Confidence Improves Mathematical Reasoning
- verifier-aligned pass@N: sample N candidates and measure whether an executable verifier accepts at least one
- direct confidence optimization: multiply CE updates by a factor that suppresses confidence near 1/N
- step-wise DCO: regularize each proof-step confidence so N_eff controls proof-tree branching
- approximate DCO: estimate final-answer confidence by Monte Carlo marginalization over reasoning traces
- expert iteration: retrain DCOstep on verifier-accepted proof trajectories
Resume Means Resume: A Machine-Checked Conformance Contract for Checkpoint, Interrupt, and Resume Semantics in Workflow Persistence Layers
- resume contract β state PC, EO, FD, CV, CO-c/CO-e, RD, FI, and liveness over observable persistence APIs
- fault-matrix separation β discover property independence with one controlled fault and exhaustive finite model checking
- deterministic conformance probing β use pure API traces, durable effect ledgers, and synchronized crash injection
- verified decision seam β enforce validity, branch identity, and consume claims in a Verus-checked Rust core at the read/decision path
Resources: A Safe Language Abstraction for Money
- linear resource types β make values move-only and reject duplication, loss, and destructive overwrite
- resource capabilities β use private, transferable resource values as unforgeable authority
- bytecode preservation β prove well-formedness for every interpreter step and derive resource conservation by induction
- transactional rollback β restore the pre-state on abort so temporary stack or local resources cannot be lost
RESOLVE: Language-Agnostic Validation of GPU Kernels Through Testing, Reduction, and Proof
- conflict-directed determinism testing β count and trace binary memory events, perturb only potential conflicts, and compare complete state bitwise across seeded inputs
- concurrency reduction β rewrite a kernel to the least concurrency needed, rejecting synchronization-heavy constructs while preserving bitwise outputs on tests
- shared-specification equivalence β prove reduced implementations satisfy one tight algebraic specification, avoiding arbitrary numeric tolerances
- agent repair with revalidation β use determinism reports to localize causes, patch code, and rerun the same tester, while labeling this weaker than formal proof
Requirements Development and Formalization for Reliable Code Generation: A Multi-Agent Vision
- requirement slicing: refine vague natural language into self-contained, formalization-ready sub-requirements
- architecture modeling: decompose behavior into components, modes, state diagrams, and system constraints
- specification composition: generate, merge, complete, and consistency-check formal segments with traceability
- contract-directed code generation: produce modular code from formal specifications and verify modules before assembly
- human-in-the-loop clarification: route ambiguity, contradictions, and verification failures to engineers and formal-methods experts
Reliable Use of Lemmas via Eligibility Reasoning and Section-Aware Reinforcement Learning
- staged eligibility judgment β require separate precondition and conclusion-utility checks, and allow a lemma only when both labels are true
- section-aware reinforcement β mask GRPO loss to the section responsible for a wrong judgment
- applicability-breaking perturbations β minimally edit statements to invalidate lemma assumptions while preserving mathematical coherence
- staged proof-search feedback β use verifier or checker diagnostics to regenerate only the failed proof section (Inference: transfer to Verus)
Reliable Reasoning with Large Language Models via Preference-Based Maximum Satisfiability
- weighted partial MaxSAT encoding β map hard constraints to hard clauses and weighted preferences to soft clauses, then solve with RC2
- canonical independent checking β test generated solutions for feasibility and optimality against a separate reference encoding
- intermediate symbolic planning β make the model list variables, constraints, preferences, objective, and output schema before code generation
- bounded execution-feedback repair β return runtime, API, and schema errors and allow up to five corrected generations
Reliable Proof Generation with LLMs via Analogical Retrieval and Symbolic Verification: A Case Study in Euclidean Geometry
- structural proof abstraction: replace incidental names and values, score construction/condition/goal overlap, and retrieve high-similarity solved proofs
- analogy-derived context reduction: extract lemmas or theorem names from retrieved proofs to shrink the generation dictionary
- first-error symbolic verification: classify syntax, premise, and goal failures, then feed the first verifier diagnostic back to the generator
- bounded verifier retries: allow fixed retries per run and independent restarts, reporting proof accuracy with the exact problem denominator
- conditional proof evaluation: separate numerical-answer pass rates from formally verified-proof rates to expose answer/proof gaps
Relatively Complete Verification of Probabilistic Programs
- weakest-preexpectation calculus β transform a probabilistic program backwards to an expected postvalue and discharge one final inequality
- expressive expectation syntax β use guards, addition, arithmetic scaling, and bounded sup/inf while preserving a normal form
- constructive Sum/Product β encode finite path sums and products with sequence predicates and substitution
- loop path encoding β represent weakest preexpectations of loops as a supremum over encoded state sequences
Learning Nonlinear Loop Invariants with Gated Continuous Logic Networks
- trace-to-invariant workflow β instrument loops, expand terms, train a differentiable logic model, extract a formula, and solver-check it
- gated CLN structure learning β learn conjunction/disjunction structure with near-binary gates and extract an SMT formula recursively
- PBQU tight inequalities β use piecewise quadratic activations and coefficient normalization to learn informative bounds
- fractional sampling β relax selected integer semantics to continuous values for denser samples, then validate on the original program
- stabilized nonlinear training β combine feature normalization, term dropout, and gate/weight regularization
- external-call sampling β add sampled uninterpreted-call terms when loop bodies invoke unavailable functions
Relational Program Synthesis
- relational specification β state cross-function or cross-run laws with quantified, quantifier-free formulas plus examples
- counterexample-guided relational synthesis β alternate candidate verification and ground relational counterexamples
- occurrence relaxation β replace repeated function occurrences with fresh symbols to avoid circular version-space construction
- HFTA version spaces β compose FTAs for subterms and propagate functional consistency across occurrences
- cost-guided lazy enumeration β flatten HFTAs to weighted hypergraphs and enumerate low-cost accepted programs first
- bounded validation filter β test over a large finite input set before invoking full verification
Learning Invariants using Decision Trees
- decision-tree invariant synthesis β classify sampled good and bad states with threshold trees, convert good paths to a Boolean invariant, and verify inductiveness
- bounded good/bad-state sampling β enumerate bounded executions from valid and nearby states to produce labels for candidate-invariant learning
- abstract-domain slope features β project states onto octagon or custom linear slopes so tree tests become numerical inequalities
- PCA-guided slope discovery β derive candidate directions from principal components of sampled good states when fixed slopes are insufficient
- nonlinear feature lifting β add columns for expressions such as modulus or squares and substitute those expressions back into the learned formula
- PAC/VC sample bound β limit tree size to obtain a VC-dimension bound and a distribution-dependent generalization guarantee
Relational Logic with Framing and Hypotheses: Technical Report
- region effect framing: specify heap regions, reads, writes, and closure facts so relational proofs can frame untouched state
- reference-permutation agreement: relate independently allocated heaps with a partial bijection and field-agreement predicates
- biprogram weaving: choose aligned, left-only, and right-only steps and prove relational loop invariants
- hypothesis linking: verify procedure bodies and clients separately under relational contracts, then discharge the hypotheses by linking
Reinforcement Learning with Verifiable Physics: Post-training LLMs with Continuous Rewards
- solver-bank SFT: warm-start policy training with verified executable numerical schemes
- hybrid verifier: gate execution validity, then score function-space accuracy and PDE residuals continuously
- stochastic-tolerance reward: turn diagnostic losses into expected pass probabilities instead of fixed thresholds
- GRPO with hidden cases: update a policy from grouped verifier rewards on varied meshes, parameters, and boundaries
- selective transfer evaluation: test unseen PDE families with pass@k and best-of-k physical error while reporting failures
Reinforcement Learning via Self-Distillation
- self-teacher from rich feedback β condition the current policy on its failed attempt plus tokenized environment feedback, then reuse its feedback-conditioned log-probabilities as dense supervision
- KL self-distillation β minimize per-token KL from the ordinary student distribution to a stop-gradient, feedback-conditioned teacher distribution
- dense SDPO advantages β replace rollout-level reward advantages with the teacher/student log-probability ratio for each token
- feedback-backed test-time specialization β repeatedly apply the same self-distillation update to one hard question to compress successful context into model weights
Reinforcement Learning of Theorem Proving
- bare connection search: build tableau proofs with extension and reduction actions from clauses
- UCT Monte Carlo guidance: select proof actions by visit reward, priors, and an exploration term
- policy learning: regress action-frequency targets and turn predicted scores into softmax priors
- value learning: predict proof-state success with distance-discounted rewards
- iterative RL feedback: retrain policy and value models from accumulated proof-search attempts
Reinforcement Learning from Compiler and Language Server Feedback
- robust selector DSL β address code by symbolic, AST, anchor, or explicit-coordinate intent and resolve it with deterministic ranked evidence
- canonical Analysis Bundles β normalize tool responses, pin environment metadata, and hash stable fields for replay
- preview-first guarded mutation β preview edits, enforce jail and conflict policies, then apply only after explicit approval
- RLCSF reward shaping β convert diagnostic, safety, confidence, and error deltas into a replayable transition reward
Reinforced Large Language Model is a formal theorem prover
- reasoning-augmented proof data β generate thought plus reference tactic records from proof states
- two-phase GRPO training β supervised adaptation followed by grouped sampling and reward-weighted updates
- verifier-backed BFS β execute candidate tactics, enqueue novel states, and discard grammar failures
- format-and-accuracy reward β optimize parseable output while retaining theorem-prover checks
Regular Abstractions for Array Systems
- indexed-predicate words β encode each array position by a finite bitvector while retaining sizes and indices concretely
- regular abstraction clauses β derive finite predicate clauses from valid consequences of singly indexed formulas
- alpha-gamma simulation β prove abstract reachability sound using monotone abstraction and concretization
- temporal reductions β reduce quantified safety and liveness to regular automata reachability and progress checks
- fairness via weak finiteness β verify fair liveness by reachable fair-cycle search under index-boundedness
- counterexample refinement β add MUC-derived and update-template clauses when coarse abstractions are spurious
Regression Verification - A Practical Way to Verify Programs
- relational regression contract β assert equality of selected old/new expressions under the same inputs
- bounded relational checking β merge versions, unroll loops, and search CBMCβs propositional formula for counterexamples
- unwinding validation β add loop unwinding assertions and increase bounds until termination is justified
- side-effect-aware uninterpreted functions β abstract unchanged function bodies while constraining returns and writes
- uninterpreted scopes β limit abstraction to smaller regions so changes propagate to fewer callers
Regression Accumulation in Multi-Turn LLM Programming Conversations
- persistent regression oracle β rerun the complete prior test or proof suite after every conversational edit
- rollback verification gate β reject a regressive version, restore the last passing version, and permit one bounded retry
- deterministic requirement recap β prepend machine-maintained summaries of earlier requirements before each new request
- multi-turn failure taxonomy β label sampled failures by context loss, cross-turn conflict, or accumulation with explicit denominators
Reflexive tactics for algebra, revisited
- computational reflection: reify an algebraic goal, normalize syntax by computation, and apply a proved reflection lemma
- conversion-aware reification: match packed-class operators modulo conversion or unification
- homomorphism preprocessing: push maps through algebraic syntax to leaves and reuse one normalizer
- canonical zification: infer integer representatives of ring terms and discharge field side conditions with linear arithmetic
Refinement Proofs in Rust Using Ghost Locks
- ghost-lock refinement β embed an abstract transition system and label each erased critical section with a legal action
- guard permissions β use affine per-node tokens to restrict interference and preserve local facts
- LTL obligations β connect temporal formulas to linear obligations and well-founded discharge measures
- fairness assumptions β state eventual-delivery premises explicitly in network contracts
- verified interior mutability β prove
UnsafeCellaccesses safe through abstract operation identifiers and happens-before
Reducing False Positives in Static Bug Detection with LLMs: An Empirical Study in Industry
- reviewed industrial alarm corpus: collect analyzer warnings, double-review labels, filter unreliable records, and preserve context
- prompt-only triage: classify each warning with an LLM and score class-aware metrics over reviewed alarms
- domain prompting: add chain-of-thought, few-shot examples, or structured bug-type knowledge
- static-analysis hybrid triage: feed sink context or path constraints to an LLM for reachability decisions
- cost/category evaluation: report per-alarm latency and price, then stratify performance by bug category
Recursive Self-Improvement in AI: From Bounded Self-Refinement to Autonomous Research Loops
- loop classification: classify what changes, who validates it, and whether the evaluator co-evolves
- external-feedback refinement: generate, check with an external signal, repair from actionable failures, and bound the rounds
- verification hierarchy: prefer formal proof checkers, then execution checks, learned judges, and intrinsic signals as progressively weaker gates
- evaluator-failure diagnostics: monitor self-confirmation, distribution collapse, diversity collapse, and frame lock-in with independent review
Reasoning without Gold Standards: A Proxy-Judge Theory of Autoformalization
- audit-axis vectors: score global, module, and source-alignment properties separately
- reflective localization: route each failed axis to a matching repair target and preserve passing axes
- prover-grounded rollback: keep the latest kernel-accepted candidate when semantic repairs regress proof checks
- majority judge reduction: repeat local checks to reduce bounded independent judge noise
- audit-sufficient proxy: treat a weighted property score as evidence over named checks, not full semantic correctness
- per-axis feedback: use decomposed verdicts when scalar feedback cannot identify the repair
- drift convergence model: bound expected unresolved gap by contraction plus judge-noise residual
Reasoning about Weak Isolation Levels in Separation Logic
- modular operation contracts β specify init, start, read, write, and commit with local/global resources independent of implementation
- observation monotonicity β use persistent seen resources to prevent observed values or histories from disappearing
- phenomenon clients β prove concise dirty-read, commit-order, write-skew, read-skew, and non-repeatable-read assertions
- specification implication β derive weaker contracts from stronger ones with authoritative and fragment ghost resources
- two-snapshot MVCC contract β compare start and commit histories and return conflict evidence on failed commits
- layered MVCC proof β verify client proxy and locked server handlers against a shared history/time model
Reasoning About Incompletely Defined Programs
- exception guards for partial calls β block semantic calls introduced by undefined-result markers and represent them as stuck computations
- determination/domain procedure synthesis β recursively compute guards for definedness and synthesize
βfpredicates for partial procedures and selectors - guard optimization by recursion elimination β simplify guards and replace recursive calls only when Theorem 6/7-style formulas are proved
- refined well-formed theory β admit specifications only when their determination guard is valid, guaranteeing ground evaluation without runtime errors
Reasoning about Block-based Cloud Storage Systems
- two-tier heap model: separate block-address sequences from location contents and define command semantics over both heaps
- paired global assertions: combine location and block assertions, with quantifiers for dynamic block sequences
- Hoare axioms and loop invariants: verify primitive storage commands, compose them, and preserve quantified copy invariants
- frame-rule locality: decompose heaps, prove a command on its footprint, and recombine untouched state
Reality Is the Final Verifier: On Two Key Gaps in Agentic Software Engineering
- two-gap diagnosis β compare formal requirements with stakeholder intent and environment models with real deployment conditions before trusting a proof
- assurance-revision loop β use deployment evidence and authorized human decisions to revise requirements, models, evaluators, and then rerun verification
- risk-calibrated evaluation β allocate human review and evaluator fidelity by consequence and uncertainty, using cascaded checks and exposure controls
REAL-Prover: Retrieval Augmented Lean Prover for Mathematical Reasoning
- consistency-filtered auto-formalization β generate formal statements, back-translate them, and retain only candidates judged faithful
- interactive best-first tactic search β sample tactics, verify each in an interactive prover, and expand the highest-scoring state
- hard-negative premise retrieval β train a dense state-to-theorem retriever first with in-batch negatives and then mined near-miss premises
- expert iteration β add prover-generated, verifier-checked stateβtactic traces to successive supervised-training rounds
ReMath: Benchmarking Theorem Retrieval in Research-Level Mathematics
- citation-invariant sourceβtool retrieval β accept any admissible sourced theorem whose assumptions and conclusion close the local proof gap
- staged retrieval diagnostics β separate proof-need planning, query generation, source selection, grounding, and sufficiency metrics
- frozen leakage-controlled evaluation β freeze search artifacts and split by citing paper for reproducible assessment
- assumption accounting β check objects, domains, hypotheses, parameters, quantifiers, and conclusion strength at the proof state
Learning-Infused Formal Reasoning: From Contract Synthesis to Artifact Reuse and Formal Semantics
- verifier-guided contract synthesis β iteratively generate contracts from requirements and refine them using proof failures, counterexamples, and satisfiability feedback
- typed artifact graphs β encode programs, specifications, and proofs as nodes and relational edges for cross-language comparison
- embedding-enriched graph matching β combine LLM semantic embeddings with structural and type constraints to retrieve candidate correspondences
- graph-based artifact adaptation β rewrite aligned artifacts and check preservation of relational invariants before reuse
- semantic interoperability β use UTP healthiness/refinement and Institution satisfaction-preserving mappings as language-independent constraints
Learning Guided Automated Reasoning: A Brief Survey
- structural proof-state features β extract normalized terms, paths, counts, hashes, and name-invariant graphs for learned guidance
- learned premise selection β rank a small relevant subset with k-NN, Bayes, trees, or neural models before proof search
- clause-selection guidance β prioritize saturation clauses using proof-derived labels while mixing learned and classical queues
- tactic and policy guidance β rank tableaux extensions, SMT instantiations, or ITP tactics and let the kernel check the result
- iterative learning loop β retrain guidance from newly discovered proofs while preserving the verifier as the acceptance gate
Learning an Effective Premise Retrieval Model for Efficient Mathematical Formalization
- formal-corpus extraction β build premise/state pairs from declarations, proof steps, and tactic usage
- domain tokenizer pretraining β train WordPiece and masked-language encoders on formal syntax before retrieval fine-tuning
- fine-grained dense retrieval β score state similarity separately against premise assumptions and goals
- hard-negative reranking β cross-encode top dense candidates and learn from near-miss premises
- in-batch contrastive learning β train one positive against sampled and batch negatives with temperature-scaled loss
- retrieval-augmented proving β append selected premises to a tactic generator while keeping retrieval independently trained
- isolated evaluation β test on premises absent from training to measure generalization rather than memorization
Learn from Failure: Fine-Tuning LLMs with Trial-and-Error Data for Intuitionistic Propositional Logic Proving
- trial-and-error trace fine-tuning: train a tactic model on successful and failed proof branches with explicit backtrack history, then let the checker validate each next action
- uniform formula enumeration: encode and decode bounded proposition trees through Catalan-ranked shapes and mixed-radix labels to obtain representative benchmark formulas
- focused proof search: separate inversion from branching/chaining, preserve failed branches, and backtrack to the latest valid state
- checker-mediated greedy inference: emit one candidate action, obtain the next state from the proof assistant, and count checker calls as search cost
LeanTree: Accelerating White-Box Proof Search with Factorized States in Lean 4
- factorized AND-OR search β split independent verifier goals and solve all branches with reuse and parallel search
- coupling-aware splitting β merge obligations sharing metavariables or shared proof state, then split after assignment
- proof-tree normalization β convert nested, branched, and composite tactics into small executable proof transitions
- incremental kernel checking β check newly assigned proof material and independently recheck completed proofs
- unsafe-tactic filtering β ban library-search placeholders such as
apply?that behave like unfinished proofs
LeanSide: A Formally Verified Co-Reasoning System for Natural-language Proofs
- structure-preserving auto-formalization β segment informal reasoning and map each unit to an explicit proposition before proving
- scaffold-then-prove pipeline β generate proposition skeletons, prove each lemma, then assemble the whole artifact
- curated mini-lemma library β combine fast model proving with reviewed reusable lemmas and provenance
- feedback informalization β translate only formal code and checker diagnostics into user-facing explanations
- faithfulness-versus-validity metrics β measure whether formalization preserves input separately from whether the checker accepts it
LeanSearch v2: Global Premise Retrieval for Lean 4 Theorem Proving
- dependency-aware corpus β extract a declaration DAG and informalize descriptions bottom-up
- embeddingβreranker search β retrieve top-50 structured passages and rerank with declaration-kind prompts
- global sketch loop β sketch proof steps, retrieve, filter, judge, and revise unsupported routes
- three-level evaluation β measure ranking, premise-group coverage, and fixed-loop verifier success
- route and empty-set modeling β preserve interchangeable lemmas, alternatives, and genuine no-support signals
LeanReasoner: Boosting Complex Logical Reasoning with Lean
- formalize natural-language facts and questions as typed prover declarations, compile, and regenerate on syntax errors
- retrieve premises with embedding similarity before tactic generation to reduce distraction and expose error sources
- search probabilistic tactic trees with priority queues, cumulative log scores, timeout, and prefix-state pruning
- train on theorem-proving proofs with intuitive and concise annotations to improve premise selection and proof search
LeanProgress: Guiding Search for Neural Theorem Proving via Proof Progress Prediction
- shortest trajectory labeling β generate successful proof trees and label each state with steps remaining on the minimum-depth path
- length-relative balancing β resample proof states by trajectory-length ranges to counter short-proof dominance
- history-conditioned progress prediction β predict remaining steps from state plus prior tactics
- mixed progress search β rank frontier states with normalized progress and tactic log probability
- interactive progress feedback β expose a tactic that combines suggestions with predicted remaining steps
LeanPolish: Verified Supervision for Lean Proof Compression
- checker-gated local edits β propose proof-body changes at saved states and retain only fresh compiler/verifier passes
- complete-menu supervision β enumerate candidates and mark timeouts, unknowns, and policy rejects separately
- leakage-resistant ranking β evaluate against complete pools and compare with menu-order controls
- fixed-point compression β rerun symbolic edits until no verified file change remains
- jointly verified hybrids β verify each neural edit and the combined file before counting savings
LeanFlow: A Case Study in Workflow-Driven Lean Autoformalization
- deterministic source preflight and blueprint β pin the environment, extract source artifacts, and map source spans to planned declarations
- statement/source fidelity gate β audit generated types and assumptions before proof search, then freeze accepted targets
- two-layer declaration queue β route dependent files and expose one active declaration while persisting failures and checkpoints
- verifier-backed local repair β test one candidate proof in a cached environment and advance only after a clean check
LeanExplore: A search engine for Lean 4 declarations
- dual-resolution extraction: combine compiled-environment metadata with source AST/dependency traces
- StatementGroup indexing: group elaborated declarations by one authored source block
- dependency-first translation: generate informal descriptions in graph topological order
- hybrid ranking: combine embedding similarity, BM25+, and PageRank after local normalization
- MCP premise retrieval: expose declaration search and dependencies to theorem-proving agents
LeanCat: A Benchmark Suite for Formal Category Theory in Lean (Part I: 1-Categories)
- formal library benchmark curation β collect self-contained theorem statements, LLM-draft them, and require expert semantic and compilation review
- outcome-based difficulty scoring β combine verified-proof counts, statement-only counts, and independent human ratings with explicit thresholds
- pass@k kernel evaluation β sample independent proof scripts and count success only when the kernel verifies without sorry, admit, or extra axioms
- retrieveβgenerateβverify loop β initialize retrieval, generate proof or search actions, compile, feed diagnostics back, and iterate to a bounded success test
LeanAgent: Lifelong Learning for Formal Theorem Proving
- complexity curriculum β classify theorem difficulty from proof-step complexity and order repositories by easy-theorem counts
- dynamic proof database β retain versioned theorem, premise, import, tactic, and proof-state metadata for reuse
- progressive retriever training β train one epoch per new dataset and track stability and plasticity with R@10
- dependency-filtered best-first proving β retrieve accessible premises, generate and execute tactic candidates, and backtrack under a time limit
Leanabell-Prover: Posttraining Scaling in Formal Reasoning
- verified-data continual training: enlarge a formal corpus only with compiler-checked statements and proofs
- reflection and rewriting synthesis: pair failed code, diagnostics, and repaired code to train error analysis
- group-relative verifier RL: sample proof groups, score complete compilation, normalize rewards, and optimize with GRPO
Lean-SMT: An SMT tactic for discharging proof goals in Lean
- proof-producing preprocessing: normalize rich proof-assistant goals while carrying kernel-checked rewrite proofs
- sound SMT translation: encode a negated goal and guard the Lean/SMT nonempty-sort mismatch
- CPC reconstruction: replay solver proof steps as native kernel-checked theorems, tactics, or reflection
- n-ary-resolution encoding: represent disjunctions as lists to match solver semantics
- certificate reflection: compile decidable side conditions for faster proof reconstruction
Lean Refactor: Multi-Objective Controllable Proof Optimization via Agentic Strategy Search
- verified strategy-bank construction: distill anchored long-short proof pairs, judge them, deduplicate them, and aggregate speed/version metadata
- objective-conditioned retrieval: retrieve semantic neighbors, rerank by compile cost, and filter by compatible toolchain
- planner-refactorer-debugger loop: plan localized rewrites, compile each candidate, repair diagnostics, and replan after success
- dependency-grounded rewriting: annotate invoked declarations and anchor extracted strategies to source locations
- version compatibility sets: intersect toolchains on which all strategy instances compile
- multi-metric evaluation: report length, compile time, dependency counts, and cross-version survival with explicit denominators
Lean on Vampire Proofs (Short Paper)
- saturation trace: negate and clausify a conjecture, saturate with superposition, and emit a replayable empty-clause trace
- three-part proof file: declare symbols, prove each inference as a theorem, and assemble the final theorem from those lemmas
- preprocessing replay: reproduce rectification through CNF and justify Skolem functions with explicit equivalence lemmas
- unifier-guided inference: instantiate each rule with the proverβs most-general unifier and check the ground consequence
- avatar certificate: split clauses into Boolean-labelled components and check the final SAT refutation in the proof assistant
LEAN-GitHub: Compiling GitHub LEAN repositories for a versatile LEAN prover
- repository filtering β search public Lean repositories, estimate proof-bearing files, reject incompatible versions and retain only compilable evidence
- direct compiler extraction β compile isolated files with the underlying compiler and a dependency graph instead of requiring every Lake target to succeed
- parallel proof-state extraction β separate extraction from interactive compilation and retain theorem, tactic, and state records at scale
- semantic duplicate detection β canonicalize proof states and cache verified transitions so repeated intermediate states are not expanded
- proof-trace training β fine-tune next-tactic generation on verified state/action pairs, then measure accepted proofs on fixed benchmark denominators
Lean Finder: Semantic Search for Mathlib That Understands User Intents
- intent clustering β classify real proof questions into stable user perspectives before data synthesis
- reverse query synthesis β generate grounded user questions from formal statements after filtering applicable intents
- multimodal statement indexing β index informalizations, proof states, declarations, and synthetic queries together
- contrastive lemma retrieval β train embeddings with positives, in-batch negatives, and noisy-query augmentation
- preference-aligned ranking β combine human/LLM retrieval preferences with a contrastive objective via DPO
Lean Copilot: Large Language Models as Copilots for Theorem Proving in Lean
- native in-assistant inference β call local or server models through a language FFI so generation sees live proof state
- checked tactic suggestion β simulate every candidate in the proof assistant and display only error-free candidates with remaining goals
- goal-dependent proof search β add generated tactics to a best-first search whose branches are accepted only when fully checked
- premise retrieval and annotation β rank premises by goal embedding and show scope, type, documentation, or import source for human choice
Lean-auto: An Interface between Lean 4 and Automated Theorem Provers
- monomorphization saturation β instantiate concrete generic terms, repeatedly match them against hypotheses, abstract instances to HOL* variables, then call an ATP
- controlled definitional equality β combine selective unfolding, fingerprint filtering,
isDefEq, and generated equations instead of full normalization
Lean4Physics: Comprehensive Reasoning Framework for College-level Physics in Lean4
- layered domain library β build foundations, topic units, and proved topic theorems in separate layers
- qa-to-theorem formalization β transform natural-language answers into hypotheses, targets, and compiled proof statements
- library-context proof retrieval β compare proof generation with and without domain definitions and lemmas in context
- difficulty-matched proof decomposition β select unit normalization, algebra, or new lemmas according to problem class
Lean4Agent: Formal Modeling and Verification for Agent Workflow and Trajectory
- typed workflow graph checking β represent nodes, edges, variables, and execution modes in a dependent type system and reject structural inconsistencies
- predicate semantic contracts β translate step requirements into decidable predicates and propagate Hoare-style pre/postconditions through a graph
- graph-level information-flow checking β track implicit context and consumption/production properties that local predicates miss
- trajectory verification β replay actual states with Lean, external validators, and judges to test step postconditions
- failure localization β return the precise step and predicate that violated a trajectory contract
- formal-guided evolution β revise a localized workflow step, rerun it, and retain only a successful repair
Le chameau et le serpent rentrent dans un bar : vΓ©rification quasi-automatique de code OCaml en logique de sΓ©paration
- permission-bearing representation predicates β encode heap footprint and abstract model together, expose with unfold, mutate, and restore with fold
- algebraic-data-type translation β map constructors to explicit Viper ADTs and use mutually exclusive destructors for pattern matching
- recursive segment invariants β represent linked-list segments by a sequence model and prove reusable concatenation lemmas
- compositional queue proofs β verify create, add, and transfer by composing folds/unfolds, ownership transfer, and segment lemmas
Lazy Annotation for Program Testing and Verification
- lazy path annotation β learn edge and location formulas only when symbolic execution is blocked
- interpolant generalization β derive relevant preconditions without quantifier elimination
- bounded-to-inductive strengthening β use a decreasing budget, remove it, and retain the greatest justified invariant subset
- negative procedure summaries β compute reusable transition exclusions for modular calls
- verifier-guided search measurement β compare learned and unlearned backtracks, coverage, and accepted proofs separately
Layered and Staged Monte Carlo Tree Search for SMT Strategy Synthesis
- MDP grammar search β represent a solver strategy as production-rule decisions and optimize terminal PAR-10 with UCT MCTS
- layered parameter MABs β attach a separate bandit to every parameterized tactic occurrence instead of expanding Cartesian combinations
- staged linear portfolio β discover branch-free strategies, greedily retain complementary candidates, and compose them with cached per-instance results
- virtual-best selection β choose each next portfolio member by its improvement to an oracle that picks the best candidate per instance
- restricted grammar β prune nesting, depth, repetition, and numerical choices to make expensive strategy evaluation tractable
Large Language Monkeys: Scaling Inference Compute with Repeated Sampling
- repeated sample-and-check: generate many independent candidates and accept one that passes an automatic proof or test checker
- unbiased pass@k measurement: estimate the probability that at least one of
ksamples is correct fromNsamples and correct-count denominators - budget-aware sampling: compare model size and sample count at fixed FLOPs or dollars using fitted coverage curves
- verifier precision audit: measure selection methods separately from oracle coverage and test for flaky, false-positive, and false-negative checkers
- formal-proof candidate pipeline: use Lean/Verus compilation and proof checking as the selection oracle for generated proof artifacts
Large Language Models for Validating Network Protocol Parsers
- dependency-aware parser retrieval β recursively follow input data/control dependencies and calls from the entry parser
- executable parser isolation β refactor parsing into a two-argument standalone module for direct testing
- code format lifting β translate parser behavior into a DSL and refine it with positive/negative symbolic tests
- RFC format lifting β turn prose fields, types, and constraints into the same DSL representation
- differential specification analysis β compare code and document formats and triage mismatches
- trace-guided refinement β instrument rejected positive inputs and use parser traces to correct extracted formats
Language Models For Generalised PDDL Planning: Synthesising Sound and Programmatic Policies
- applicable-action wrapper: restrict policy outputs to actions legal in the current state and fallback on errors
- safe heuristic wrapper: replace unsafe infinity outputs so GBFS remains sound and complete on finite spaces
- dual-queue search: combine policy proposals with exhaustive heuristic expansion while retaining completeness
- training validation: select generated programs by timed performance on held-out small problems
- symbol ablation: replace semantic identifiers with symbols to test dependence on lexical meaning
Language Models Can Teach Themselves to Program Better
- executable puzzle contracts β express a task as
f(g(x),x)=Trueso an interpreter can reject invalid candidates - generated-task filtering β syntactically validate, remove trivial or duplicate tasks, execute candidate solutions, and retain bounded correct outputs
- iterative self-training β fine-tune on verified pairs and repeat task and solution generation
- interpreter-filter ablation β compare identical synthetic data with and without correctness filtering
- Pass@k evaluation β report the fraction of a fixed held-out denominator solved within k generated attempts
Language-Based Security for Low-Level MPC
- Overture protocol modeling β encode synchronous finite-field messages, reveals, outputs, and random tapes in a minimal language
- pmf hyperproperty security β state passive/malicious MPC security and declassification as marginal and conditional distribution relations
- truth-table and Datalog execution β compute exact finite protocol runs and scale least-model evaluation over independent fact bases
- compositional gate tactics β prove local share/distribution invariants and compose them into whole-circuit security
- BDOZ cheating detection β authenticate Beaver-shared values with MAC checks so malformed corrupt messages abort
LAGC Semantics of Concurrent Programming Languages
- local abstract/global concrete traces β evaluate constructs symbolically, then instantiate values when composing global executions
- continuation and chop composition β stop local rules at continuations and join finite prefixes by state extension
- event well-formedness β encode scheduling, calls, sends, receives, and causal constraints as predicates over traces
- sound dynamic-logic calculus β symbolically execute traces and prove sequents for all concretisations
- interleaving and atomic semantics β generate scheduler interleavings while recursively removing preemption inside atomic blocks
- task and message composition β model calls, processes, sends, receives, and spawns with event matching and symbolic payloads
- declarative channel models β obtain asynchronous, FIFO, bounded, causal, and synchronous semantics by adding trace predicates
- actor isolation and futures β preserve owner-local state, match asynchronous calls, and gate future reads on completion
- guarded language instantiation β express ProMeLa guards, channel visibility, blocking, and consumption through events and well-formedness
LACUNA: Safe Agents as Recursive Program Holes
- typed runtime holes β let a model fill code at a call site while the host compiler enforces result type and lexical names
- atomic verifier retry β compile the complete fragment, reject it without effects, and feed diagnostics into bounded retries
- capability-scoped generation β expose only lexical capabilities and prevent capability-bearing results from escaping
- classified information flow β keep sensitive data inside pure wrappers and use local nested agents under the same scope
- recursive typed control flow β express skills, ReAct, sub-agents, and parallel decomposition as typed nested calls with depth caps
Know Your Limits : On the Faithfulness of LLMs as Solvers and Autoformalizers in Legal Reasoning
- strict satisfiability labels β define entailment and contradiction with P β§ Β¬H and P β§ H unsatisfiability, and reserve Neutral for unsupported or irrelevant cases
- minimal-pair augmentation β add only the missing assumption or a directly supported hypothesis to expose grounding gaps
- staged autoformalization β identify clauses, normalize predicates, translate to FOL, and encode assumptions and global constraints explicitly
- solver-versus-model replay β compare a modelβs classification with an executed Z3 result on the same formal input
- failure-mode auditing β detect scope laundering, implicit constraint blindness, and code-generation errors with directional comparisons
- bounded repair loop β retry invalid solver code for three iterations, then record it as Invalid rather than silently treating it as a result
Kleene Algebra with Tests and Coq Tools for While Programs
- KAT control-flow encoding β model sequence, choice, tests, and loops as relation algebra with Kleene star
- guarded-string completeness β reduce universal KAT equality to equality of finite guarded-string languages
- partial-derivative bisimulation β decide KAT language equality through finite residual sets
- reflexive Coq tactic β reify algebraic goals and run a proved decision procedure inside Coq
- hypothesis elimination β normalize Hoare-style and guarded assumptions before calling the base tactic
- KAT Hoare encoding β express
{A} p {B}as[A]p[Β¬B]=0and automate standard rules
Kimina-Prover Preview: Towards Large Formal Reasoning Models with Reinforcement Learning
- autoformalization with expert iteration β translate informal tasks into candidate Lean statements, judge them, and use accepted statements for prover training
- structured formal reasoning β interleave informal reasoning and Lean snippets, then require substantial snippet overlap with the final proof
- verifier-reward RL β sample multiple proofs, compile each, assign a binary reward only to complete Lean proofs, and optimize under KL control
- format-collapse filtering β require tactic-block coverage and discard unstable negative-gradient samples during RL
- cached parallel checking β reuse import environments with LRU caching and parallel Lean workers to raise verification throughput
- test-time scaling β sample independently at increasing pass@k budgets and measure the fraction of benchmark problems solved
KestRel: Relational Verification Using E-Graphs for Program Alignment
- e-graph alignment saturation: represent many equivalent relational products and rewrite them algebraically
- syntactic plus annealed extraction: start with fused-loop cost, then search neighboring representatives
- trace-based alignment cost: rank candidates by merged-loop and runoff execution ratios
- invariant-guided backend proof: feed extracted products to Houdini-style Dafny or SeaHorn verification
KernelOPT: Dispatch-Aware Agentic Search for GPU Kernel Optimization
- dispatch-aware decomposition β preserve vendor-library calls and optimize only generated sub-kernel groups
- profiling-guided beam search β use NCU bottlenecks, chain-diverse selection, bounded retries, and experience memory
- static and multi-seed gates β reject syntax, crash, and sampled numerical failures before model-level testing
- float64 fallback ratio β compare baseline and candidate errors to a float64 reference with an explicit denominator and threshold
- end-to-end performance gate β accept only re-stitched model time within a 3% margin of baseline
- fail-closed baseline fallback β ship the compiler baseline whenever no candidate passes every gate
- composition-gap testing β re-stitch and test whole models because sub-kernel speedups can regress end-to-end execution
Kernel Contracts: A Specification Language for ML Kernel Correctness Across Heterogeneous Silicon
- kernel contract skeleton β specify identifier, scope, precondition, postcondition, tolerance, oracle, measurement protocol, and violation signature
- three-state calibration β require baseline, bad-visible-pass, and good implementations so a protocol demonstrates that it can distinguish the hidden contract
- contract-class testing β select precision, ordering, compiler, and exceptional-value classes with class-specific violation signatures
- contract-driven test matrix β choose informative stack, shape, precision, and concurrency cells from the declared violation class
- trace discipline β record contract version, implementation, silicon, input/hash, residual, tolerance, and verdict for every verification call
- batched Freivalds checking β batch randomized matmul checks into three skinny matmuls and report overhead and detection denominators with their hardware settings
- held-out-shape adversarial testing β test the declared shape class outside benchmarked inputs to expose hardcoded or reward-hacked kernels
- explicit exceptional policies β declare and test NaN/Inf and out-of-bounds behavior as RAISE, CLAMP, ZERO, masking, propagation, or documented undefined behavior
Keep the Proof State Live: Snapshotting for Efficient Tactic Search in Lean 4
- proof-state snapshot capture β expose an elaborated state once at each proof hole
- immutable-environment sharing β share large read-only context and copy only branch-local metavariables
- batched parallel branching β dispatch a tactic portfolio in one RPC using independent tasks
- transparent fallback β use ordinary per-branch builds when native snapshot support is unavailable
- elaboration cost model β separate one-time elaboration from branch tactic CPU and report denominators
- layered caching β combine inter-theorem import caching with intra-theorem proof-state snapshots
Just Type It in Isabelle! AI Agents Drafting, Mechanizing, and Generalizing from Human Hints
- maybe-type completion model β represent partial annotations with
β₯, define well-typed completions, and specify printing by unique most-general completion - coverage-test reverse greedy β repeatedly erase an annotation only when every type variable at its position remains covered elsewhere
- sandwich uniqueness proof β prove a completion is unique by bounding it between current annotations and a fixed most-general completion
- Isabelle agent workflow β iterate LLM-generated specifications through human review, Isabelle proof checking, and statement-alignment audits
- human-hinted autogeneralization β reduce an ad hoc algorithm to an independence-system greedy theorem and mechanize the reduction
JURY-RL: Votes Propose, Proofs Dispose for Label-Free RLVR
- plurality proposal with one verifier call β vote among rollouts, then formally check only the plurality candidate
- ResZero fallback β penalize unverified consensus and redistribute a zero-mean signal over residual answers
- cascaded autoformalization verifier β translate, consistency-check, and prove before granting reward
- proof-result caching β reuse exact verifier outcomes with configuration-aware keys
Judging Is Not Enumerating: Silent Omissions in LLM-Authored Acceptable Sets
- judgingβauthoring split: measure pointwise correctness separately from the acceptance region induced by a generated artifact
- executable predicate control: ask for a predicate and execute it to distinguish specification knowledge from set enumeration failure
- oracle-labeled suite audit: run generated tests over reference-correct and reference-wrong pools with clustered uncertainty
- known-correct-probe gate: trust a generated verifier only after it accepts independently known-correct behavior
- execution-based expectation repair: replace wrong expected outputs with outputs from a trusted reference and re-gate
- omission-focused review: search for missing acceptable behavior, since written over-inclusions are easier to detect
Joint Verification and Refinement of Language Models for Safety-Constrained Planning
- AST-to-FSA abstraction: parse generated control flow, map API keywords to finite-state transitions, and model-check the product with an environment system
- compositional safety theorem: compose individually safe automata only after checking every join against bad-prefix conditions
- verification-guided refinement: use only model-checked programs as labels for supervised fine-tuning, preferably at component granularity
ITPEval: Benchmarking Formal Translation Across Interactive Theorem Provers
- tiered translation benchmark β separate self-contained axiomatized files from real library-dependent files to localize failure causes
- state-isolated native checking β run each artifact with reset, environment-keyed prover state and record provenance
- bidirectional semantic equivalence β prove generated and reference statements entail each other after native checking
- formalβnatural-language round trip β re-formalize an intermediate natural-language description and compare executable verification rates
IsarStep: a Benchmark for High-level Mathematical Reasoning
- intermediate proposition synthesis: generate a bridge fact from upstream facts and a downstream proposition
- role-aware formal encoding: encode proof terms with syntax tokens, normalized variables, and proposition categories
- hierarchical transformer: model token relations locally and proposition relations globally
- theorem-prover validation: accept alternatives only when both upstream-to-candidate and candidate-to-goal implications are proved
- leakage-resistant split: remove duplicate targets and examples from the same theorem as held-out data
- reasoning diagnostics: inspect embeddings, attention, and multi-step examples alongside proof success
Is unsafe an Achillesβ Heel? A Comprehensive Study of Safety Requirements in Unsafe Rust Programming
- safety-property extraction β audit Rustdoc, examples, and source in two rounds to label unsafe APIs with composable PRE-SP and POS-SP requirements
- CVE-grounded benchmark construction β filter, manually audit, and SP-label reported Rust unsafe vulnerabilities
- ecosystem usage mining β count unsafe API names in crates.io source files to prioritize frequently crossed boundaries
- practitioner validation triplets β evaluate each SP with a document slice, sound snippet, and misused PoC using experienced Rust programmers
Is Rust Used Safely by Software Developers?
- unsafe abstraction census: count unsafe blocks, functions, traits, and implementations by crate and ecosystem stratum
- type-aware extended call graph: use MIR, generic substitutions, and two dispatch assumptions to resolve or bound calls
- reverse worklist propagation: mark callers of unsafe functions until all possibly unsafe functions are reached
- dependency closure analysis: distinguish locally safe crates from crates whose dependencies contain Unsafe Rust
- operation taxonomy: measure unsafe function calls, pointer dereferences, globals, and intrinsics with explicit denominators
- developer confidence survey: collect reasons for unsafe and static, dynamic, testing, and proof practices
InvWeaver: Deductive Feedback for Invariant Synthesis in Interacting-Loop Programs
- loop-constraint graph: represent loops, boundaries, state transfers, and proof dependencies as a graph for synthesis order
- obligation-guided inference: prompt each loop with predecessor and successor proof obligations
- WP failure diagnosis: reconstruct failed targets and classify repair scope and direction
- dependency-propagating refinement: repair failed and dependent invariants, filter doomed candidates, and iterate validation
InvGen: An Efficient Invariant Generator
- template-based linear invariant synthesis β instantiate parameterized inequalities so every cut-point path satisfies a Hoare inductiveness condition
- dynamic constraint strengthening β substitute concrete or symbolic reached states into templates to add cheap coefficient constraints
- abstract-interpretation guidance β use interval, octagon, and polyhedral facts to remove paths and focus synthesis on missing predicates
- transition minimization and local simplification β collapse cut-point-free paths and eliminate redundant or scoped existential constraints
- incomplete small-domain case analysis β enumerate likely 0/1 implication variables and solve the resulting linear systems
- incremental error-path solving β synthesize one error path at a time and reuse each invariant to strengthen later paths
Invariant Detection with Program Verification Tools
- over-approximation gate: use only analyses whose positive result proves the invariant for all executions
- immutable SMT memory encoding: represent C state with typed arrays, records, and memory-in/memory-out function terms
- inductive one-iteration loop model: encode one complete symbolic iteration and prove preservation by induction
- pollution graph slicing: propagate dependence from an unmodelable item and verify only variables outside its reachable region
- tagged function-pointer dispatch: encode function addresses as distinct integers and select behavior with conditional branches
Introducing H, an Institution-Based Formal Specification and Verification Language
- institution parameterisation β select a base logic for data and add a uniform modal layer for dynamics
- rigidity and sharing constraints β require symbols or domains to agree across Kripke worlds
- conservative comorphism encoding β translate hybrid specifications to FOL and recover source validity through conservativity
- heterogeneous Hets structuring β compose logics, signature translations, unions, and colimits through a graph of institutions
- two-level quantification β separate base data quantifiers from hybrid/world quantifiers in one specification
Introducing Certified Compilation in Education by a Functional Language Approach
- semantics-first scoping β choose a small core language whose syntax, execution, and compilation fit the proof budget
- fuelled partial correctness β add an explicit decreasing fuel parameter and prove correctness of successful executions
- Hoare VC generation β derive loop and command obligations from pre/postconditions and discharge them with SMT
- compositional compiler preservation β prove each phase preserves a source/target relation, then compose the phase lemmas
- extraction-aware teaching β use extractable verified data and executable code while stating the extraction and solver assumptions
interwhen: A Generalizable Framework for Steering Reasoning Models with Test-time Verification
- state extraction: fork a model to turn partial traces into verifier input variables
- asynchronous steering: run checks beside one trajectory and roll back only on violations
- spec-to-verifier proof: generate a formal policy, executable checker, and machine-checked equivalence proof
- layered verifiers: combine policy, trace-derived, and prompt-derived checks
- feedback intervention: attach verifier diagnostics at the rollback prefix and regenerate
- completeness auditing: test extraction and verifier coverage because formal checker soundness alone is insufficient
Interpolation synthesis for quadratic polynomial inequalities and combination with EUF
- nssoc SDP interpolation: solve a semidefinite certificate and split its SOS witness into A-local and B-local parts
- recursive CQ interpolation: use SOS-derived equalities to eliminate variables and recurse, then wrap the result in a disjunctive interpolant
- SOS certificate checking: reconstruct exact square decompositions from numerical SDP output before accepting a candidate
- EUF purification and Horn combination: flatten function terms, generate functionality Horn clauses, separate mixed clauses, and call the CQ interpolator
- separating terms: compute common-variable lower and upper bounds for A-local and B-local terms to split mixed equalities
Interpolation in local theory extensions
- local theory extension β bound quantified instantiation to extension terms already present in the ground obligation
- hierarchical satisfiability reduction β flatten and purify extension terms, then solve congruence-augmented clauses in the base theory
- mixed-clause separation β split each mixed Horn rule through shared interpolating terms and fresh shared extension values
- hierarchical interpolant procedure β iterate separation, interpolate the pure base problem, and substitute fresh constants back to original terms
- abstraction-refinement use β turn an interpolant for a spurious counterexample into predicates that refine the next abstract-state check
InternLM-Math: Open Math Large Language Models Toward Verifiable Reasoning
- multi-task formal SFT β train one model on informal/formal translation, Lean proof states, solver outputs, and verifier labels
- verifier reward reranking β sample many solutions and rank them with outcome/process models or executable Lean checks
- RICO tool loop β alternate model reasoning, code execution, observed results, and final synthesis
- iterative hard-example mining β regenerate failed training responses and retain newly verified examples for later rounds
- calculation-path supervision β rewrite arithmetic into dependency-ordered intermediate steps to reduce hallucinated equations
- executable formal interface β encode a word problem as Lean definitions and evaluate it, while tracking type-semantic limits
- process-audit sampling β manually inspect correct answers for invalid intermediate reasoning and report process fractions
InternLM2.5-StepProver: Advancing Automated Theorem Proving via Critic-Guided Search
- critic-guided state expansion β score intermediate proof states with a learned critic and expand the highest-value state
- hybrid search β combine likelihood-ranked best-first search with critic-ranked search to cover complementary proof regions
- bootstrapped expert iteration β retrain prover and critic on successful verified trajectories over repeated search rounds
- proof-context prompting β include the tactics leading to the current state when proposing the next proof step
Interface Generation and Compositional Verification in JavaPathfinder
- L* interface learning with model-checking oracles β iteratively learn a minimal automaton and refine it with safety and permissiveness counterexamples
- nondeterministic permissiveness oracle β complete the interface and component, test
(Ο, ok)reachability, query projected traces, and backtrack on spurious paths - memoized counterexample queries β cache projected-trace results to avoid nested or repeated model-checker calls
- assume-guarantee interface discharge β check the generated interface as a property of the component environment
- protocol assumption extraction β generate finite-state rules from spurious violations, then inspect and reuse them as explicit environment assumptions
Interactive Code Generation via Test-Driven User-Intent Formalization
- three-valued intent queries: ask YES, NO, or UNDEFINED about generated input-output tests and prune candidates accordingly
- static test mutation: repair parse errors or retain a first assertion to produce executable queries
- dynamic test mutation: execute candidates to propose alternate observed-output tests
- discriminative test ranking: score tests by how evenly they split passing and failing candidates
- passing-test code ranking: order candidates by the number of generated tests they pass
Intent Formalization: A Grand Challenge for Reliable Coding in the Age of AI Agents
- specification spectrum: select tests, runtime contracts, logical contracts, or verified DSL synthesis according to required coverage
- postcondition and invariant generation: generate candidate contracts, then filter them by soundness and completeness
- mutation-based specification metrics: test original outputs for soundness and mutated outputs for completeness, reporting the mutation denominator
- interactive ambiguity testing: ask users to classify disagreement-focused examples and retain approved tests as regressions
- verified DSL pipeline: refine a formal DSL with symbolic feedback and compile it through a verified synthesizer
Integrating Symbolic Execution with LLMs for Automated Generation of Program Specifications
- strongest-postcondition guidance: symbolically execute path conditions and stores so loop-free behavior constrains generated contracts
- invariant skeleton completion: generate equality and entry-condition templates, then have an LLM fill only the unknown relations
- error-directed refinement: classify verifier failures, weaken or strengthen the affected invariant, and retry up to a fixed limit
Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL
- weak-memory Owicki-Gries embedding β encode C11 state as a special variable and translate annotated reads/writes into atomic transitions while reusing compound-command rules
- high-level C11 assertions β express viewfront observations, release/acquire transfer, write order, value occurrence, and covered writes as reusable predicates and lemmas
- staged proof automation β run
oghoare, simplify predicate representations, then discharge residual weak-memory goals with solver automation
INT: An Inequality Benchmark for Evaluating Generalization in Theorem Proving
- lightweight proof-state environment β keep a small trusted checker with sequence and graph action interfaces
- morphing theorem generator β apply a chosen axiom order to a core statement and accumulate premises
- behavior-cloning proof policy β train sequence and graph models from recorded generated proofs
- six-axis OOD evaluation β vary initial condition, axiom order, combination, count, length, and IID distribution separately
- axiom-space MCTS β search a small axiom branch space while a policy proposes concrete arguments
- verifier-backed success accounting β count complete proofs and state denominators, step limits, and unsolved penalties
INPROVF: Leveraging Large Language Models to Repair High-level Robot Controllers from Assumption Violations
- abstraction informalization β translate formal environment and automaton behavior into checked natural-language context
- constrained repair generation β request machine-parseable candidate skills in a fixed DSL and reject malformed output
- syntax plus realizability checking β type-check ASTs before testing the updated formal specification
- counterstrategy feedback β analyze sink safety states and sinking SCCs to produce targeted repair prompts
Inference-Time Diversity in RL-Trained Lean Theorem Provers: A Diagnostic Study
- tactic-skeleton scheduling β allocate fixed verifier calls across diverse structural proof prefixes instead of one repeated prompt
- structural ablation β compare tactic stems, natural-language hints, paraphrases, and irrelevant comments to isolate useful diversity
- leave-one-out difficulty β stratify diversity gains by other-model solvability on the exact formalization
- first-action entropy β measure distinct opening proof actions to detect inference-time mode collapse directly
Industrial-Strength Verification of Solid State Interlocking Programs
- notation-preserving domain translation: import industrial schemas and programs into a common formal model with bidirectional source traceability
- inductive proof-obligation generation: express safety principles as invariants and check preservation over every generated state update
- domain-specialized automation: use a custom symbolic prover and reusable tactics tuned to recurring transition structures
- safety-case integration: trace invariants to standards, maintain hazard logs and assumptions, and stage deployment dependency
Inductive Synthesis of Inductive Heap Predicates
- positive-only predicate learning β enumerate hypotheses against positive examples, retain non-comparable complete candidates, and prune by entailment
- clause minimisation β remove logically equivalent clauses with shorter bodies before searching
- SL-aware bounded synthesis β expand variable/body bounds and use shape-specific constraints, with local completeness only within a bounded margin
- graph-guided example generation β fuzz memory graphs, retain assertion-passing instances, and summarize them as positive logic facts
Incremental Symbolic Bounded Model Checking of Software Using Interval Methods via Contractors
- incremental BMC β unroll transition systems and increase the bound until a counterexample or completion threshold
- forward-backward contractor β propagate interval constraints forward and backward to contract a variable box
- outer/inner decomposition β separate guaranteed failures, guaranteed successes, and an undecided boundary
- monotonicity-aware instrumentation β insert
assumeonly for safe tail regions of monotone loops - syntax and interval filtering β disable contraction when operators or interval precision are unsupported
Incorporating Data Dependencies and Properties in Difference Verification with Conditions (Technical Report)
- difference verification with conditions: compute a sound overapproximation of regression paths, encode it as a condition, and verify only uncovered paths
- diffDP witness alignment: align modified and original paths while propagating variables changed by data dependencies
- affected-variable propagation: add written variables after changes, propagate through reads, and remove overwritten variables when safe
- conditional-verifier evaluation: compare full and incremental verification by solved counts, CPU time, condition size, and extractor overhead
&inator: Correct, Precise C-to-Rust Interface Translation
- LLVM-to-source conversion β lower whole-program C to a typed IR with explicit drops, pointer paths, and labels
- Rust fragment inference β choose ownership, borrowing, mutability, lifetime, slice, and interior-mutation fragments with SMT
- type consistency constraints β enforce parity, finite recursive layout, arrays, mutability, ownership, and external-function rules
- semantic preservation constraints β prevent C-to-Rust copy, move, and pointer transformations from invalidating live paths
- NLL loan analysis β solve lifetimes, subtyping, reborrowing, in-scope loans, and conflict conditions by data flow
- precision optimization β minimize cell qualifiers and pointer/runtime costs after satisfying correctness
Improving Symbolic Translation of Language Models for Logical Reasoning
- error taxonomy β classify translation failures so data filters and repairs target concrete causes
- tool-filtered synthesis β generate symbolic training data and retain only parser- and solver-checked records
- structured fine-tuning β train small models on natural language, predicates, and FOL as one structured target
- incremental inference β generate predicates first and formulas second to limit error propagation
- arity verification β check predicate signatures between generation stages before solver execution
Improving Small Language Models for Code Generation with Reinforcement Learning from Verification Feedback
- graded execution reward β map pass, assertion, runtime, and interpreter outcomes to distinct scalars
- normalized static-analysis shaping β sum severity penalties, divide by line count, and clip to a bounded range
- pass-gated reward combination β weight style penalties more after functional success and add an anti-empty penalty
- group-relative GRPO/GSPO β optimize token-level or sequence-level clipped objectives from within-prompt reward advantages
Improving Dynamic Specification Inference with LLM-Generated Counterexamples
- targeted LLM counterexample generation β ask a model to turn each surviving candidate contract into an executable violating test
- executable validation and ground-truth checking β compile witnesses, execute them in the inference tool, and compare against independently encoded ground truths
- controlled comparison and model replication β compare baseline and augmented inference on fixed subjects and repeat across model families with explicit denominators
ImProver 2: Iteratively Self-Improving LMs for Neurosymbolic Proof Optimization
- verified candidate rewriting: sample many proof variants, compile each, and keep only metric-improving valid proofs
- context-slice augmentation: expose directly referenced definitions, theorem signatures, and documentation to the generator
- chain-of-states prompting: serialize intermediate proof goals after each tactic to reveal formal structure
- auto-informalization: provide a natural-language proof-state sketch as auxiliary input while judging formal output
- replay-buffer IRPO: mix old and new candidates, form winnerβwinner and winnerβloser pairs, and train iteratively
- dual accuracy reporting: separate compilation accuracy from the fraction of outputs that compile and improve the metric
- structural proof metrics: score tactic length, explicit dependencies, and effective spawned subgoals with stated proxy limits
Improvements in Software Verification and Witness Validation: SV-COMP 2025
- indexed verification benchmark: organize tasks by language, property, feature, and category with explicit expected results
- independent witness validation: require a separate validator to confirm correctness or violation certificates after verifier execution
- reproducible scoring and budgets: fix hardware limits, penalize wrong proofs heavily, and normalize category scores by declared denominators
Impredicative Concurrent Abstract Predicates
- abstract resource predicates: hide shared representation behind predicates and prove implementations against modular Hoare triples
- impredicative protocols: parameterize region transitions by arbitrary predicates, including guarded recursive references
- recursive event-loop specs: let callback contracts refer to the loop resource and verify reentrant dispatch
- helping-based modular ADTs: connect fine-grained cooperative operations to abstract effects through protocol transitions
- semantic soundness model: establish safety of the proof logic with a model construction and operational semantics
Imperfect Visual Verification for Code Edition : A Case Study on TikZ
- multimodal score-and-feedback loop β render original/current artifacts, score instruction compliance, return feedback, and iterate with a conservative stopping threshold
- property decomposition β turn a high-level requirement into independently scored properties and aggregate their scores
- executable oracle catalog β generate code that composes typed visual checks, execute it, and emit feedback only above a probability threshold
- trajectory feedback evaluation β label correctness, precision, guidance, completeness, and forgetfulness of feedback inside multi-step refinement
Imbuing Large Language Models with Bidirectional Logic for Robust Chain Repair
- PSM bidirectional conditioning β reorder query, verified prefix, milestone, and bridge with three sentinels so a causal decoder sees both endpoints
- verified-gap SFT β train on contiguous trace gaps whose endpoints independently pass a symbolic verifier
- verifier-grounded DPO β form preference pairs from deterministic proof acceptance and rejection, avoiding LLM judges
- surgical dual-system repair β locate the first failed step, infill only its bridge, splice it back, and reverify
- bounded milestone scan β select the first later step that passes the verifier, with suffix-regeneration fallback
- verifier-token budgeting β charge regenerated bridge tokens against a fixed budget and stop after bounded iterations
Imandra CodeLogician: Neuro-Symbolic Reasoning for Precise Analysis of Software Logic
- Inference: verification goals and counterexamples β state universal properties, prove or refute them, and refine assumptions from concrete witnesses
- Inference: region decomposition β partition behavior into constrained invariant regions and turn witnesses into coverage tests
- Inference: pure-functional autoformalization β expose state, recursion, abstraction levels, and unknown behavior in a checkable model
- Inference: interaction counterexamples and numeric invariants β verify feature interactions and exact conservation, then repair assumptions exposed by witnesses
- Inference: dependency-aware incremental formalization β formalize in import order and recompute only affected modules
Hypothesis-Disciplined Multi-Agent Automated Formalization of Asymptotic Statistical Theory
- source-anchored boundary audit β classify every changed theorem or authored-definition obligation against a verbatim source row and remove unsupported strengthening
- staged multi-agent proof workflow β lock signatures, execute isolated waves, review bodies and axioms, integrate on a rebuilt trunk, and close only after audit
- Scout gap reports and falsification triage β boundedly classify library support and route blocked goals through counterexample or confirmation checks
- definition-layer drift control β pin authored structures and definitions so proof obligations cannot move silently from theorem signatures into ghost or concept fields
HyperLogic: A Hard, Forward-Authored Chinese Logical Reasoning Benchmark with Execution-Derived Answers
- reviewed hardening loop β decider, background proposer, question proposer, and reviewer raise difficulty without writing answers
- finite-domain executable semantics β encode variables, derived terms, and cited constraints, then dispatch typed queries to solvers
- dual independent formalization β require two encodings and solver traces before adjudication
- coverage and restriction audit β test missing source claims and unjustified constraints with concrete worlds
- tool-condition evaluation β compare direct answers, sandbox agents, and sandbox agents with a modeling library
- possibility-space error taxonomy β separate under-enumeration, over-enumeration, and semantic modeling failures
Hydrozoan: Latency-Adaptive DAG Consensus under Mixed Byzantine and Crash Faults
- dual commit paths β race a fast quorum against a direct fallback so latency adapts to topology and faults
- certificate-based safety β represent votes and ancestry as explicit predicates and prove conflicting certificates impossible
- machine-checked liveness β prove eventual decision under explicit synchrony, fairness, and validity assumptions
- generated-proof workflow β separate audited definitions and theorem statements from kernel-checked generated proof scripts
- topology-driven provisioning β choose fast-path budget from slow-region size and simultaneous-fault targets
Hybrid Systems Verification with Isabelle/HOL: Simpler Syntax, Better Models, Faster Proofs
- lens-based frames β model typed stores with independent projections and prove untouched state with a separation-style frame rule
- shallow expression translation β preserve readable specifications while translating program variables to semantic store operations
- framed differential induction β calculate derivatives only over mutable continuous variables and combine cuts, frames, and ghosts
- automated flow and invariant tactics β use weakest-precondition, differential-induction, and certified-flow methods to discharge routine obligations
HunyuanProver: A Scalable Data Synthesis Framework and Guided Tree Search for Automated Theorem Proving
- iterative verifier-backed data synthesis β generate many formal statements, retain checked tactic trajectories, and fine-tune across rounds
- best-first tactic search β select the highest-scoring proof state, sample multiple tactics, execute in Lean, deduplicate, and repeat
- Ξ·MCTS with UCB β revisit states and allocate expansion by critic importance while balancing exploration and exploitation
- policy-confidence and process critics β rank tactics or states using token likelihood and +1/β1 reachability labels
- coarse-to-fine distance critic β predict remaining proof length as a balanced-tree path and use it to guide search
Humanize: Judgement Engineering for Agentic Coding
- plan contract: freeze goal, acceptance tests, boundaries, and task ownership before coding, then human-check the plan
- alternating review: route each builder round through a fresh independent reviewer whose parsed verdict controls completion
- mechanical gate protocol: validate state, round artifacts, review format, and explicit stop conditions in deterministic hooks
How Strongly Should Task State Influence an LLM Agent?
- receipt-verified state machine β derive status from verified execution receipts rather than prose claims
- coupling ladder β compare raw display, directives, and hard enforcement under paired episodes
- dispatch enforcement β refuse state-violating actions before tool execution
- matcher audit β measure and bound errors mapping natural-language requests to steps
- state-corruption testing β inject graph and status faults to quantify enforcement ceilings
- request-bound policy β reject eligible actions that do not match the current request
HolStep: A Machine Learning Dataset for Higher-order Logic Theorem Proving
- LCF trace dataset extraction β record kernel inferences, dependencies, proof boundaries, and used/unused steps offline
- canonical proof-statement encoding β normalize binders and names and provide character and token views
- useful-step classification β rank candidate proof statements as useful or unused for a conjecture
- siamese conjecture conditioning β encode candidate and conjecture in shared branches before classification
- verifier-guided graph search β use learned scores for branch ordering while the prover checks every step
HoarePrompt: Structural Reasoning About Program Correctness in Natural Language
- natural precondition extraction β prompt an LLM to turn requirements and a signature into a valid-input state predicate
- compositional natural strongest postcondition β propagate sampled state descriptions through atomic and compound statements
- branch and exception merging β compute path-specific postconditions and merge them at control-flow joins
- few-shot-driven k-induction β unroll loops, use iteration triples as examples, and infer a whole-loop summary
- state-annotation classification β classify or refine code after annotating key points with reachable states
Hilbert: Recursively Building Formal Proofs with Informal Reasoning
- semantic theorem retrieval: generate several queries, retrieve top-k library facts, and select the useful lemmas before proof generation
- checked proof sketches: express intermediate claims as independently syntax-checked subgoals, then assemble calls to their proofs
- staged recursive solving: try a specialized prover, validate the subgoal, shallow-solve with retrieved facts, and recursively split failures to a depth bound
- verifier-directed repair: feed compiler errors back to the reasoner, augment missing theorem identifiers, and accept only a checker-verified candidate
Higher-Order Specifications for Deductive Synthesis of Programs with Pointers (Extended Version)
- layout-separated ADTs: define constructors and reusable pointer layouts separately, then generate SSL for a chosen instantiation
- higher-order SSL predicates: encode generic map/fold relations and instantiate layouts for each call
- function predicates: represent pure function calls as SSL
funcheaplets with output locations - temporary locations: allocate and free intermediate results for sequential function composition
- constant points-to: prevent synthesis from mutating read-only input cells
- sound translation: prove every well-typed Pika execution satisfies its translated SSL proposition
Higher-order Program Verification as Satisfiability Modulo Theories with Algebraic Data-types
- relational Horn summaries β encode each functionβs input/output behavior and assertions as Horn clauses whose satisfiability proves partial correctness
- closure ADT encoding β represent finite closure shapes as algebraic-data-type constructors and reason through an evaluator relation
- assertion-directed specialization β remove irrelevant evaluator arguments and closure constructors while preserving equisatisfiability
- Horn inlining by resolution β merge predicates and resolve recursive constructor rules to expose a solver-friendly clause set
- quantified invariant abstraction β add quantified ghost parameters to recursive predicates, instantiate templates, and synthesize inductive arithmetic relations
Hierarchical Attention Generates Better Proofs
- five-level proof hierarchy β classify context, case, type, instance, and goal tokens with a partial order
- masked hierarchical attention β allow same/lower-level access and penalize forbidden downward flow
- layer-wise flow loss β use Ξ±l = 1 β l/L and combine flow loss with cross-entropy
- hierarchy-aware proof search β evaluate regularized models with best-first or single-pass tactic sampling
- structural parser β infer levels from theorem syntax and preserve levels across multiline statements
HHLPy: Practical Verification of Hybrid Systems using Hoare Logic
- invariant ODE rules β prove continuous behavior with differential weakening, Lie-derivative invariants, cuts, ghosts, barriers, or Darboux certificates
- weakest-precondition VC generation β turn annotated loops and ODEs into separately solvable initialization, maintenance, branch, and boundary obligations
- stable VC labels β retain solver choices across small edits by labeling conclusion assertions and branch paths
- source highlighting β show the exact commands, assertions, and ODE domains that contributed to a VC
Heterogeneous Verification of an Autonomous Curiosity Rover
- AJPF agent model checking β express ground LTL properties over GWENDOLEN beliefs, actions, and intentions and exhaustively check the agent model
- Dafny interface contracts β verify initialization, environmental classification, and loop safety with postconditions and invariants
- CSP/FDR4 protocol checking β model clientβserver event sequences and check goal routing, completion, and readiness properties
- ROSMon runtime verification β synthesize monitors from formal assumptions and check live ROS messages at deployment
HERMES: Towards Efficient and Verifiable Mathematical Reasoning in LLMs
- intermediate formalization β translate each critical informal step into Lean, compile it, and back-check semantic equivalence before proof search
- goal and counter-proof search β attempt both a formal goal and its negation and feed proof, counter-proof, or failure status back to the model
- verified proof memory β embed validated steps, retrieve top-k context, and reuse it as explicit hypotheses
- modular verifier pipeline β keep formalizer, prover, checker, scheduler, and feedback modules replaceable while retaining checker acceptance
Herding Cats - Modelling, simulation, testing, and data-mining for weak memory
- candidate-execution construction β represent instruction events,
po,rf,co, and derived relations before applying axioms - four generic weak-memory axioms β reject cycles for SC PER LOCATION, NO THIN AIR, OBSERVATION, and PROPAGATION
- architecture relation instantiation β define
ppo, fences, and propagation for SC, TSO, C++ R-A, Power, or ARM - hardware litmus testing β generate tiny tests, run them on machines, and classify unseen versus invalid outcomes with exact denominators
- herd simulation β execute concise relation specifications over all candidate executions
- axiomatic CBMC verification β encode the memory model directly in bounded C verification and compare with SC instrumentation
- mole static mining β overapproximate thread groups and shared objects, enumerate cycles, and classify them by memory-model axiom
Heimdall: Formally Verified Automated Migration of Legacy eBPF Programs to Rust
- layered translation verification β combine source safety, compiler checks, symbolic C/Rust equivalence, kernel admission, and runtime validation
- verifier-guided LLM repair β feed compiler, kernel, and equivalence failures back into an inner translation loop
- safe API bug elimination β use typed wrappers, ownership, initialization, and hook-specific constants to block verifier-accepted C defects
- bytecode relational checking β compare symbolic return and side-effect formulas on compiled objects rather than trusting source similarity
HarnessLLM: Rust Verification Harness Generation with Large Language Models
- MIR target discovery β find unsafe or panic-prone in-repository functions before harness generation
- scenario extraction β split assertions with backward use-def analysis, deduplicate traces, and preserve calls by replay
- dependency graph synthesis β recursively build nondeterministic complex values from constructors and trait implementations
- compiler-feedback refinement β compile with Kani, freeze correct sections, and reject fabricated declarations
Hardware/Software Co-Assurance using the Rust Programming Language and ACL2
- restricted Rust subset: adopt RAC-like syntax and semantics so code is suitable for hardware synthesis and theorem proving
- source-to-source assurance pipeline: translate RAR to RAC, then to ACL2, C/C++, or HLS backends
- automatic loop measures: translate loops to tail recursion with termination measures for ACL2 admission
- shared-array invariant: prove free/used list disjointness, bounds, no duplicates, and capacity conservation over one backing array
- theorem-prover contracts: state
good-stateppreconditions and functional postconditions as ACL2 theorems - bounded scalability comparison: compare model checking, symbolic execution, and ACL2 with explicit array-size limits
Hard2Verify: A Step-Level Verification Benchmark for Open-Ended Frontier Math
- frontier-question curation: select recent open-ended problems whose answers cannot be checked by string match
- natural-response sampling: collect model errors without injecting synthetic mistakes
- strict step annotation: label every step and propagate prior errors to later steps
- three-task verifier evaluation: measure step, whole-response, and first-error performance
- prompt comparison: derive first-error indices from step labels and compare with direct ErrorID
- sequential compute scaling: spend more reasoning on each judgment and compare with parallel votes
- self-verification audit: compare a generatorβs human-judged solve rate with its own verification rate
- disagreement audit: convert expert/model false positives into targeted verifier cases
Guiding LLM Temporal Logic Generation with Explicit Separation of Data and Control
- data/control separation β hide representation operations behind declared function and predicate symbols
- three-part prompt β provide a summary, plain-English constraints, and typed symbol signatures
- temporal abstraction β specify control over arbitrary implementations of data functions and predicates
- validity/correctness metrics β measure parseability, semantic correctness, and correctness conditioned on validity
- abstraction ablation β remove interfaces or descriptions to isolate which prompt information helps
- interface semantic audit β check that generated use of each symbol matches its declared meaning
Guiding LLM-based Loop Invariant Synthesis via Feedback on Local Reasoning Errors
- failed-VC invariant synthesis: generate candidate invariants, check establishment/preservation/postcondition VCs, and retain failed VCs
- structured proof tracing: ask for one failed VCβs initial facts, numbered sequential reasoning steps, and conclusion
- implication auto-formalization: translate each step into annotated first-order implications and check premises and conclusions with an SMT solver
- diagnostic refinement: feed exact invalid premises or implications back to the synthesizer and iterate
- BMC conjunct accumulation: after feedback rounds, collect valid conjuncts with bounded model checking and combine them with the growing invariant set
Guiding Enumerative Program Synthesis with Large Language Models
- prompt library: iterate structured prompts, intermediate languages, and format checks for direct formal synthesis
- invariant explanation prompting: ask the LLM to explain invariant constraints before proposing the invariant
- pCFG synthesis: derive production weights from failed LLM programs and guide CEGIS enumeration toward their grammar region
- weighted A* synthesis: search grammar derivations by negative log probability with a completion heuristic
- inline LLM oracle: query an LLM during enumeration with partial programs and counterexamples
- helper-function grammar updates: add well-typed LLM helpers as productions and update rule weights
Growing an Agent/Prover Interface: Evolutionary Tool Design for Cost-Efficient Theorem Proving in Rocq and Lean
- evolutionary interface search β propose one prover-tool mutation at a time and retain it only under fixed accuracy, cost, and time validation rules
- live proof-state interaction β maintain an incremental prover session with tactic execution, rollback, compact diagnostics, and final verification
- budget-driven information density β use fixed time/call budgets and measure tokens and calls so useful diagnostics reduce interaction cost
- anti-cheating proof harness β protect statements/imports, reject unsound commands, rebuild cleanly, and audit assumptions before counting success
- cross-prover interface transfer β port an evolved tool set to another proof assistant and report accuracy, cost, and time with contamination caveats
Grove: a Separation-Logic Library for Verifying Distributed Systems
- owned distributed resources β assign exclusive per-node state and duplicable ghost knowledge, then prove functions compositionally
- time-bounded lease invariants β guard reads and reconfiguration with an expiry proof tied to a bounded clock interval
- crash obligations β relate durable files to ghost logs and reconstruct volatile state after crashes
- exactly-once escrow and prophecy β make retries idempotent and resolve uncertain linearization with ghost predictions
- verified RPC contracts β prove unreliable communication once and compose clients from stable specifications
GraphAlignCoder: Aligning Program and Proof Graphs for Code Generation
- implementation graph β represent control, call, dominance, and region structure from a parsed reference program
- constrained proof-flow graph β turn checked Lean goal-state transitions into tactic-labeled correctness structure
- graph-role alignment β retain implementation roles supported by overlapping proof roles and generate region obligations
- multi-target injection β train one model on code, concept, and obligation targets with a summed loss
- verification-to-code consolidation β remove auxiliary outputs through a second code-only training phase before deployment
Graph Representations for Higher-Order Logic and Theorem Proving
- shared logical graphs β encode ASTs with parent/child edges and merge equal subexpressions, including type expressions
- bidirectional message passing β aggregate parent and child context over multiple hops before graph pooling
- tactic and premise ranking β jointly predict a proof tactic and rank its eligible lemma arguments during search
- proof-search integration β evaluate learned predictions by running the prover and counting closed validation theorems
- representation ablation β compare AST, leaf sharing, variable blinding, random edges, and directional graphs to identify useful context
Graph2Tac: Online Representation Learning of Formal Math Concepts
- shared mono-graph encoding β represent definitions, proof states, binders, and references in one reversible graph with shared equal terms
- online recency k-NN β retrieve tactics from the 1000 most recent proof steps using proof-state features
- dual-task graph prover β train a shared GNN to embed definitions and predict tactics plus arguments
- dependency-ordered online embeddings β compute embeddings for unseen definitions in topological dependency order
- complementary solver portfolio β combine definition-based Graph2Tac and proof-script-based k-NN under one budget
Grammars of Formal Uncertainty: When to Trust LLMs in Automated Reasoning Tasks
- SMT-LIB intermediate representation: generate solver-checkable formal artifacts in a stable standard language instead of a bespoke DSL
- PCFG induction from artifact ensembles: parse many valid outputs and estimate production-rule probabilities with MLE and smoothing
- grammar uncertainty metrics: use entropy, perplexity, KL divergence, spectral radius, NSUI, rule statistics, and consistency scores
- selective verification by fusion: combine uncertainty signals, calibrate a predictor, and abstain at a threshold chosen for error reduction
- qualitative formalization diagnostics: inspect low-probability parse structures for aliasing, decomposition variance, semantic drift, and unstable facts
- temperature-aware sampling analysis: measure how sampling temperature changes recursive structure and uncertainty before setting a generation policy
Gradual C0: Symbolic Execution for Gradual Verification
- intermediate gradual IR: lower source programs to a common Gradual Viper language so symbolic semantics and check optimization are reusable
- optimistic two-heap execution: separate precise ownership from imprecise assumptions and cache optimistic chunks to avoid duplicate checks
- residual check minimization: convert obligations to CNF, retain only solver-undischarged conjuncts, and translate symbolic terms back to source expressions
- branch-conditioned checks: version branch predicates at their origin and guard each generated runtime assertion with the relevant path condition
- source-level ownership encoding: implement recursive predicates, accessibility, and separation with object IDs and hash-table ownership sets
- specification performance lattice: sample paths from
?to full precision and measure static discharge, runtime overhead, and element-level effects
Graded Hoare Logic and its Categorical Semantics
- graded primitive contracts β index every effectful command/procedure by a precondition, postcondition, and grade from a preordered monoid, then compose grades sequentially
- indexed bounded-loop rule β prove one assertion per iteration and a statically known count to obtain an N-fold grade
- boolean side condition β require a guard to be provably true or false under the precondition before applying the conditional rule
- control-flow trace grading β instrument branches with labels and compare relational traces using a word monoid
- probabilistic failure grading β assign distribution-specific failure bounds and add them with the union-bound composition rule
- categorical refinement model β separate values, effects, predicates, grades, and grade-erasing denotations with Freyd categories and fibrations
Governance Records as Supervision: Verifier-Selected Self-Training for Structured Workflow Repair
- governance record β bind contract, candidate, verifier result, target origin, lineage, and gate in an auditable immutable record
- verifier-filtered acquisition β sample multiple candidates, apply syntax-only normalization, and admit the first candidate accepted by a pinned deterministic verifier
- verifier-selected LoRA consolidation β train a frozen base with low-rank adapters on accepted targets to turn occasional expensive competence into one-response execution
- matched selector ablation β hold candidate pool and training fixed while changing only VAL, model-self, or schema-only target selection
- seed-level replication β freeze targets and corpus, vary training seeds, and use seed effects rather than repeated cases as the inferential unit
- bounded self-training loop β harvest accepted model outputs, retrain from the base on cumulative targets, and continue only under predeclared stopping and regression gates
Goedel-Prover-V2: Scaling Formal Theorem Proving with Scaffolded Data Synthesis and Self-Correction
- verifier-guided self-correction β parse compiler errors and revise a prior proof for bounded rounds instead of relying only on independent samples
- formal scaffold extraction β extract unsolved formal goals and add goals plus negations as true/false training examples
- informal scaffold synthesis β generate easier or harder natural-language variants, formalize them, and filter by syntax, correctness, and difficulty
- expert iteration β alternate large-scale proof inference, collection of verified traces, and SFT on the collected data
- hybrid RL for generation and repair β train whole-proof and correction tasks with verifier rewards and difficulty-aware sampling
- model averaging for diversity β interpolate base and fine-tuned parameters after SFT and RL to improve pass@N diversity
Gillian: Compositional Symbolic Execution for All
- action-parameterized symbolic execution β compile languages to GIL and instantiate a state/memory action model, reusing generic soundness proofs
- predicate-based path merging β use getter/setter core predicates, separating conjunction, fold/unfold, and contracts to merge branches and verify recursively
- bi-abductive resource inference β turn failed actions into sound assertion fixes, replay execution, and synthesize bounded procedure specifications
Getting More out of Large Language Models for Proofs
- proof-assistant information queries: let the model request missing definitions through commands such as Coq
Printduring generation - proof-state prompting: provide the current goal, locals, and hypotheses before each generated proof step
- dependency-context retrieval: supply reachable definitions and lemmas and constrain generation to existing names
- preceding-proof retrieval: select theorem-proof examples randomly or by a fine-tuned similarity retriever
- verifier-error repair: feed exact prover diagnostics into iterative candidate generation
- prompt diversity: sample varied demonstrations and tactic styles, then retain candidates accepted by the prover
Geometry of Reason: Spectral Signatures of Valid Mathematical Reasoning
- attention graph construction: symmetrize and aggregate transformer attention into a token graph
- spectral diagnostics: use Laplacian eigenvalues, HFER, entropy, energy, and smoothness as training-free features
- threshold validity classifier: calibrate one held-out threshold and report nested cross-validation separately
- logical-validity controls: compare technically rejected valid proofs and deliberately corrupted proofs to test what the signal tracks
GenOS: Compositional Certificates for Semantic Robustness in AI Code Generation
- observer-relative equivalence: define explicit execution observers and quotient classes before comparing prompts, code, or tools
- compatible-kernel composition: prove or measure local class-mass preservation and compose the bounds across workflow layers
- guarded commitment: require a sound validator before commit and model repair success conditionally on failure history
- finite robustness certificate: estimate quotient total variation with frozen settings, confidence bounds, and a summed layer-defect budget
Genetic Algorithm for Program Synthesis
- evolutionary proof-search tuning β evolve rule orders and cost weights while retaining deductive proof checking
- three mutation families β compare order-only, general rule-weight, and goal-specific rule-weight mutations
- timeout-and-effort fitness β score solved tasks within 2.5 seconds and break ties by rule applications
- elitist population update β keep 20 winners, with extra mutated offspring for the champion
Generically Automating Separation Logic by Functors, Homomorphisms, and Modules
- algebraic predicate laws β characterize containers and modalities with functor, homomorphism, associativity, distributivity, identity, and transitivity properties
- TP and bi-TP solving β reduce refinement transformations to pure conditions with inferred frame and anti-frame resources
- prioritized rule templates β instantiate generic transformations from algebraic property proofs, with ad-hoc and fallback rules
- wp-to-SL entailments β derive program-correctness entailments backward from generic weakest-precondition rules
- compositional data-structure automation β preserve predicate abstractions while reusing component models and generated rules
Generative transformations and patterns in LLM-native approaches for software verification and falsification
- transformation extraction β decompose each proposal into named input-to-output units using prompts, algorithms, and intermediate artifacts
- verification taxonomy β classify generation, extraction, formalization, evaluation, execution, and consultation by output function
- Generate and Fix β use verifier feedback to repair initial contracts, code, tests, or proofs
- Build Model and Extract to Focus β derive constraints or relevant code before asking an LLM to generate verification artifacts
- Divide, Generate and Merge β generate modular components and combine them into a checked result
Generative Language Modeling for Automated Theorem Proving
- conditional proof-step language modeling β serialize a formal goal and next proof action, then train a decoder-only model to generate the action
- verifier-filtered proof-tree search β sample multiple tactics, rank open goals by cumulative score, and retain only checker-valid expansions
- synthetic formal-proof generation β generate arithmetic and ring proofs with controlled parameters to fill sparse training regimes
- iterative learned value guidance β label visited goals by eventual resolution, train a provability objective, and use it to prioritize subsequent search
- mathematical pretraining β continue pretraining on code and mathematical corpora before proof-step fine-tuning
- interactive proof assistance β combine checker-filtered suggestions, human correction, and verified proof shortening
Generating Symbolic World Models via Test-time Scaling of Large Language Models
- best-of-N formal candidate search β sample diverse PDDL/specification candidates, rank by token likelihood, and retain several initializations
- instance verbalized refinement β have an optimizer LLM critique one candidate and a learner LLM rewrite it for several iterations
- validator-gated symbolic abstraction β validate a generated formal model, then delegate state-space search to A*/a classical planner
- explorationβexploitation scheduling β combine stochastic candidate exploration before iterative self-critique to avoid poor cold starts
Generating Millions Of Lean Theorems With Proofs By Exploring State Transition Graphs
- state-transition theorem synthesis β treat reachable proof states as new theorems and retain paths to a finished checker state
- tactic-template retrieval β normalize identifiers, embed templates, retrieve nearest candidates, and instantiate bounded substitutions
- bounded graph exploration β use priority-queue search with time and transition caps, then emit states within a fixed distance of completion
- verified-corpus training β train a tactic predictor on checker-accepted state/proof pairs and evaluate with bounded retries
Generating Logical Specifications from Requirements Models for Deduction-based Formal Verification
- requirements decomposition: derive atomic activities from use-case scenarios and structure activity diagrams with sequence, concurrency, branch, and loop patterns
- recursive temporal-spec generation: translate nested pattern expressions into formula sets using joined entry and exit summaries
- tableau property checking: negate
C(L)βQ, decompose the temporal tableau, and accept only when every branch closes
General Interpolation and Strong Amalgamation for Contiguous Arrays
- contiguous arrays with maxdiff: axiomatize bounded, fully initialized arrays and a greatest-difference operator for quantifier-free reasoning
- amalgamation construction: combine array models through functional embeddings and a disjoint index/element union
- constant-array strong amalgamation: add fixed-length default arrays to prevent unwanted identifications and obtain general interpolation
- hierarchical interpolation: preprocess, 0-instantiate, and reduce array interpolation to a polynomial-size TI βͺ EUF problem
GDEPO: Group Dual-dynamic and Equal-right Advantage Policy Optimization with Enhanced Training Data Utilization for Sample-Constrained Reinforcement Learning
- dynamic additional sampling β resample a failed theorem prompt until a verifier-accepted completion appears or a cap is reached
- equal-right advantage β use verifier correctness for policy-update sign and auxiliary rewards only for magnitude
- dynamic additional iterations β allocate extra gradient passes to samples that become valid after retries
- verifier-aware reward separation β keep formal acceptance distinct from length, repetition, and other shaping rewards
Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage Collector
- bronze gcref aliasing β allocate
Trace/Finalizevalues withGcRef::newso persistent mutable aliases use one handle interface instead ofRc<RefCell<T>> - runtime tracing and finalization β define
Tracetraversal andFinalizecleanup while a precise mark/sweep runtime discovers roots through compiler stack maps - randomized usability evaluation β randomize users across abstraction and baseline, reserve exploratory data, then test completion and time with denominator-aware corrected statistics
- verus boundary modeling β inference: represent shared identities and mutation permissions with Verus ghost state and invariants, while treating collector and stack-map behavior as explicitly trusted unless verified
GAR: Generative Adversarial Reinforcement Learning for Formal Theorem Proving
- statement fusion β combine two existing NL problems, autoformalize the result, compile-check it, and retain harder solvable statements
- verifier-rewarded co-training β train a statement fuser to lower prover pass rate while training the prover to raise it, filtering by verifier outcomes
- soft statement-modification penalty β penalize but do not ban model changes to a formal statement, balancing self-correction against reward hacking
GamePad: A Learning Environment for Theorem Proving
- proof-trace instrumentation β patch an interactive proverβs interpreter to export every state and action while leaving its checker untouched
- position evaluation β classify remaining proof-tree size to estimate difficulty and guide search
- tactic and argument prediction β learn the next action and select context terms from structured proof states
- AST embedding with sharing and batching β encode typed syntax and memoize repeated subtrees for scalable learning
- interactive learned rewriting β execute predicted (location, rule) actions through a prover API with deterministic fallback
GΓΆdelβs Poetry
- staged semantic gating: syntax-check generated formalizations, then give a semantic checker veto power before proof search
- theorem retrieval: generate search descriptions and retrieve relevant library declarations before sketching
- placeholder proof sketches: state named, self-contained intermediate obligations before proving them
- AST subgoal extraction: traverse a proof AST to recover unproved propositions with complete context
- recursive breadth-first proving: solve child obligations with depth limits and ancestor backtracking
- proof reconstruction: substitute verified child proof bodies into parent sketches and re-verify the assembled artifact
FVSpec: Real-World Property-Based Tests as Lean Challenges
- real-PBT corpus mining β discover, license-filter, extract, hash-deduplicate, and preserve provenance for property tests
- implementation/spec split β generate executable code separately from theorem statements with proof holes
- LSP repair loop β compile after every generation and feed diagnostics to the formalization agent
- pre-validation and axiom audit β remove tautological or ill-typed challenges and report trusted declarations
- side-effect abstraction β model relevant state while threading infrastructure as explicit opaque parameters
- structural faithfulness scoring β measure parameter, type, strategy, assertion, and dependency preservation
- proved and partial metrics β score complete builds separately from fractions of discharged obligations
FVEL: Interactive Formal Verification Environment with Large Language Models via Theorem Proving
- interactive specification-and-proof loop: translate code to theorem facts, generate a lemma, verify each proof step, and feed prover errors back
- dependency graph extraction: recursively parse session/import declarations to expose multi-hop proof context
- step-wise proof-state dataset: store each command with Isabelleβs resulting state and split by lemma
- verifier-aware fine-tuning: fine-tune on complete formal proofs, then accept only proofs checked by the theorem prover
- statement-versus-proof error audit: classify failures by incorrect specification versus failed proof generation
Functionally Equivalent or Not? Graph-Grounded Differential Surrogate Execution for Code Equivalence
- typed graph obligations β align program anchors and turn interface, control, data, effect, and environment differences into checkable questions
- bounded citable analysis β constrain graph queries and require node, path, and source-span evidence for every claim
- blinded surrogate execution β generate branch-targeting typed inputs and independently predict source and target observables
- selective reconciliation β gate evidence into equivalent, inequivalent, or unclear without forcing uncertain judgments
Functional Reasoning for Distributed Systems with Failures
- restricted choreographic language: describe each roleβs pure computation and ordered communication in Sync
- functional safety decomposition: prove helper-function and message-count lemmas, then compose them by program syntax
- twin-language adequacy: compile Sync to interleaved Async and prove every Async output is in Syncβs denotation
- channel alignment and erasure: reorder traces by communication rounds, extract folds, and remove finished channels
- unified fault network: model crashes and Byzantine sends as nondeterministic network behaviors under explicit assumptions
From Scientific Texts to Verifiable Code: Automating the Process with Transformers
- proof skeleton extraction β translate textual proof structure into high-level verifier code while leaving details open
- top-down helper synthesis β prove a parent using helper declarations, then recursively discharge each helper
- verifier-feedback loop β compile generated code, return diagnostics and targeted hints, and patch locally
- induction and extensionality guidance β supply recurring hints for recursive definitions, set equalities, and cardinality facts
- specification gate β manually validate generated definitions and contracts before treating proof success as evidence
From Resource Flow to Executable Tests: Petri-Net-Guided LLM Test Generation for Concurrent Stateful Rust APIs
- colored resource-flow Petri net: model ownership, capacity, lifecycle, conflicts, and observations as typed token transitions
- legal and near-legal scenario synthesis: generate deep legal prefixes and one-condition boundary mutations with partial-order conflicts
- local-faithfulness adapter: map abstract events to concrete Rust operations and classify observations without requiring full bisimulation
- constrained LLM concretization: compile and structurally repair generated Rust while forbidding invented events and weakened assertions
- conflict-first schedule shaping: allocate Loom or deterministic scheduler budget to high-conflict partial-order harnesses
- layered semantic oracle: separate structural concretization errors from outcome, invariant, and liveness failures
From Provable Correctness to Probabilistic Generation: A Comparative Review of Program Synthesis Paradigms
- constructive deductive synthesis β derive executable code from a proof of a logical input-output specification
- DSL-restricted inductive synthesis β reduce example-based search to a task-specific language and compact version spaces
- CEGIS β alternate candidate generation, full verification, and counterexample-driven example refinement
- witness-function deduction β propagate desired outputs backward through inverse DSL semantics
- sketch and SyGuS completion β fill holes under assertions or a grammar constrained by a semantic formula
- schema refinement β apply reusable domain templates only after checking applicability conditions
- LLM proposal plus verification β sample code from natural-language intent and accept only compiled, tested, or proved candidates
- neural-guided symbolic search β use learned component scores to prioritize a sound symbolic search
- wake-sleep library learning β solve tasks, compress recurring subprograms into a library, and retrain search on replays and generated tasks
- constrained neural generation β enforce grammar/type constraints during decoding and semantic verification after generation
From Prompt Injections to Protocol Exploits: Threats in LLM-Powered AI Agents Workflows
- context-transformation threat model β model attacker changes to dialogue, inputs, retrieval, and outputs with explicit policy/objective success conditions
- prompt/jailbreak/evasion decomposition β distinguish semantic injections, forbidden-output jailbreaks, and representation perturbations, including compositions
- backdoor and poisoning model β formalize persistent trigger, retrieval, training, federated, and memory compromise paths
- privacy and side-channel model β specify extraction, membership inference, update poisoning, and timing/size leakage goals
- authenticated message model β represent protocol messages, signatures, nonces, impersonation, context tampering, and replay as predicates
- bounded recursive workflows β model task spawning and resource thresholds to prove denial-of-service bounds
- layered agent defenses β combine schema checks, provenance, cryptography, least privilege, isolation, rate limits, and circuit breakers
From Model Checking to Runtime Verification and Back?
- three-mode stand-in os β separate virtual modeling, host passthrough, and trace replay so one checker supports testing and exhaustive exploration
- metadata-driven syscall primitive β expose one universal syscall interface with direction, width, and buffer-size metadata
- trace capture and replay β record syscall inputs and observable outputs, then constrain model-checking runs to matching traces
- causality-aware partial order β commute independent syscall actions to avoid unnecessary linear trace ordering
From Matching Logic To Parallel Imperative Language Verification
- rewriting-logic operational model: define executable language behavior as explicit configuration rewrite rules
- matching-logic proof outline: connect pre/post configuration patterns with first-order constraints and rule applications
- interference-free parallel rule: require mutual preservation of each processβs assertions before composing proofs
- symbolic assertion verifier: branch, loop, and parallel rewrite rules carry formulas and discharge assertions
- producer-consumer outline: prove bounded-buffer safety with modular indices, await guards, and cross-process preservation
From Lecture Notes to Lean: Formalizing a Textbook on Probability Theory
- interface bridge lemmas β preserve a source-facing statement and prove a named connection to a more general library theorem
- domain-condition repair β make total-library functions meaningful only under explicit integrability or domain hypotheses
- counterexample source review β use formalization failures and counterexamples to expose omitted standing assumptions
- three-artifact provenance β keep source, checked mathematics, and process history as separate reviewable records
- build-plus-fidelity gate β require compilation and axiom checks, then independently compare the formal statement with its source
- stale-review invalidation β rerun review when source, statements, helpers, or dependencies change
From Language to Logic: Bridging LLMs & Formal Representations for RTL Assertion Generation
- AST-indexed retrieval: parse RTL into semantic chunks and retrieve only design fragments relevant to an assertion
- structural tool queries: obtain authoritative hierarchy, fan-in/fan-out, clock, reset, and register facts from the formal tool
- ReAct context gathering: let the agent choose retrieval and structural calls for up to a bounded number of rounds
- solver-in-the-loop repair: submit generated assertions to the solver and apply localized fixes from errors or counterexamples
- vacuity checking: test proven or undetermined assertions for unreachable antecedents before accepting them
- ablation accounting: measure retrieval, structural analysis, and verification feedback separately on a fixed design subset
From Intents to Algorithms: Verified Algorithm Discovery for Transport Networks
- intent-to-IR compilation β turn natural-language objectives and hard constraints into a typed, bounded machine-readable contract
- bounded AST/DSL search β restrict generated ranking logic to typed, finite operators and replayable serialized trees
- trusted allocator β keep path construction, resource accounting, constraint enforcement, and actuation outside generated logic
- static/runtime verification β reject malformed, over-complex, nondeterministic, or unsafe candidates before scenario execution
- oracle and failure witnesses β compare tractable cases to exact optimization and feed structured finite-scenario failures into repair
- diversity-preserving evolution β mutate, recombine, validate, archive, and replay candidates under disjoint train/validation/test scenarios
From Helpful to Trustworthy: LLM Agents for Pair Programming
- role-separated pair programming: use a proposing driver and a contract-producing navigator with shared project context
- verifier-guided refinement: pass failed candidates and deterministic diagnostics into the next specification attempt
- mutation completeness feedback: mutate programs or contracts to expose missing behavioral distinctions
- proof-anchored maintenance: gate refactors and migrations with existing specifications, tests, and reproducible verification receipts
From Errors to Proofs: Minimal-Core-Guided Repair for Neuro-Symbolic Constraint Solving
- fixed decision contract β normalize generated constraints under one relation and classify solver outcomes deterministically
- typed solver diagnostics β distinguish syntax, empty-output, satisfiable, and unsatisfiable outcomes before repair
- deletion-filtered unsat core β remove constraints one at a time and retain a subset whose removal restores satisfiability
- leakage-free core repair β return only constraints from the modelβs own program, never the ground-truth answer
- generic-error ablation β compare core feedback with identical repair using only the raw solver message
- verifier-pattern triage β transfer domain-specific failure categories to Rust/Verus specification repair (Inference)
From C to Idiomatic Rust: A Ship-of-Theseus Agentic Translation
- lossless baseline then refinement β generate compilable c2rust Rust, preserve it as a behavioral oracle, and rewrite one function at a time
- explicit idiomaticity criteria β enforce five concrete API, slice, global-state, ABI, and library rules as hard checks
- leaf-first dependency ordering β port call-graph leaves and expose callers only after their callees pass
- two-gate differential validation β require compilation plus sustained runtime testing, with trace comparison on divergence
- phased global-state conversion β complete function and buffer cleanup before wrapping globals from atomic scalars through complex mutexes
From Authorial Mathematics to Studio Mathematics: Ecobiontic Forms of Proof after Large Language Models
- claim-relative governance: trace provenance, reconstruct reasoning, challenge errors, retain stop authority, and assign accountable responsibility for each public claim
- intervention-level disclosure: classify model involvement from L0 to L5 and preserve the level-specific artifacts
- layered proof record: retain generative, formal, expository, repository, and communal evidence as distinct layers
- prospective understanding audit: test strategy, dependencies, reconstruction, diagnosis, transfer, significance, and authorization after assistance
- conditional antifragility: retain, select, convert, and expose failures so perturbations improve defined utility
- evidence contract and claim ledger: give each claim an ID, type, evidence basis, validation route, status, and uncertainty
Foundations for Entailment Checking in Quantitative Separation Logic (extended version)
- finite valuation over-approximation β compute a finite superset of all QSL numeric values by structural rules
- threshold translation β compile βexpectation at least Ξ±β into an SL formula
- finite entailment reduction β check one ordinary entailment for each source threshold
- admissible-fragment design β preserve decidability by requiring closure of generated SL formulas
- weakest-preexpectation closure β restrict commands and assertions so probabilistic heap preconditions stay in eQSH
Foundational VeriFast: Pragmatic Certification of Verification Tool Results through Hinted Mirroring
- separation-logic heap chunks: verify pointer code by consuming and producing points-to and recursive predicate resources under pre/postconditions
- hinted mirroring: record symbolic-execution decisions and replay them in a small Rocq checker with
ConsumeChunkandDonehints - foundational soundness model: prove symbolic-heap operations sound against an Iris-based axiomatic semantics
- certificate trust analysis: enumerate source representation, specifications, semantics, replay kernel, and unsupported Rust features that remain trusted
Forward Symbolic Execution for Trustworthy Automation of Binary Code Verification
- progress structures: summarize sound forward executions with reusable roots, leaves, and label scopes
- rule-based abstraction: combine case splitting, infeasibility pruning, substitution, simplification, consequence, transfer, and sequence
- binary contract lifting: prove BIR contracts and transfer them back to the source ISA through a lifting theorem
- interval timing: merge symbolic cycle counts into sound BCET/WCET intervals for timing verification
Forward Invariant Cuts to Simplify Proofs of Safety
- forward invariant cut β split safety into residual safety, local invariance, and local safety obligations
- Lyapunov sublevel certificate β choose a derivative-decreasing function and a safe level set as a local invariant
- simulation-guided barrier discovery β fit candidate functions with LP and counterexample-guided optimizer refinement, then check with dReal
- bounded-time flowpipe cut β use a finite-horizon reachable overapproximation as a temporary safety region
- transition-graph certificate β use SCCs and mode reachability to cut away behavior that cannot reach unsafe modes
Forte: A sensitivity type system for imperative Rust
- sensitivity environments: attach per-source metric bounds to opaque Rust values and update them flow-sensitively
- exclusive-borrow strong updates: use pairwise-distinct
&mutborrows and post-signatures to frame mutation safely - relational metric preservation: prove two-run store/value relatedness by induction over evaluation
- inferred loop invariants: couple sensitivity bounds to public counters and expose qualifier hints only when inference needs them
- verified trusted signatures: back every deterministic primitiveβs refinement contract with a Verus two-run theorem
FormalSpecCpp: A Dataset of C++ Formal Specifications created using LLMs
- verified-source seeding β build a target-language specification dataset by translating already verified source programs
- contract-preserving prompt β require explicit preservation, type mapping, and assertion mapping rules
- contract macro normalization β represent target preconditions and postconditions in a uniform format before verification
- test translation β carry source inputs, expected outputs, and assertions into the target language
- compile-and-test feedback β classify generated failures and iterate on code, contracts, and tests
- manual semantic review β inspect successful compilations because tests cannot detect every logically wrong specification
FormalScience: Scalable Human-in-the-Loop Autoformalisation of Science with Agentic Code Generation in Lean
- gold-seeded corpus generation β use expert statement-proof exemplars, batch prompting, and alignment review before formal translation
- compiler-driven correction β compile each candidate, feed exact errors to an LLM, and iterate to a verified result
- surface guard and minimal patching β reject malformed code early, regenerate structural errors, and apply minimal diffs to semantic errors
- human alignment and drift taxonomy β classify semantic mismatch after compilation and track notational, abstraction, strategy, and premise drift
FormalRewardBench: A Benchmark for Formal Theorem Proving Reward Models
- controlled error injection: create syntactically valid, semantically failing proof variants and filter them with the proof assistant
- five failure strategies: test minimal mutations, misleading explanations, foreign-language code, forced tactic mistakes, and verbose camouflage
- position-consistent reward scoring: require the same correct preference under both proof orderings
- verifier plus manual QA: combine deterministic Lean labels with a sampled human inspection for realism
FormalML: A Benchmark for Evaluating Formal Subgoal Completion in Machine Learning Theory
- state-boundary subgoal extraction: turn pre-state and post-state around a procedural proof segment into an independently checked theorem
- complete proof-context records: preserve source, imports, namespaces, original steps, and premises with every extracted obligation
- Pass@K local proving: measure whether one of K bounded attempts verifies a fixed subgoal
- premise retrieval evaluation: vary mixed local and global candidate sets and report proof success by retrieval size
- efficiency-weighted proving: divide verified success by response length to expose costly overthinking
- verified expert iteration: train on candidates that the proof kernel accepted and evaluate on held-out subgoals
Formally Verified Synthesizable Floating-Point Data Types in ARCH HDL
- single-source multi-backend IR β define each operator once as a shared DAG and render identical SSA structure to implementation, solver model, and proof model
- tractability-frontier proof split β use exhaustive SMT for multiplier-free finite domains and algebraic Lean-style proofs for multiplier-bearing operators
- sticky-fold refinement β replace a timing-hostile wide arithmetic reference with a bounded guard/round/sticky implementation and prove bit identity by a rounding-collapse lemma
- trust-base accounting β publish solver domains, denominators, certificate/native bridges, renderer checks, and unverified semantic boundaries alongside the theorem
Formally Verified Code Synthesis for Structured Data Translation in a Medical Internet of Things
- schema-constrained theorem synthesis β define input/output predicates and prove every generated transform preserves the target schema
- multi-island verifier-gated evolution β mutate candidates with LLMs, score them by theorem checking, and retain verified programs in a search database
- Thompson-sampling model selection β adaptively choose LLMs from observed proof success while separately tracking cost
- verified-theorem operationalization β deterministically translate a proven specification into deployment code and identify the translation as a trust boundary
Formally verified asymptotic consensus in robust networks
- filtered convex-update modeling: encode value-based removal, deterministic tie-breaking, and lower-bounded unit-sum weights
- sorted-list safety invariant: prove every retained weighted average stays between normal minimum and maximum by exhaustive removal cases
- shrinking threshold-set convergence: combine robustness, epsilon recurrences, and a finite cardinality variant to prove asymptotic consensus
- counterexample necessity: violate robustness by fixing two groups at distinct values and constructing bounded adversaries and weights
- quantifier and trust audit: formalize quantifier scope explicitly and record classical axioms, real arithmetic, and implementation gaps
Formally Specifying the High-Level Behavior of LLM-Based Agents
- declarative agent FSM β describe states, environment inputs, and
next/until/orbehavior as a temporal protocol - post-hoc decoding monitor β parse state markers and validate every generated transition against the FSM
- valid-state prefixing β repair an invalid transition by appending the longest common prefix of legal state prompts
- PASS planning loop β execute independent actions in parallel, summarize results, and iterate under a monitored protocol
Formally Solving Answer-Construction Problems in Lean
- typed problem preprocessing: convert natural language to a formal task with domain, predicates, answer variables, and an allowed vocabulary
- admissibility checking: recursively collect expression constants and require the result to stay inside the taskβs vocabulary
- bounded enumerate-and-conjecture: search finite instances with executable tools and generalize traces into an explicit candidate answer
- proof automation and repair: apply a fixed tactic portfolio, then use prover-LLM feedback loops with compiler errors
- disproof-guided reconstruction: prove both a candidate and its negation, and regenerate after a proved counter-answer
- certified equivalence testing: prove equality of constructed and reference answers in the proof assistant
FormalJudge: A Neuro-Symbolic Paradigm for Agentic Oversight
- atomic intent decomposition β split composite requirements into binary, grounded, minimal-context facts
- deterministic plus semantic extraction β parse structured evidence first and call an LLM only for residual semantic facts
- layered Dafny/Z3 composition β compile facts, derived predicates, and safety predicates, then prove their composition
- proof-guided refinement β feed formal violations back to the agent for repeated correction
Formalizing Memory Accesses and Interrupts
- decoding net β model address and interrupt routing as node acceptance and translation over qualified names
- ranking termination β prove recursive resolution total with a natural-valued rank that decreases on every decode step
- view-equivalent normalization β flatten or split a hardware graph while preserving every observerβs resolved resources
- concrete refinement β prove syntax-level transformations commute with parsing and preserve semantic views
Formalizing and validating properties in Asmeta with Large Language Models (Extended Abstract)
- model-grounded property elicitation β ask an LLM to list candidate properties from an executable model, then checker-test selected properties
- checker-feedback formalization β regenerate LTL/CTL formulas using exact model-checker diagnostics until syntax and model references are valid
- temporal explanation β translate formulas into natural language while retaining the formula as the authoritative artifact
- witness/counterexample narration β explain Avalla traces state by state to help diagnose failed properties
Formalising Filesystems in the ACL2 Theorem Prover: an Application to FAT32
- incremental refinement models β add one representation feature at a time and reuse prior proofs
- read-over-write contracts β prove same-location visibility and distinct-location noninterference, then compose them
- packaged invariants β maintain allocation, uniqueness, and on-disk sanity predicates across mutators
- allocation refinement β map FAT entries to a Boolean allocation vector to reuse bounded-disk proofs
- FTY typed definitions β reduce type hypotheses and helper lemmas with ACL2βs typed record discipline
- executable co-simulation β compare generated disk images and file operations with Linux implementations
FormalAlign: Automated Alignment Evaluation for Autoformalization
- dual-loss alignment training: combine formal-sequence cross-entropy with in-batch contrastive representation loss
- certainty/similarity score: average token confidence and hidden-state cosine similarity for candidate ranking
- controlled misalignment generation: mutate constants, exponents, variables, types, equality, and pairings
- alignment selection: choose the highest-scoring formal candidate from a pool
- threshold detection: classify pairs with a calibrated
V_alignthreshold and report precision/recall - expert calibration: compare automated labels with a fixed, balanced human sample and publish denominators
Formal Verification of Station Keeping Maneuvers for a Planar Autonomous Hybrid System
- Darboux invariant synthesis: polynomialize transcendental dynamics, search bounded-degree Darboux polynomials, and combine equal cofactors into invariant functions
- differential-invariant safety: encode switched ODEs as hybrid programs and prove branch Lie-derivative conditions with a differential-invariant rule
- staging-set reachability: chain invariant regions with strictly decreasing progress functions to prove eventual target entry
Formal Verification of Parameterized Systems based on Induction
- counterexample obligation construction β build
indOblgfrom guards, assignments, unchanged-variable assumptions, and a negated post-invariant, then negate solver equations into candidate clauses - heuristic Generalize β intersect known and candidate equation terms, enumerate small differences, simplify with increasing/decreasing strategies, and feed accepted invariants back to the solver
- type-saturation quantifier inference β classify parameter types with Ξ³ and recheck N+1 extensions to choose Forall, Exists, or a disjunction of groups
- invariant merging and symmetry reduction β merge equivalent or implied clauses and block permutation duplicates by adding generated symmetric assertions
Formal Verification of Minimax Algorithms
- witness-based TT correctness β define an admissible expansion of the depth-limited tree and require every result and cache entry to be justified by a witness
- conservative alpha-beta TT lookup β reuse a cached bound only when it immediately proves a cutoff, preserving the witness criterion
- proof-state-guided counterexample construction β turn an unprovable inequality into a concrete cache entry, call sequence, and no-witness demonstration
- incremental variant verification β alter one lookup, search, or update policy at a time and adapt only the affected invariants and lemmas
Formal Verification of Control Systemsβ Properties with Theorem Proving
- assertion blocks as contracts β place preconditions and postconditions in the model and reuse them for simulation and proof
- modular theory library β give each block a typed input-output theory that can be cloned and parameterized
- AST-based model translation β traverse block connections and generate verifier declarations and goals automatically
- simulation/proof cross-check β compare runtime assertion outcomes with theorem-prover results over the same parameter set
Formal Verification of Chase-Lev Deque in Concurrent Separation Logic
- private owner postcondition β keep sole-owner permission outside shared atomic preconditions and return it after commit
- linearization-point proof β connect each concurrent operationβs commit event to an abstract deque transition
- snapshot ghost state β use monotonic indices and persistent element maps to prove values survive concurrent reads
- era and hazard-pointer extension β track generations and protection resources when arrays resize or are reclaimed
Formal Verification of Blockchain Nonforking in DAG-Based BFT Consensus with Dynamic Stake
- lookback dynamic committees β delay membership changes by a fixed round distance so each decision uses a well-defined weighted committee
- labeled transition modeling β express protocol executions as guarded, nondeterministic state transitions
- simultaneous invariant induction β prove interdependent nonforking, committee-agreement and nonequivocation invariants together
- quorum-intersection reasoning β turn weighted stake overlap into a correct signer and then into certificate uniqueness
- ACL2 executable formalization β encode typed records, total transitions and quantified invariants with machine-checked reachable-state theorems
Formal Verification of a Token Sale Launchpad: A Compositional Approach in Dafny
- layered specification architecture β separate arithmetic, financial primitives, workflows, and state transitions so upper proofs reuse lower lemmas
- integer truncation lemmas β prove monotonicity and bounded loss for multiplication/division once, then instantiate them for asset and discount calculations
- round-trip safety β bound conversion and discount reversal with explicit inequalities that compose into refund safety
- lifecycle state-machine proof β guard transitions by status and prove mutual exclusion, temporal progress, and terminal states
Formal Verification, Engineering and Business Value
- explicit-state CTL analysis β dispatch many small CTL model-checking tasks through abstract interpretation for pointer, buffer and leak checks
- SMT refinement loop β recheck abstract warnings with SMT constraints to separate spurious from feasible reports
- engineering-scale caching β use incremental analysis, inter-function summaries and databases to handle millions of analysis tasks
- workflow-integrated reporting β run at compile time and present severity, traces, trends and standards reports in existing tools
Formal Theorem Proving by Rewarding LLMs to Decompose Proofs Hierarchically
- conditional proof trees: insert proposed lemmas as child goals, verify locally, and assemble globally correct trees child-first
- verifier-shaped RL: reward locally and globally verified subtrees with value-weighted cross-entropy and replay
- depth and proposal controls: force no-invoke leaves, filter trivial or unnecessary lemmas, and use direct-proof fallback under distribution shift
Formal Specifications from Natural Language
- paired dataset construction β generate English/formal pairs with parsers, grammars, templates, or human paraphrases and hold out controlled OOD splits
- pretrained translation fine tuning β prompt and fine-tune T5 on target formal strings, then decode candidates
- semantic equivalence scoring β evaluate regex predictions by denoted-language equivalence when exact strings are non-unique
- specification generalization tests β replace nouns, variables, operators, and domains to distinguish learned semantics from memorization
- verification-aware acceptance β inference: parse generated Verus specifications, compile them, and require successful behavior proofs before use
Formal Semantics for Agentic Tool Protocols: A Process Calculus Approach
- Ο-calculus protocol semantics β model tools, resources, calls, errors and parallel composition as labelled processes
- schema mapping β translate required/optional slots into typed JSON schemas
- weak bisimulation β prove matching observable traces while hiding validation transitions
- reverse encoding analysis β test compositionality, correspondence, surjectivity and full abstraction
- semantic-density typing β require descriptions to contain measurable domain information
- explicit action boundaries β type side effects and enforce approval before writes or deletes
- failure-mode typing β enumerate errors and recovery strategies as machine-readable metadata
- dependency declarations β encode required tool ordering and prove predecessor traces
- MCP+ round trips β extend metadata until forward and reverse mappings are identities
Formal Semantics and Formally Verified Validation for Temporal Planning
- declarative reference semantics β define validity over states, invariants, preconditions, effects, and interference before writing an algorithm
- step-wise refinement β replace abstract operations with executable algorithms and prove each refinement preserves meaning
- induced happening sequences β insert temporal start, end, and intermediate invariant checks into a sorted event sequence
- verified executable checker β prove
check-planaccepts exactly the plans satisfying the abstract validity definition - efficient verified representation β replace sets and lists with AVL trees while proving equivalence
- explicit trust boundary β record unverified parser and code-generation components instead of implying the theorem covers them
Formal Model Construction Guided by Model-Based Proof Sketches
- environment-model construction: generate typed state, invariants, variants, and validated dependency relations before event synthesis
- hierarchical proof sketches: represent case splits and induction as trees whose leaves become concrete transition events
- structural coverage checking: prove every parent guard is covered by child guards and every child implies its parent
- sketch cleaning and cost selection: normalize trees, score structural quality, and repair the best of three candidates
- subtree-based repair: map failed leaf obligations to a common subtree and repair related events together
- joint evaluation: measure proof discharge, requirement fulfillment, runtime coverage, trace conformance, runtime, and LLM calls
Formal Methods Meet LLMs: Auditing, Monitoring, and Intervention for Compliance of Advanced AI Systems
- LTL event specification: encode cross-step safety and liveness rules over labeled agent events
- progression-based TRAC: update a readable residual formula per event and emit verdicts with witnesses
- predictive sampling: estimate future violation probability from sampled trajectories over a finite horizon
- intervening monitor: reject, reprompt with residual constraints, or substitute a safer model when risk exceeds a threshold
Formal-Method-Guided Vibe Coding: Closing the Verification Loop on AI-Generated Safety-Critical Software Through Model-Driven Engineering
- extraction-tractable code profile β constrain generated source to patterns that a deterministic source-to-model transformation can faithfully recognize
- top-down staged generation β generate architecture, skeleton, leaves, controller, and review layers so downstream failures can target one layer
- multi-verifier discrimination β check function contracts, whole-process behavior, and model-level invariants with complementary tools
- structured correction loop β preserve raw diagnostics, trace them to requirements and source lines, and feed actionable fix directives to the next iteration
- vacuity and coverage audits β reject obligations that prove
truewithout behavior and require bidirectional requirement-to-code attribution - cold and compile-only controls β measure verifier feedbackβs causal contribution by withholding it while holding generation and extraction fixed
Formal Mathematical Reasoning: A New Frontier in AI
- checker-guided formalization β translate requirements, run a formal checker, and repair from diagnostics
- tactic generation and proof search β generate proof steps and explore a checked proof tree
- expert iteration β train on newly verified proofs and measure diminishing gains
- mistake memory β feed verifier errors and selected failed attempts back to the prover
- premise retrieval β retrieve definitions and lemmas, including unseen premises at test time
- synthetic formal data β generate and retain checker-accepted conjecture/proof pairs
- verified code generation β generate code with contracts and proofs, then check the artifact
ForEx: A Formal Verification Framework for Explainable Reasoning in Logical Fallacy Detection and Annotation
- candidate-to-Lean formalization: generate labels, explanations, and formal structures, then check derivability under explicit encoded premises
- semantic-drift-controlled repair: use bounded compiler-feedback iterations while forbidding new logical content
- argument verification matrix: report formal proof status independently from agreement with a reference label
- consensus-guided augmentation: filter verified model interpretations by confidence and Jaccard consensus before proposing new labels
Forall-Exists Relational Verification by Filtering to Forall-Forall [with appendix]
- filtering bicoms: encode existentially chosen right executions as havoc plus a relational filter
- filter-adequacy
chk: add existential checks and loop-variant assertions before ββ verification - unary loop checking
uchk: instrument variants with fresh snapshots and decrease assertions - bicom framing: preserve projection semantics with freshness and frame conditions
- ββ to ββ workflow: choose an aligned product, transform it, and discharge the ordinary product proof
For a Few Dollars More
- resource-aware nondeterministic specifications: associate each legal result with a supremum-composable resource bound in a monadic specification
- currency refinement: exchange abstract operation coins for concrete instruction or data-structure currencies along stepwise refinement
- LLVM cost semantics: charge each modeled instruction and prove Hoare triples with separation-logic time credits
- heap nondeterminism refinement: connect abstract computations to heap implementations while preserving representations and amortized credits
- phased introsort complexity proof: prove recursive partition/fallback and final insertion costs separately, then compose them into an (O(n\log n)) bound
Floating-Point Neural Network Verification at the Software Level
- implementation-level floating-point property: verify the exact finite-precision program and operation order
- exhaustive finite-domain ground truth: check all 32-bit inputs for tractable scalar properties
- construction-based ground truth: generate safe/unsafe network instances by known invariants and gadgets
- counterexample replay: validate imported unsafe traces against translated C code and remove unreproducible items
- complexity-stratified benchmark: combine scalar functions, layers, synthetic networks, and large real-world models
- verdict taxonomy: report correct, incorrect, and inconclusive results with per-category denominators
- operational-library comparison: rerun with explicit math-library implementations to expose modeling effects
Flexible Proof Production in an Industrial-Strength SMT Solver
- modular certificate architecture β store proof fragments in preprocessing, SAT, and theory components and combine them into a checked refutation
- internal proof calculus β represent each inference as a checked rule node with explicit premises, arguments, and side conditions
- eager/lazy reconstruction β generate state-sensitive proofs immediately and reconstruct recoverable rewriting or substitution proofs after solving
- proof-producing preprocessing β attach equivalence or derivation proofs to every formula simplification and added lemma
- theory-specific certificates β use dedicated checked rules for equality, arrays, bit-vectors, arithmetic, quantifiers, and strings while marking unsupported theories trusted
- coverage accounting β report proof coverage and overhead with explicit logic sets, solved-problem denominators, hardware, and time limits
FLARE: Verifying MILP Reformulations with LLM-Based Theorem Proving
- constructive reformulation contracts β specify universal forward/backward maps and objective preservation before proving equivalence
- certificate-producing autoformalization β have an LLM write Lean definitions and proofs, then accept only compiled no-
sorry, no-new-axiom certificates - explicit-assumption screening β use a structured LLM proxy with definitions and assumptions, followed by formal verification
- formulation-level benchmark auditing β test unseen-instance failures with TP/FP/TN/FN, costs, and ATP-failure analysis
Fixing Rust Compilation Errors using LLMs
- diagnostic localization β extract compiler-linked source windows and related locations instead of sending whole files
- defensive changelog patches β require exact original lines, ranges, indentation, and fixed replacements before mutation
- grouped best-first repair β repair one error group, rank multiple completions by checker-error count, and roll back groups with no progress
- compiler feedback iteration β re-run the checker after each patch so propagated type/signature errors become new repair inputs
- semantic acceptance tests β require build plus independent unit tests for benchmarks because compilation alone does not preserve intent
- prompt ablation discipline β measure each formatting/localization feature against a fixed benchmark and report denominators for commits versus errors
First-Order Theorem Proving and Vampire
- tptp refutation encoding: express axioms, assumptions, and a conjecture in TPTP and prove the negated conjecture unsatisfiable
- fair saturation with superposition: generate equality consequences while simplifying redundant clauses until refutation or saturation
- bounded proof search: impose time and memory limits and retain statistics and proof DAGs for audit
First Neural Conjecturing Datasets and Experiments
- corpus views β build source, semantic-export, proof, and premise-order datasets so models can learn both statements and proof context
- unconditioned conjecturing β train a transformer and sample broad candidate lemmas, then type-check and prove or refute them
- conditioned completion β use beam search and temperature to trade known premise retrieval against novel, well-typed lemma generation
- semantic filtering β convert candidates to checker obligations, run bounded ATP or Verus, and report denominators, leakage controls, and proof outcomes
First Experiments with Neural Translation of Informal to Formal Mathematics
- synthetic informalization: generate aligned informal/formal pairs from a formal corpus with nontrivial syntax transformations and position tags
- structure-aware tokenization: split formal operators and preserve specification-significant tokens while removing presentation metadata
- seq2seq autoformalization: train an encoder-decoder with recurrent cells and attention, then greedily decode formal statements
- progressive ablation: select memory, attention, optimizer, depth, encoding, residual, and width settings in stages
- checker-oriented evaluation: report exact matches on overlap and non-overlap splits with explicit denominators and separate quality metrics
- greedy ensemble coverage: add models that maximize new correct outputs and measure edit-distance near misses
- semantic post-checking: use theorem proving or verifier-based equivalence checks instead of treating string identity as correctness
First-Class Refinement Types for Scala
- first-class refinement contracts β make value predicates ordinary API types that compose with subtyping and generic use
- partial-correctness predicates β interpret a refinement over terminating results and isolate termination-sensitive entailment rules
- mixed-precision inference β retain ordinary inferred types while recording equalities and selfifying values when precision is needed
- runtime refinement checks β fall back to predicate evaluation at explicit pattern or checked-call boundaries
- semantic soundness mechanization β prove typing and subtyping adequacy with a fuel-bounded interpreter and semantic types
- e-graph entailment β normalize collected equality, branch, and qualifier facts to discharge predicate implications
Finite Model Finding for Parameterized Verification
- reachability as deducibility β encode transitions and initial states as first-order axioms and safety as non-entailment of a bad-state formula
- finite countermodel finding β search for a finite model of the system axioms conjoined with the negated bad claim
- regular-separator completeness β derive a finite monoid model when a regular set separates reachable and unsafe configurations
- automata/transducer reduction β compile regular model checking into first-order predicates for one finite-model query
- specialized encodings β simplify generic formulas using transition rules, automata, grammars, and sequence-specific schemas
Finite countermodels for safety verification of parameterized tree systems
- first-order RTMC encoding: translate tree automata and transducers into Horn clauses and a transitive reachability predicate
- finite countermodel invariant: use a finite model of the negated reachable-unsafe formula as a safety certificate
- monotonic tree abstraction: compute backward unsafe closure under embedding until a well-quasi-order fixed point
- model-finder certificate checking: validate finite interpretations and disjointness before connecting them to implementation code
Fine-Tuning Qwen3-27B for C-to-Rust Code Translation: A Three-Stage Curriculum of Pretraining, Debugging-Aware SFT, and Task-Specific SFT
- verifier-error repair corpus β generate rejected Verus proofs, retain verifier errors with successful patches, deduplicate, and filter contract weakening or escape hatches before SFT
- staged Rust-to-proof curriculum β pretrain on categorized Rust continuation text, then SFT on Verus debugging and paired C/Rust translations
- structure-aware C-to-Rust translation β decompose by dependencies, produce interface-preserving Rust, then refine ownership and idioms
- FFI behavioral verification β compile and run the original C and generated Rust on identical inputs, compare outputs, and allow a fixed repair budget
- seed-averaged success rate β compute per-seed pass fractions over a fixed program denominator and report the arithmetic mean over five stochastic runs
Finding Polynomial Loop Invariants for Probabilistic Programs
- quantitative probabilistic loop invariant: prove boundary, guarded-body preservation and a separate termination/soundness condition for an expectation-valued invariant
- Stengle-to-SOS synthesis: reduce polynomial implication obligations to semialgebraic emptiness, SOS multipliers and SDP feasibility
- candidate refinement and degree backtracking: round and validate coefficients, refine failed constraints, then increase template degree by two
- nested-loop composition: couple outer and inner polynomial templates through a verified inner pre-expectation
Finding Model-Checkable Needles in Large Source Code Haystacks: Modular Bug-Finding via Static Analysis and Dynamic Invariant Discovery
- static verification triage β scan large code bases for small functions with assertions or safety-relevant accesses and model-checkable types
- dynamic invariant preconditions β mine test traces with Daikon and encode likely ranges and relations as harness assumptions
- bounded fragment harness β call a selected function with symbolic inputs, inferred assumptions, and an asserted property
- small-model bug finding β use finite unwinding and small inputs to expose safety faults or likely worst-case paths
Finding and Analyzing Crash-Consistency Bugs in Persistent-Memory File Systems
- function-level persistence interception β probe centralized PM write functions and record flushed or non-temporal writes
- subset crash-state enumeration β replay increasing-size subsets of in-flight writes onto a durable snapshot
- crash recovery oracle β remount each simulated crash image and check application-visible consistency
- small-workload systematic generation β use ACE to exhaustively explore short operation sequences
- coverage-guided workload fuzzing β use Syzkaller on file-system calls and recovery paths for diverse sequences
- mid-call crash testing β inject crashes inside synchronous system calls rather than only after fsync boundaries
- durable/volatile state classification β target in-place metadata, rebuilt DRAM state, and resilience features as separate proof obligations
Fidelity Probes for Specification-Code Alignment
- fidelity probes: ask behavior questions with code-derived answers and compare them against specification-only answers
- contradiction and gap diagnosis: distinguish an explicit conflicting claim from missing or ambiguous coverage
- graph-grounded generation: source probes from control-flow, data-flow, and call-graph facts, then informalize them
- observable-behavior filtering: retain questions about outputs, stored data, and external interactions in modernization scope
- fresh curriculum with frozen test: revise from newly sampled failures while scoring every version on an unseen fixed set
- repairβregression accounting: model gains and losses with repair and regression rates and report their denominators
Fictional Separation Logic
- abstract interpreted separation β hide physical sharing behind an existential algebra and heap interpretation
- indirect framed triples β quantify over arbitrary abstract frames and enter standard proof obligations
- monotone duplicable predicates β model shared lower bounds for nondecreasing state
- separating products β compose independently abstracted modules for clients
- indirect entailment β replace abstract predicates with concretely equivalent ones
- fractional permission algebra β encode read/write sharing over a standard heap
- stacked interpretations β expose or hide multiple abstraction layers
Federated Formal Verification: Cross-Backend Citation, Cross-Axis Convergence, and AI-Orchestrated Proof Dispatch for Production Systems
- cross-backend citation β keep a host obligation while CI checks a named theorem under an independent kernel and closure directive on every commit
- cross-axis convergence β record capability-filtered verifier verdicts and enforce dual/triple agreement for selected obligations
- shape-routed proof dispatch β classify proof shape, race capable backends, and cross-route structured negatives while kernels decide success
- honest-negative protocol β require workers to report machine-checkable failure modes instead of plausible unverified success
- specification-to-runtime codegen β hash canonical specs, generate invariant checks, and run them at configured production or test tiers
Featherweight VeriFast
- separation contracts: specify consumed and produced heap resources with preconditions, postconditions, and separating conjunction
- recursive predicates: summarize unbounded structures and open/close them around local mutations
- semiconcrete execution: use contracts and loop invariants to bound traces before symbolic reasoning
- symbolic execution: replace infinite branching with fresh symbols and SMT-checked path conditions
Faults in Our Formal Benchmarking: Dataset Defects and Evaluation Failures in Lean Theorem Proving
- fault taxonomy β classify source, specification, encoding, evaluation, and maintenance failures so each receives the matching repair
- semantic-guard static checking β detect arithmetic and soundness hazards, then prove required guards with deterministic tactics
- high-recall semantic audit β use LLM classification only after static screening and send findings to human adjudication
- release hardening β use
proof wanted, disable auto-implicit, ban user axioms, pin versions, and audit score denominators
FATE: A Formal Benchmark Series for Frontier Algebra of Multiple Difficulty Levels
- progressive expert curation β collect, formalize, review, and difficulty-label advanced algebra problems in a graded series
- kernel-backed pass@k β count a problem solved only when one of k independent full proofs passes the trusted kernel
- two-stage diagnosis β compare expert natural-language correctness with automated formal proof correctness
- formalization error taxonomy β count library hallucination, prover proficiency, general capability, and reasoning-alignment failures with their true denominators
FANS: Formal Answer Selection for LLM Natural Language Math Reasoning Using Lean4
- long-CoT formal translation: train on aligned prose/formal statements, elicit analysis at inference, and check translation fidelity
- proof-filtered answer selection: generate formal proofs and retain candidates only after compiler acceptance
- thresholded verified voting: use verified answers in voting but fall back when support is below a threshold
- external translation checking: have a stronger model or independent checker inspect formalization before trusting a proof
- principled fallback: use majority or reward-model selection when formal proving is incomplete, while exposing the result as unverified
Faithful and Robust LLM-Driven Theorem Proving for NLI Explanations
- syntax-guided autoformalisation: parse predicate-argument structure before producing theorem-prover formulas
- quantifier and consistency critiques: test scopes, syntax, and a
Falsetheorem before trusting entailment - logical-relation proof sketches: derive propositional implications and turn them into ATP-checked intermediate steps
- detailed feedback repair: feed failed proof steps and unused axioms into bounded iterative explanation refinement
FaithformBench: Benchmarking Faithfulness of Mathematical Chain-of-Thought Autoformalisation
- paired validity testing β compare AF outputs on each valid step and a deliberately invalid counterpart
- controlled perturbation β generate LLM or deterministic edits that preserve form while breaking validity
- prover-backed lower bounds β compute FNR, FPR, AFFR, and UFLB from proofs, refutations, and inconclusive outcomes
- contingency diagnosis β separate faithfulness, error induction, silent correction, abstention, and inversion
- specification drift audit β inspect type, precondition, and bound changes that make an invalid requirement provable
Failure Modes of Large Language Models on Research-Level Mathematics: A Taxonomy and an Empirical Characterisation
- citation verification β extract citations, search top arXiv hits, and label matches or inconclusive cases
- premise audit β regex-flag rhetorical claims, then judge load-bearing unsupported premises with context
- four-mode review β check citation truth, premise support, problem identity, and local-to-global compatibility
Extract, model, refine: improved modelling of program verification tools through data enrichment
- PV0βPV6 megamodel: classify tools by user input and proof/verifier role
- proceedings harvesting: detect and manually validate tools from selected papers
- structured Markdown records: store inputs, outputs, internals, links, and provenance
- ontology enrichment: connect tools to repositories, articles, concepts, and people
- API refresh workflows: update commits and metadata automatically with reviewable changes
- coverage accounting: report counts with source and enrichment denominators
Extending ACL2 with SMT Solvers
- two-phase SMT clause processing β expand ACL2 goals, solve an SMT form, and return ACL2 obligations for the added assumptions
- type-safe sort mapping β require recognizers and map them to SMT supersets so translation does not prove an untyped false claim
- bounded expansion and substitution β generalize recursive or unsupported functions with typed fresh variables and checked hypotheses
- custom theory inference β add guarded rewrite rules such as
exptdecomposition before SMT solving - trusted-interface minimization β isolate the solver bridge and have the theorem prover check translation side goals
Exponential Sample Complexity Separation between Flat and Hierarchical Agentic Theorem Provers
- verifier-MDP modeling β represent proof search states, verifier transitions, finite candidate lists, and success probability explicitly
- top-k imitation bounds β separate intrinsic shortlist loss and learned action-distribution error in finite-budget guarantees
- memoized proof DAGs β solve reusable proof blocks once and reuse compatible certificates
- latent-graph posterior training β infer soft DAG labels from inlined traces and train graph and local policies jointly
- sharing-aware sample comparison β compare flat inlining and hierarchical representations under explicit duplication and no-rescue assumptions
Exo-GPU: Safe, Imperative, User-schedulable Programming for Tensor Cores
- sequential-parallel equivalence β prove optimized parallel annotations preserve a sequential semantic baseline
- collective tiling analysis β derive thread mappings from hierarchical loop and warp annotations
- distributed-memory ownership β check allocation, indexing, and thread-shard consistency across all uses
- abstract-machine synchronization β translate accesses and barriers into visibility records and interpret checks
- barrier timeline modeling β use full and temporal ordering to validate fences and split barriers
- fail-on-error code generation β generate CUDA only after collective, memory, and synchronization checks succeed
- equivalence-chain scheduling β compose sequential rewrite proofs with a separate parallel-safety proof
Execution-Verified Reinforcement Learning for Optimization Modeling
- sandboxed execution observation: normalize parser, runtime, solver status, value, and logs into a deterministic tuple
- outcome-only reward: reward only executable outputs whose verified outcome matches a trusted answer
- group-relative verifier RL: update a policy from within-group normalized execution rewards
- environment switching: transfer or adapt by changing the verification backend instead of rebuilding process labels
EvoSpex: An Evolutionary Algorithm for Learning Postconditions
- bounded valid/invalid pair generation: execute within a finite object and trace scope, then mutate post-states as negative guidance while recording the mutation unsoundness
- chromosome contract synthesis: represent a postcondition as a conjunction of navigational, quantified, and relational genes
- asymmetric evolutionary fitness: prioritize candidates consistent with every valid execution before penalizing complexity and using mutated negatives
- state matching: canonicalize generated objects and discard traces that duplicate an existing state
EvolProver: Advancing Automated Theorem Proving by Evolving Formalized Problems via Symmetry and Difficulty
- semantic-domain evolution β transfer a verified formal theoremβs logical skeleton to 3β5 new mathematical domains, then compile and semantically judge each variant
- difficulty evolution β generate harder or easier formal variants through five explicit strategy families and filter them by syntax, semantic consistency, correctness, and difficulty
- AST equivalence augmentation β recursively apply seven type-aware logical-equivalence rewrite rules to a formal AST to create syntactic variants
- verifier-gated data funnel β compile generated statements, permit one repair attempt, judge NL/formal consistency, retain compiler-verified proofs, and deduplicate the resulting dataset
- pass@1 curriculum filtering β for RL, retain problems whose SFT checkpoint has 0 < pass@1 < 1/2 so examples are difficult but solvable
Evaluating Research-Level Math Proofs via Strict Step-Level Verification
- strict step elaboration β expand each deduction into a route-preserving derivation with the same assertion and explicit skipped logic
- Ξ/Ξ£/T dependency ledger β separate local context, external non-trivial theorems, and routine background rules, and close every used dependency
- state-driven verification loop β move steps OPENβVERIFIED or OPENβFLAWED with explicit witnesses, confirmation, decomposition, and bounded exhaustion
- auditable theorem retrieval β record exact as-used statements, proof or citation, and applicability before accepting an external dependency
Evaluating Large Language Models for Symbolic Security Protocol Analysis
- formal waterfall labeling β prioritize unbounded formal verification and fill undecided cases with bounded checkers while recording provenance
- type-aware protocol obfuscation β rename identifiers while preserving declared types to reduce lexical memorization
- structured zero-shot verdicts β require one parseable attack/no-attack result, confidence, and justification per security goal
- protocol-cluster evaluation β run stochastic models repeatedly and bootstrap complete protocols to obtain honest uncertainty
Euclid-MCP: A Model Context Protocol Server for Deterministic Logical Reasoning via Prolog
- constrained Horn-clause IR β encode facts, rules, queries, conjunction, arithmetic, and bounded negation in a backend-neutral syntax and lower it deterministically
- safe deterministic lowering β map IR constructors to Prolog clauses while sanitizing built-ins, capping input, and enforcing a timeout
- validateβtranslateβinspectβrepair β use typed validation, execution, proof-tree diagnosis, repair, and what-if exploration as a feedback loop
- proof-tree explanations β return bindings together with fact/rule derivations for why and why-not audit questions
- policy counterfactuals β apply explicit additions/removals to a knowledge base and compare deterministic before/after results
Estimating verification time
- verification-hotspot macro-model β measure observable code and input factors, fit a cost model, and rank functions for optimization
- white-box/black-box cost analysis β vary identifiable factors while measuring end-to-end verifier time after transformations and solver heuristics
- experimental-design data collection β design characterization runs that isolate factors while minimizing solver executions
- held-out accuracy assessment β fit on one experiment set and estimate error and confidence intervals on a separate set
ESBMC-Solidity: An SMT-Based Model Checker for Solidity Smart Contracts
- grammar-guided AST conversion β traverse compiler JSON AST in grammar order and emit semantic-preserving verifier IR
- hybrid contract instrumentation β combine nondeterministic values, assumptions, and assertions to define bounded safety queries
- SSA SMT violation search β form
C β§ Β¬Pand use an SMT solver to return a violating state trace - taxonomy-driven vulnerability benchmarks β derive cases from SWC categories and record detection, counterexamples, and CPU time
- trace-preserving counterexamples β retain original source declarations so solver states reproduce the reported bug
ESBMC-PLC: Formal Verification of IEC 61131-3 Ladder Diagram Programs Using SMT-Based Model Checking
- LD-to-IR frontend: parse PLCopen XML, build a rung graph, translate to an intermediate representation, inject properties, and invoke an SMT checker
- nondeterministic scan-cycle model: re-sample inputs each scan while preserving coil and memory state in an unbounded loop
- YAML safety properties: express mutual exclusion, invariants, absence, bounded response, and reachability with explicit timing justification
- BMC and k-induction: use incremental bounded search for counterexamples and induction for unbounded invariant proofs
- source-level counterexamples: report original LD names, scan cycles, and violated properties so fixes are actionable
ESBMC: A Survey of Its Evolution, Integration, and Future Directions in Formal Software Verification
- SMT-native BMC β lower programs to SSA, unroll to k, and use solver SAT/UNSAT for bounded safety
- k-induction strengthening β combine base and inductive cases with interval or solver-checked loop invariants
- incremental solving β reuse solver state while increasing bounds or exploring interleavings
- context-bounded concurrency β combine switch bounds, partial-order reduction, and symbolic scheduling
- verifier-guided LLM repair β prompt repairs or invariants from counterexamples and accept only SMT-validated results
Errors are Useful Prompts: Instruction Guided Task Programming with Verifier-Assisted Iterative Prompting
- verifier-assisted prompting β regenerate a DSL program with the previous candidate and deterministic error list until verification passes or a timeout
- syntax and static checks β parse, validate grammar and attributes, and check resource references before execution
- environment-grounded handoff β constrain generated resources and pass accepted plans to a planner that models actual execution capabilities
Error Localization, Certificates, and Hints for Probabilistic Program Verification via Slicing (Extended Version)
- error-witnessing slicing: delete statements while preserving a failing counterexample relation to localize errors
- verification-witnessing certificates: retain a reduced program whose successful verification implies the full program verifies
- verification-preserving hints: minimize a verified program to statements sufficient to preserve its specification
- core/MUS/SMT slice search: compute minimal or fast slices with unsatisfiable cores, MUS enumeration, or direct SMT encoding
EquivSVA: A Formally Verified Dataset of Behavioral Assertions Across Equivalent RTL Implementations
- behavior-family generation β derive multiple structurally different implementations and shared interface properties from one machine-readable behavior
- formal family validation β require equivalence, property proofs, covers, mutant distinguishability, and expected mutant failures
- controlled mutation testing β inject localized semantic changes and measure counterexample detection
- family-safe evaluation splits β keep all equivalent implementations of a behavior in one train, development, or test split
- implementation-robustness metrics β compare sound-property counts across variants with explicit task, family, and mutant denominators
Equivalence Checking of ML GPU Kernels
- Inference: structured-CTA admission β reject dynamic shapes, branches, addresses, and cross-CTA responsibility before checking
- Inference: symbolic race/deadlock execution β schedule threads symbolically, track accesses, and use barriers to detect races and stuck states
- Inference: canonical symbolic equivalence β normalize output expressions and decide equality element by element
- Inference: Agda-backed guarantees β prove confluence, race true positives, and equivalence soundness/completeness under explicit assumptions
Entropy Regularization: A Free Correction to Cross-Entropy for Verified Demonstrations
- support-mismatch diagnosis β compare CEβs observed-label objective with verifier risk over rejected support
- entropy-regularized CE β add Ξ» times differentiable support proxy and schedule Ξ» upward, Ξ± downward
- verifier-based evaluation β execute or symbolically check outputs and report Pass@1 with model, seeds, and denominators
Enhancing Word-Level Property Directed Reachability with LLM-Driven Semantic Guidance
- restricted helper interface β route typed LLM suggestions through parser, binding, and role-specific verifier checks
- COI-aware prompting β filter design context to property-relevant variables before helper synthesis
- two-phase predicate MIC β preserve candidate word-level predicates while pruning low-level literals, then remove redundant helpers
- clause side-loading β inject only initiation- and consecution-checked lemmas into the first PDR frame
- assertion refinement β strengthen a property temporarily and remove only assertions falsified by counterexamples
- soundness separation β keep the LLM as a hint generator while the model checker makes every proof decision
Enhancing Program Repair with Specification Guidance and Intermediate Behavioral Signals
- checkpoint postconditions β decompose a function at execution checkpoints and generate executable local behavioral relations
- alpha consistency filter β retain conditions satisfied on a threshold fraction of passing executions that reach the checkpoint
- beta discriminative filter β retain conditions violated by a threshold fraction of failing executions
- dual-signal repair guidance β pass conditions satisfying Ξ±β₯ΞΈ and Ξ²<Ξ³ to the patch generator
Enhancing Neural Theorem Proving through Data Augmentation and Dynamic Sampling Method
- premise decomposition β split ordered rewrites and verifier-checked simplifications into single-premise goalβaction examples while retaining original tactics
- dynamic sampling β compute an exponentially decaying candidate width from elapsed/total time, sample five times that width, and keep at most the successful width
- best-first verifier search β prioritize open goals by cumulative model log probability and let the proof assistant reject inapplicable actions
- validation checkpointing β periodically run the verifier on validation theorems and keep the model checkpoint with highest Pass@1
- tool-path optimization β remove unnecessary environment-version queries and set a measured tactic timeout before comparing prover rates
Enhancing LLM-based Specification Generation via Program Slicing and Logical Deletion
- automatic function slicing β derive slicing criteria from non-loop variables, generate backward slices, and greedily simplify overlapping slices
- slice-conditioned generation β ask an LLM for specifications from one slice with role instructions and few-shot examples
- logical deletion β exclude irrelevant candidates, comprehend and reason about each, then retain logically correct-looking clauses
- delayed integrated verification β aggregate slice clauses, verify the whole function, delete failing clauses, and repeat
- checker-gated evaluation β run five independent trials and report verification passes, relevance, assertions, and runtime with explicit denominators
Enhancing Large Language Models in Coding Through Multi-Perspective Self-Consistency
- three-perspective generation β sample solutions, formal-style specifications, and tests for one intent
- inter-consistency graph β weight cross-perspective edges by executable agreement
- intra-consistency confidence β estimate output reliability from lexical or structural similarity
- Laplacian reranking β optimize combined graph and confidence losses to choose a candidate
Enhancing Inductive Entailment Proofs in Separation Logic with Lemma Synthesis
- universal-guard lemma application β match a rooted antecedent, instantiate only relevant universal variables, prove the guard, and reuse the verified lemma
- cyclic auxiliary-lemma synthesis β conjecture unknown guard/frame predicates, prove by progressing cyclic traces, and solve branch assumptions
- abduction-based frame inference β infer recursive spatial or pure predicates as relational constraints and return them as residual frames
- theorem exploration β classify predicates and synthesize verified equivalence, reverse, split/join, and separating lemmas
- incremental modular verification β infer shape predicates first, extend them with size constraints, then discharge method obligations compositionally
Enhancing Formal Theorem Proving: A Comprehensive Dataset for Training AI Models on Coq Code
- sentence-level proof extraction β parse source files into facts and proposition/proof rows while retaining imports and provenance
- verifier-gated proof generation β run model outputs through the proof assistant and count only accepted scripts
- proof diversity sampling β collect multiple accepted tactic and induction strategies for one proposition
- license-aware corpus construction β filter repositories by explicit redistributable licenses and preserve SPDX, URL, and commit metadata
- false-specification detection β include invalid propositions and measure whether models report impossibility instead of fabricating proofs
Enhancing Ethical Explanations of Large Language Models through Iterative Symbolic Refinement
- semantic-role autoformalisation: convert statements to event/agent/patient predicates before symbolic checking
- weak-unification backward chaining: search rule proofs with embedding similarity and retain the highest-scoring chain
- abductive repair: add premises suggested from failed proof context
- deductive hypothesis revision: regenerate the target violation from repaired facts and repeat bounded verification
Enhancing Automated Loop Invariant Generation for Complex Programs with Large Language Models
- AST and value extraction β collect structure declarations, recursion, modified variables, pointer parameters, loop depth, and nested-loop order before prompting
- staged predicate prompting β synthesize data-structure predicates first, then loop invariants with inner-loop results forwarded outward
- evaluator/optimizer augmentation β classify each candidate, strengthen valid invariants, weaken or reject invalid ones, and cap refinement cycles
- checker-grounded invariant selection β define completion by a verifier pass while reporting the model, dataset, and denominator for every fraction
End-to-End Formal Verification of Ethereum 2.0 Deposit Smart Contract
- refinement to deployed code β prove an abstract algorithm, refine transitions to bytecode, and prove a concrete-to-abstract simulation
- incremental Merkle-tree proof β compare an O(h) path update with a full-tree root specification
- positive and negative behavior specifications β verify valid operations together with malformed and adversarial executions
- parameterized liveness β quantify environmental parameters such as future gas schedules instead of fixing todayβs setting
- counterexample-guided repair β use failed formal claims to expose bugs, fix the artifact, and re-verify
End-to-end Compositional Verification of Program Safety through Verified and Verifying Compilation
- open safety invariant β preserve a hidden state invariant and progress-or-error at every small step of an open module
- error-parameterized partial safety β prove a checker excludes a subset of explicitly modeled error states
- simulation-preserved safety β transport interfaces through open backward simulations with a calling-convention operator
- ownership rely-guarantee interface β protect untransferred memory footprints across foreign calls
- interface refinement and composition β strengthen preconditions, weaken postconditions, and link heterogeneous modules
enclawed: A Configurable, Sector-Neutral Hardening Framework for Single-User AI Assistant Gateways
- static effect containment: over-approximate script effects and admit only when the set is contained in manifest capabilities
- refinement-typed dispatch: freeze a sole API dispatcher that rejects envelopes outside the manifest capability set
- bounded model checking: enumerate bounded envelope traces and check the runtime state-change biconditional
- proof-carrying bundle: sign canonical evidence, rerun all methods at load, and abort on drift or signature failure
- mechanizable classification lattice: enforce Bell-LaPadula dominance, least upper bounds, and scheme invariants over integer ranks and sets
Enabling Memory Safety of C Programs using LLMs
- dependency-ordered modular rewriting β visit declarations bottom-up and propagate signature edits through a dependency graph
- context-rich patch prompting β give the LLM task rules, examples, current code, successors, and refactoring history, then apply a diff
- analyzer-guided inference β use sound but incomplete static facts to constrain LLM annotation or contract generation
- sequential transformation phases β refactor first, infer types second, infer bounds or contracts third, checking each phase
- compiler-gated acceptance β treat compiler or verifier rejection as the safety gate for every generated annotation
Elaboration in Dependent Type Theory
- hole-and-constraint elaboration β replace omissions with metavariables, generate constraints, simplify, solve, then invoke tactics
- dependency-aware backtracking β track justifications and jump to the choice responsible for a failed branch
- selective reduction β control beta/iota/delta unfolding with reducibility hints to contain search
- integrated proof inference β coordinate type classes, overloads, coercions, tactics, and proof chunking
Efficient Test-Time Optimization for Multi-Agent Proof Autoformalization
- weak-link intervention: edit one pipeline stage under identical verifier traces and budgets to find the highest-recovery interface
- atomic proof-unit decomposition: split natural-language reasoning into self-contained claims with explicit dependencies and simple proof hints
- Pareto rubric evolution: evolve a pool of decompositions using faithfulness, provability, and language-friendliness scores
- verification gating: invoke expensive formal checking only after cheap proxy scores clear a threshold
- budget scaling: choose test-time optimization rounds from measured accuracy-cost curves
Efficient Synthesis of Symbolic Distributed Protocols by Sketching
- typed protocol sketches β define pre- and post-holes with argument domains, output types, and grammar-generated expressions
- CEGIS with annotated traces β alternate candidate generation and TLC checking, encoding each counterexample as a pruning constraint
- cache-based enumeration β generate expressions by size and reuse cached subexpressions instead of expanding all partial trees
- semantic equivalence reduction β normalize set, Boolean, equality, and inequality expressions and keep one representative per normal form
- short-circuit pruning β exploit commutativity and constraint evaluation to skip redundant candidate combinations
- generalization extra-check β model-check larger instances and discharge all-instance safety with TLAPS after finite synthesis
ProofAug: Efficient Neural Theorem Proving via Fine-grained Proof Structure Analysis
- maximal compatible semi-proof β execute a generated proof, replace failures with the smallest structurally compatible holes, and retain the verified context
- bottom-up proof augmentation β invoke automation at each hole and widen to enclosing blocks only after a finer obligation fails
- efficient recursive proving β branch only at failed conjectures using the preserved proof state and bounded model completions
- mixed strategy evaluation β combine prompts and proof-search modes, reporting dataset curation, query budgets, and denominators separately
Efficient Implementation of an Abstract Domain of Quantified First-Order Formulas
- bounded quantified language: define a finite syntax with quantifier and Boolean bounds to make invariant search enumerable
- syntactic subsumption and canonicalization: quotient equivalent formulas and retain a minimal antichain
- recursive weakening: replace unsatisfied formulas with minimal subsumed formulas satisfied by a counterexample state
- LSet indexed filters: use recursive maps and tries to filter unsatisfied or subsuming formulas without full scans
- symbolic abstract fixpoint: iterate counterexample-guided joins to compute the strongest invariant expressible in the language
EconProver: Towards More Economical Test-Time Scaling for Automated Theorem Proving
- dynamic CoT switching β train DPO preferences that select direct proofs for base-solvable tasks and extended reasoning for hard tasks
- difficulty-aware prefix heads β partition by verified success count, train independent PPO prefix embeddings, and allocate calls uniformly
- prefix diversity coverage β measure distinct early proof n-grams as a proxy for redundant parallel exploration
- token-level scaling accounting β sum generated tokens over passes and refinement to compare cost with verified accuracy
EconCSLib: AI-Assisted Lean Formalization for Economics & Computation research
- paper-facing formalization: preserve source statements and theorem order while sharing reusable library mathematics
- translation audit: compare a context-free Lean-to-text rendering with the source and log human verdicts
- dependency DAG: track every named result and its formalization status
- validation report: record proof-route deviations, extra assumptions, provenance, and unresolved boundaries
Duet: an expressive higher-order language and linear type system for statically enforcing differential privacy
- dual sensitivity/privacy linear typing β count input sensitivity with scaling and privacy cost without scaling in mutually embedded contexts
- mechanism boundary checking β require a statically proved sensitivity bound before assigning a randomized privacy guarantee
- metric-indexed matrix verification β encode row norms, distances, clipping, and gradient bounds in matrix types
- composition primitives β verify sequential, advanced, parallel, sampling-amplified, and mixed-variant privacy costs
- adaptive clipping via sparse vector β select a data-dependent scale with a fixed privacy budget over many queries
DualityCert: Verifier-Gated Language-Model Repair of Broken Duality Claims in Quantum Field Theory
- scoped obligation registry β encode a serializable claim and explicit necessary checks, returning per-obligation statuses and a bounded certificate
- verifier-gated repair loop β let an agent edit a full artifact for up to five rounds, rerun the verifier, and accept only a stricter final certificate
- feedback projection β compare generic failure text, named categories, and masked identities while keeping numeric residuals hidden
- budget-matched resampling β compare staged feedback repair with independent verifier-filtered attempts under the same eleven-call budget
- paired clustered evaluation β reuse the same fixtures across policies and report fixture-clustered risk differences with multiplicity correction
DSValidator: An Automated Counterexample Reproducibility Tool for Digital Systems (Tool Demonstration)
- exchangeable counterexample schema β serialize property, state, inputs, implementation parameters, and expected outputs so another tool can replay a failure
- independent replay β parse the witness, apply implementation arithmetic, simulate, compare outputs, and persist a reproducibility report
- property-specific replay β use quantized roots for stability/minimum-phase, range checks for overflow, and amplitude-period checks for limit cycles
- exhaustive LCO absence check β apply Bauerβs search to classify asymptotically stable systems as limit-cycle free
DSpec2Test: Specification-Driven Test Generation in Dafny
- safe DNF partitioning: decompose guarded contracts into mutually exclusive feasible conjunctions before test synthesis
- SMT counterexample materialization: encode each partition as
assumeplusassert false, then turn Z3 models into runnable tests - boundary value analysis: pin one variable at a time to exact interval edges and collection-size boundaries
- novelty iteration: append an exclusion assumption after each generated input to obtain distinct tests
- mutation adequacy comparison: compare specification-driven and implementation-driven suites on a denominator of realistically killable mutants
DreamProver: Evolving Transferable Lemma Libraries via a Wake-Sleep Theorem-Proving Agent
- wake learnability β collect training theorems directly provable from the current verified lemma library
- recursive decomposition β extract checker-validated intermediate goals when direct proving fails
- semantic lemma abstraction β cluster descriptions and synthesize generalized lemmas with structural validation
- bounded library maintenance β evict unused lemmas, deduplicate by tree distance, and formally verify survivors
- two-stage inference β try direct proving, then sketch-and-prove subgoals with the library
Doubly Saturated Ramsey Graphs: A Case Study in Computer-Assisted Mathematical Discovery
- compact double-saturation SAT encoding β encode forbidden subgraphs, local edge witnesses, cardinality counters, and symmetry breaking in
O(n^4)clauses for fixed parameters - computation-to-conjecture pipeline β use finite SAT/code searches, canonicalize isomorphic structures, and extract a symbolic family before proving it
- LLM proof proposal with Lean checking β require a detailed informal proof, autoformalize it, and iterate on verifier diagnostics until the kernel accepts the theorem
- modular saturation lower bound β import a degree theorem, rule out universal vertices, and compose complement and graph degree inequalities
Donβt Trust the Code, Check Its Effects: Runtime Refinement for Regenerated Systems Code Under an Adversarial Generator
- proposal-commit separation β confine generated code to planning and let a trusted mediator validate and commit effects
- mediator-held intent β re-derive request-fixed fields and validate proposals against mediator state
- sealed observation tokens β bind observations to request and state versions, then consume tokens under a commit lock
- outcome-closed transitions β enumerate every primitive outcome and its abstract-state transition
- mediability envelope β screen effect vocabularies for legibility, observability, correlatability, completeness, outcome closure, and durability
DocPrompting: Generating Code by Retrieving the Docs
- retrieve then generate β select top-k API or proof documents for an intent and condition generation on them
- mixed sparse/dense retrieval β compare BM25 with contrastive language encoders and add weak sentence supervision
- fusion-aware prompting β encode long retrieved chunks separately when the generator context is short
- unseen-API evaluation β split by commands/functions and measure retrieval, surface quality, execution, and verifier acceptance separately
Doc2Spec: Synthesizing Formal Programming Specifications from Natural Language via Grammar Induction
- entity localization: chunk documents, infer scope/entity regexes, validate matches, and extract declaration attributes
- verbatim rule extraction: copy candidate clauses, substring-check them, deduplicate, and score rulehood
- staged grammar induction: split rules into atoms, infer predicates and sorts, then build a fixed EBNF vocabulary
- parser-constrained formalization: fill extracted logical structure with typed arguments and reject invalid DSL syntax
- ghost-instrumented symbolic execution: add state observations and assertions before checking real API implementations
Do LLMs Game Formalization? Evaluating Faithfulness in Logical Reasoning
- formalization-gaming taxonomy β classify wrong translations, fabricated or omitted axioms, and contradictions, then test whether the error uniquely enables proof compilation
- two-stage locked formalization β validate and freeze the formal statement before proof generation, diffing any later changes
- directional divergence test β run incompatible target answers and flag simultaneous successful proofs as inconsistent formalizations
- contract-faithfulness gate β require verifier success plus an independent check that contracts and assumptions preserve intended behavior
Do Language Models Need Music Supervision? Verifiable Rewards for Multi-Constraint Symbolic Music Generation
- hard validation gate: reject malformed artifacts before assigning any property credit
- graded verifier reward: average per-property scores and add a joint all-satisfied bonus
- verifier-driven GRPO: normalize deterministic verifier rewards within prompt groups and update the policy
- generalisation and reranking: test held-out constraints and select among sampled candidates by verifier score
Do AI models help produce verified bug fixes?
- GQM verified-repair experiment β preregister goals, questions, metrics, randomize AI access, and validate every fix with a prover
- contract-backed repair loop β seed a bug, submit each edit to the verifier, and accept only a compiled proof of the stated contracts
- collaborator prompting β provide code and diagnostics, request a focused diff, review it, and iterate with fresh verifier output
- behavior and hallucination taxonomy β record full sessions to detect copy-paste, unranked advice, and repeated failed repair loops
Distilling LLM Feedback for Lean Theorem Proving
- feedback-conditioned self-distillation β sample on-policy proof attempts, obtain privileged critique, and train token-wise toward the feedback-conditioned teacher
- verifier-tool feedback β expose file writing, checker output, and library search, then constrain a critic to short actionable orders
- EMA teacher stabilization β update the teacher by exponential moving average and sweep Ξ± while tracking instability
- diversity diagnostics β compare entropy, pass@k, and distinct successful lemmas/tactics at matched verifier accuracy
DissProve: Automated Verification of Asynchronous Distributed Protocols with Affine Communication
- affine backward safety verification: refute a negated safety goal by symbolic predecessor exploration
- actor-location materialization: instantiate only actors and locations demanded by the goal
- actor-causality reduction: retain predecessor events that can produce the current obligation
- message-segment summarization: compress cyclic message histories with affine-bounded symbolic lengths
- entailment pruning: subsume repeated symbolic states to force convergence
Discovering New Theorems via LLMs with In-Context Proof Learning in Lean
- conjecture-proving separation β generate Lean statements first, then spend a bounded proof budget on each surviving statement
- verified-proof context β feed only kernel-checked prior statements and proofs to the next prover prompt
- Lean novelty filtering β use
exact?against Mathlib and the generated library before proof search - verifier-feedback retries β return Lean diagnostics to the prover for up to a fixed attempt limit
- stratified hard-theorem sampling β use multiple proof attempts so acceptance is less biased toward statements with easy proofs
Discover and Prove: An Open-source Agentic Framework for Hard Mode Automated Theorem Proving in Lean 4
- hard-mode benchmark design β remove supplied answers and require an explicit discovery artifact before formal proving
- self-verifying answer discovery β generate a candidate, inspect it for errors, and iteratively correct it before formalization
- answer-conditioned rewriting β insert a reviewed candidate into a single-goal statement before invoking the theorem prover
- semantic benchmark curation β expert cross-validation, unified conventions, and compilation checks prevent answer leakage and misaligned goals
Directed Neuro-Symbolic Stochastic Execution for Verification of Distributed Parallel AI Programs
- transition-system LTL modeling β represent workers, schedules, traces, and concurrency faults as explicit states and temporal properties
- decidable/nonlinear constraint partition β send linear fragments to SMT and nonlinear fragments to concrete branch-distance mutation
- witness-preserving hybrid search β retain replayable schedule/input witnesses and re-enqueue unresolved branches instead of declaring them safe
- LLM schedule prior β rank enabled transitions with semantic and structural risk while expanding all transitions for soundness
Direct Optimization of Generators for Search in Automated Theorem Proving
- search-aligned objective: optimize proof-found probability under the deployed finite-budget search
- trace-supported CAT: collapse deviations from a demonstrated proof into a finite negative event and differentiate the recurrence
- uniform-allocation loss: train one generator with equal local compute allocation across search strategies
- strategy-specific recurrences: derive separate objectives for Pass@N, best-first, and other frontier policies
- off-trace error analysis: account for alternative proofs and the recovery cost of exploratory branches
- paired proof-search evaluation: report proof-found rates with theorem, expansion-budget, and paired-cohort denominators
Diffusion-Proof: Recipe for Formal Theorem Proving Beyond Auto-Regressive Generation
- structured proof-corpus preparation β normalize NL, formal statements, proofs, and explicit subgoals into separate training records
- block-diffusion prover β generate complete formal proofs by iterative multi-token denoising with within-block bidirectional attention
- large-block corrector β replace one failed subgoal with a mask and fill it from both prefix and suffix context
- verifier-gated repair loop β invoke correction only after the checker confirms a repairable skeleton failure and re-check every fill
- proof-length curriculum β sort training examples by proof length to stabilize whole-proof model training
Developing a Practical Reactive Synthesis Tool: Experience and Lessons Learned
- modular programmer-facing specifications β model environment and controller as reusable typed modules with explicit goals and guarded actions
- counterexample source debugging β replay a failure interactively with concrete environment choices and source-level state
- two-phase user-guided generation β preserve manual code, simulate it against a winning set, and generate only winning actions
- incremental synthesis β enable a small feature/goal subset before adding the rest to localize specification defects
- abstract symbolic interaction β abstract, select or partition actions, concretize them, and lift results back to source code
Developing a Numerical Algorithm with CIVL Model Checking in the Loop
- abstraction-layer verification β model only the observable API needed by a new algorithm and state the refinement assumption
- symbolic continuum checking β use symbolic real inputs and assertions to cover all admissible positions in a fixed topology
- property-first staged development β write contracts before code and re-check them after each bottom-up implementation stage
- counterexample-driven repair β use model-checker traces to expose reachable defects that sampled tests miss
- cost-tiered checking β run cheap low-dimensional checks after edits and expensive configurations as staged checkpoints
Detecting Critical Bugs in SMT Solvers using Blackbox Mutational Fuzzing
- seed fragmentation β recursively extract valued sub-formulas from real SMT-LIB seeds
- valuation-preserving mutation β build Boolean formulas with AND/NOT while retaining known truth values
- satisfiable-by-construction oracle β negate false-valued assertions so
unsatidentifies a solver bug - depth minimization β binary-search formula depth while preserving satisfiability and the incorrect result
- incremental-mode fuzzing β generate push/pop variants and vary depth/assertion bounds to probe solver configurations
Denotation-based Compositional Compiler Verification
- behavior-set denotations β define normal, aborting, divergent, and event-trace behaviors as typed sets with algebraic composition
- open-module fixed-point linking β parameterize module semantics by external-call oracles and link by union plus a least fixed point
- state-matching behavior refinement β prove target behaviors correspond to source behaviors through a representation relation and compose those relations
- Kripke interface composition β index query/reply relations by worlds and compose interfaces horizontally and vertically
Delay, Plateau, or Collapse: Evaluating the Impact of Systematic Verification Error on RLVR
- systematic trigger injection β add deterministic output-dependent false positives or false negatives to study verifier dynamics
- oracle versus verifier metrics β track true oracle reward, training reward, FPR, and FNR separately
- conditional advantage β correlate trigger frequency and oracle advantage to predict plateau versus collapse
- verifier alternation β periodically replace a cheap verifier with a trusted oracle to mitigate destructive reward bias
DeepSeekMath-V2: Towards Self-Verifiable Mathematical Reasoning
- rubric-scored verifier β train a model to identify proof issues and assign 0/0.5/1 labels from expert-scored examples
- meta-verification β score whether verifier-reported issues exist and justify the proof score, then include that score in verifier training
- self-verifying generator β reward a generator for a correct proof and a faithful self-analysis, then iteratively refine its output
- scaled automated labeling β sample independent analyses and majority-confirmed meta-analyses to label hard proofs or route them to experts
DeepSeek-Prover-V2: Advancing Formal Mathematical Reasoning via Reinforcement Learning for Subgoal Decomposition
- recursive subgoal decomposition β prompt an LLM for Lean
havesketches, turn each into a lemma, add earlier facts as premises, and solve recursively - subgoal curriculum β train on lemma variants with and without preceding premises to densify verified learning signals
- cold-start proof synthesis β compose checked subproofs and append them to informal reasoning traces for supervised initialization
- consistency-reward RL β reward kernel-verified proofs and temporarily penalize omission of decomposed intermediate lemmas
- expert iteration and distillation β retain successful checker-verified attempts, train a stronger model, and distill long-context rollouts into a smaller prover
DeepSeek-Prover-V1.5: Harnessing Proof Assistant Feedback for Reinforcement Learning and Monte-Carlo Tree Search
- whole-proof verifier loop β sample complete proof code, run the proof assistant, and retain only verified candidates under a stated budget
- expert iteration with thought and state augmentation β retrain on verifier-accepted proofs annotated with natural-language plans and intermediate verifier states
- binary RL from proof-assistant feedback β optimize grouped candidate proofs with 1/0 rewards from formal verification
- truncate-and-resume search β preserve a valid prefix at the first error and resume generation from its verifier state
- RMaxTS intrinsic-reward MCTS β select tree nodes with UCB, reward newly discovered states, and use discounted UCB for non-stationary exploration
- parallel proof search β combine root runners, tree workers, asynchronous verifier processes, and virtual loss to raise search throughput
DeepSeek-Prover: Advancing Theorem Proving in LLMs through Large-Scale Synthetic Data
- autoformalization: translate natural-language problems into core formal declarations with a structured prompt
- statement scoring: classify generated statements and remove fair or poor candidates
- hypothesis rejection: prove
Falseunder the candidate assumptions and reject vacuous statements - dual positive and negative proving: search for a statement and its negation concurrently to save work and augment data
- iterative expert enhancement: fine-tune on verifier-accepted theorem-proof pairs and repeat until gains level off
- pass@k proof evaluation: count a problem solved when one of k generated proofs passes the kernel
DeepMath - Deep Sequence Models for Premise Selection
- pairwise premise relevance β score each conjecture/fact pair and rank facts before ATP or verifier search
- definition-aware embeddings β represent rare symbols by embeddings of their defining formulas
- hard-negative mining β train on low-scoring near-miss premises to improve small-cutoff retrieval
- bounded rank-and-check β try increasing top-k premise sets under recorded prover resource limits
- aMRR evaluation β measure the worst true-dependency rank with an explicit sampled-negative denominator
Deep Generation of Coq Lemma Names Using Elaborated Terms
- multi-view elaborated-term encoding β encode statement, syntax tree, and kernel/elaborated tree with separate encoders and decode a lemma name
- tree chopping β remove qualified-name prefixes, locations, and singleton nodes before encoding to reduce irrelevant sequence length
- copy-aware sub-token decoding β copy file-local identifiers, split names into sub-tokens, and constrain repetition during beam search
Deductive Verification of Weak Memory Programs with View-based Protocols (extended version)
- per-thread/location protocol trees: model each writerβs permitted stores as a finite labelled tree with accepting states
- thread-local views with pi and tau: track each threadβs observations and modification order to enforce coherence and permit speculation
- SLR-to-protocol encoding: represent permission histories and relaxed reads/writes through protocol transitions and view updates
- consistency filtering: execute threads in order, then enforce final-state and reachability conditions CC1 and CC2
Deductive Verification of Smart Contracts with Dafny
- single-language contract specification β put executable state, preconditions, postconditions, ghost accounting, and a global invariant in one verification-oriented program
- runtime revert modeling β check caller conditions, return a tagged success/error result, and prove state is unchanged on error
- gas-bounded callback abstraction β model unknown and re-entrant calls with havoced inputs and mutually recursive transitions decreasing gas
- invariant-before-callback discipline β update state until the invariant holds before an external call, then require and re-establish it across the abstraction
Deductive Verification of Floating-Point Java Programs in KeY
- strict IEEE SMT translation β translate strictfp elementary operations and comparisons to SMT-LIB while preserving IEEE semantics
- special-value contracts β specify and prove absence of NaN and infinity with
fp_nan,fp_infinite, andfp_nice - transcendental axiomatization β model library functions as uninterpreted symbols constrained by quantified range and special-value axioms
- KeY taclet instantiation β apply selected transcendental facts as local deductive rules before final SMT solving
Decomposition by tree dimension in Horn clause verification
- tree-dimension decomposition β split CHC derivations into at-most-k and residual at-least-k fragments and prove both
- FTA language difference β construct the residual derivations by subtracting the at-most fragmentβs trace automaton
- dimension instrumentation β add a ghost dimension argument and recurrence relations so CHC solvers can prove dimension bounds
Decompose, Structure, and Repair: A Neuro-Symbolic Framework for Autoformalization via Operator Trees
- semantic canonicalization and role alignment: remove redundant prose, recover implicit context, and label conditions versus conclusion before formalization
- operator-tree supervision: jointly generate formal fragments and labeled ordered trees to preserve nesting and expose repair locations
- complexity curriculum with replay: stratify tree depth, width, and node count and mix earlier tiers into later LoRA phases
- structure-first assembly: reconstruct code from tree leaves, falling back to linear fragments when the tree is malformed
- tree-guided repair: map compiler coordinates to a node, repair bottom-up through subcomponent, component, and statement scopes, then run a semantic check
Decompose-and-Formalise: Recursively Verifiable Natural Language Inference
- recursive entailment tree β represent multi-step reasoning as bottom-up local obligations and promote verified subtrees
- entailment-preserving atoms β split sentences into atoms only when each is entailed by its source, using a 0.9 NLI filter
- ΞΈ-substitution formalisation β instantiate entity, event, and semantic-role placeholders in separate, auditable steps
- diagnostic-guided local repair β use failed prover goals to refine only implicated nodes and recheck the same subtree
Decode-Time Grammars: Constrained LLM Generation over a Refinement Order of Grammar Fragments
- Ξ-typed slot masking: replace open references with escaped alternatives drawn from the current environment and prove No-Ghost support
- refinement-ordered grammar policy: choose coarse, gamma, context-filtered, or pinned fragments and preserve soundness under tightening
- self-extending grammar calls: update Ξ from declarations as holes complete and instantiate later masks from the new frame
- offline fragment induction: anti-unify corpus examples, mine ghost substitutions, and gate executable fragments before deployment
- dynamic-support necessity: synthesize exact prefix-dependent reference support online because finite fixed-support families cannot be both sound and non-blocking
- engine correspondence testing: differentially test rendered slot grammars and token masks, then extend Ξ queries to immutable sort and shape attributes
Decision Tree Learning in CEGIS-Based Termination Analysis
- CEGIS transition synthesis: alternate candidate ranking synthesis and validator counterexamples until a well-founded relation satisfies all constraints
- decision-tree ranking functions: split transition examples by affine halfspaces and solve affine decreases constraints independently in leaves
- implicit-cycle refinement: extract leaf-dependency cycles from unsat cores and add separating qualifiers until Theorem 17 applies
- qualifier selection: rank eager halfspaces with model quality plus entropy, or choose separating qualifiers lazily
Deciding Separation Logic with Pointer Arithmetic and Inductive Definitions
- inductive heap-list summaries: replace recursive pointer-arithmetic list predicates with equivalent Presburger constraints
- separating-conjunction abstraction: encode points-to, blocks, and pairwise interval disjointness in arithmetic
- ordered entailment decomposition: enumerate compatible address preorders and reduce entailment to sorted spatial matches
- effective upper bounds: compute realizable chunk-size bounds to decide heap-list entailments with arithmetic constraints
- spatial atom splitting: partition block or heap-list atoms at consequent boundaries and recurse on the resulting regions
Deciding Entailments in Inductive Separation Logic with Tree Automata
- tile semantics for recursive heaps β compose separation-logic rule heads and recursive calls into characteristic tiled trees
- canonical heap-tree normalization β eliminate equalities, split heads, and order ports so equivalent local heaps have normalized representations
- rotation closure β accept all spanning-tree rotations that represent the same local heap
- quasi-canonical non-local encoding β add equality ports to represent non-local edges with sound but incomplete rotation reasoning
- inductive-system to tree-automaton compilation β map predicates to states and rules to normalized tile transitions in linear size
- entailment by language inclusion β decide a local separation-logic entailment through inclusion of a left automaton in the rotated right automaton
- locality and complexity checks β enforce connected rules for decidability and use equality signatures as a sufficient locality test
Deciding and Interpolating Algebraic Data Types by Reduction (Technical Report)
- flat ADT reduction β flatten recursive constructors and reduce constructor, selector, tester, and equality constraints to EUF+LIA
- constructor/depth encoding β use uninterpreted constructor functions, IDs, selectors, and depth inequalities to enforce free acyclic terms
- reduction optimization β simplify guarded selectors and encode finite enumerations directly as integer IDs
- ADT interpolation β compute EUF+LIA interpolants and translate IDs, equalities, and depth facts back to ADT predicates
- size-aware unfolding β add semilinear size constraints and incrementally unfold variables until a model is represented or contradiction appears
- expanding-ADT criterion β classify when unfolding is complete using unary-cycle structure in the sort/constructor dependency graph
Decidable Verification of Uninterpreted Programs
- initial term model: reduce all feasible uninterpreted executions to congruence closure in a canonical term model
- coherent execution automaton: stream variable equivalence, disequalities, and partial function interpretations with finite memory
- coherence checker: track recomputation table E and superterms to reject non-memoizing or late-equality executions
- k-coherence: add bounded write-only ghost variables to retain dropped terms and recover decidability
- recursive VPA verification: intersect execution and coherence visibly pushdown automata and test emptiness
Dear CAV, We Need to Talk About Reproducibility
- clean-room rebuild β compile every commit in a fresh environment with declared dependencies and toolchain
- two-stage verification CI β run developer unit tests, then property-bearing benchmarks, recording commit-linked results
- community benchmark growth β let non-developers add models and replay all models on every new revision
- dependency-triggered regression β rerun builds and tests when a third-party dependency changes
- artefact traffic-light review β execute submitted artefacts in parallel with review and report reproducibility status
- controlled performance replay β use frozen or otherwise controlled environments before comparing benchmark timings
Data-Efficient Learning of Natural Language to Linear Temporal Logic Translators for Robot Task Specification
- synthetic formula-to-English augmentation β enumerate LTL structures, verbalize them, and paraphrase with GPT-3
- canonical formula rendering β serialize an LTL parse tree into operator phrases for pretrained language models
- constrained decoding β mask decoder tokens to keep outputs in the finite grammar-valid formula set
- low-resource BART fine-tuning β train raw or canonical labels and compare augmentation and decoding ablations
cvc5: A Versatile and Industrial-Strength SMT Solver
- 34-pass preprocessing β normalize, simplify, and optionally reduce formulas in a fixed configurable order
- CDCL(T) cooperation β combine CNF SAT search with theory lemmas and conflict clauses at standard/full effort
- proof reconstruction β emit detailed proofs in LFSC, Alethe, Lean 4, Isabelle/HOL, or Coq for independent checking
- specialized theory solvers β use nonlinear arithmetic, bit-blasting, strings, arrays, and quantifier modules per logic
- SyGuS-assisted reasoning β synthesize invariants, abductions, interpolants, and quantified terms from grammars
CV-Rules: Serializability Verification of Concurrency Control Protocols via Explicit Transaction Ordering
- explicit transaction order β verify serializability by constructing a protocol order and checking C-rule and V-rule
- V-rule decomposition β split competing-writer reasoning into endpoint comparability and no interposition
- hidden-order recovery β derive logical timestamps or batch orders from certification mechanisms that lack an explicit serial order
- bounded-width search β decide serializability by exploring chain-progress vectors when C-rule width is fixed
- view-chain design β enforce V-rule structurally with per-item writer/reader slots
- Lean mechanization pattern β separate core definitions, generic order lemmas, protocol-specific constructions, and audited theorem instantiations
CuvΓ©e: Blending SMT-LIB with Programs and Weakest Preconditions
- weakest-precondition embedding β express abstract programs as
(wp),(box), and(dia)terms and symbolically reduce them to SMT-LIB - specification statements β model assertion, assumption, havoc, and transition relations with pre/postconditions and
old - loop contracts without invariants β prove whole-loop, exit, and inductive premises from loop precondition, postcondition, and termination measure
- counterexample command β encode a Hoare tripleβs negation so an
unsatsolver result certifies no counterexample
CuDIP: Enhancing Theorem Proving in LLMs via Curriculum Learning-based Direct Preference Optimization
- distance curriculum β partition proof-state/action traces by remaining proof distance and train from easy to hard
- MCTS tactic scoring β score each candidate by the fraction of bounded subsequent searches that complete the proof
- learned score generator β distill expensive verifier/search scores into a model for unscored states
- thresholded pairing β create DPO winner/loser pairs only when their measured scores differ by a threshold
- iterative DPO β apply preference optimization per curriculum band, using the prior prover as reference
- verifier-gated prompting β require structured proof actions and accept only artifacts checked by the formal verifier
CTL+FO Verification as Constraint Solving
- syntax-directed CTL+FO encoding β recurse over formula syntax to emit Horn and well-foundedness constraints
- witness relation synthesis β replace existential data quantifiers with solver-discovered
aux/Skolem relations - temporal invariant and ranking synthesis β encode
AG,EF, andUusing inductive predicates and well-founded rank - CEGAR Horn solving β refine witness templates from contradiction trees until a model or counterexample is found
CSLibPremiseBench: Structure-Guided Premise Retrieval and Label Robustness for Lean 4 Computer-Science Theorems
- auditable candidate policies: define strict import/source-order and wider fallback scopes, recording candidate counts and exclusions
- proxy-label audits: compare source-visible references with a stronger elaborated-expression probe and report the denominator
- structure-guided reranking: combine BM25, symbol overlap, namespace/import/source-order and module-graph features with fixed weights
- context-packet utility: evaluate finite top-k premise packets by coverage, token cost, density, and locality before claiming proof-assistance benefit
CryptoFormalEval: Integrating Large Language Models and Formal Verification for Automated Cryptographic Protocol Vulnerability Detection
- staged symbolic-audit pipeline β provide a protocol and property, formalize it, search for a counterexample, then validate the trace independently
- prover middleware β wrap an interactive verifier with timeouts, filtered diagnostics, command restrictions, and explicit trust records
- agent phase separation β separate protocol translation and repair from attack search and trace validation, with verifier feedback between phases
- sandbox trace checking β check executability, protocol coherence, and contradiction of the stated security property before reporting an attack
CrypFormBench: Benchmarking Formal Analysis Capability of Large Language Models for Cryptographic Schemes
- corpus curation β source, deduplicate, execute, label, and balance formal models before evaluation
- five-task decomposition β separate interpretation, generation, completion, transformation, and correction
- tool-in-the-loop harness β normalize outputs and run multiple verifier versions and fallback commands
- analyzability/correctness metrics β report parsed and verified denominators separately with ACCA and F1A
- weighted harmonic scoring β penalize low analyzability while aggregating tasks and languages
- few-shot prompting β provide target-language scaffolding examples to improve executability
- Pass@K repair β sample bounded candidates and accept only independently verified outputs
- property-level audit β score each security or specification goal, not only a scheme-level verdict
CRUXEval: A Benchmark for Code Reasoning, Understanding and Execution
- generate-and-filter execution benchmark β overgenerate deterministic functions, filter for human-solvable programs, and retain a statistically sized set
- execution assertions β score input and output predictions by running the function and checking an assertion
- bootstrap size selection β estimate ranking noise and choose a benchmark denominator that separates models
- chain-of-thought tracing β prompt stepwise execution and evaluate the final answer under fixed temperatures
- execution fine-tuning β train on generated function/input-output traces while checking contamination
Crowbar: Behavioral Symbolic Execution for Deductive Verification of Active Objects
- specification-guided symbolic execution β reduce behavioral specifications while executing and stop branches that cannot match the required trace
- type-guided path pruning β use nullability or other static facts to remove impossible exception branches before SMT
- behavioral-to-SMT translation β split polymorphic heaps, totalize partial functions, apply updates, and close modality-free goals with SMT-LIB
- guided source counterexamples β reconstruct a failed branch as compilable input-language code with concrete SMT-model values
- external-analysis interface β represent unresolved context or protocol obligations as static nodes for separate analyses
CriticLean: Critic-Guided Reinforcement Learning for Mathematical Formalization
- semantic paired benchmark β label whether formal code captures a natural-language requirement, including compilable wrong cases
- compiler-plus-critic loop β require both executable checking and semantic review before accepting a formalization
- taxonomy-guided negatives β mutate correct formalizations using a reviewed list of realistic error types
- mixed SFT and rule-based RL β combine critic, code, and math data with format and label rewards
- retry-budget evaluation β report cumulative accepted formalizations at explicit attempt limits
Craig Interpolation in Program Verification
- interpolant invariant inference β unroll a path, split its verification condition, compute a shared-symbol interpolant, rename it, and check induction
- IMC fixed-point acceleration β iteratively interpolate BMC queries to build inductive over-approximations of reachable states
- CEGAR predicate refinement β turn interpolants from spurious counterexamples into predicates and repeat abstraction checking
- CHC invariant/contract solving β encode initiation, transitions, recursion, and errors as Horn clauses and solve relation symbols
CPAchecker: A Tool for Configurable Software Verification
- configurable program analysis interface β separate abstract state, post, merge, and stop operations behind a replaceable CPA contract
- two-step analysis integration β register a component and implement every CPA operation interface
- composite explicit-value and predicate abstraction β combine cheap value tracking with predicate refinement and tune the value threshold
- reproducible precision tuning β report runtime, predicate/refinement counts, machine, memory, timeout, and benchmark denominator
Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming
- explicit owned reference counting β represent heap references as counter tokens and insert
inc/decaccording to owned uses - reset/reuse destructive update β reset a unique dead constructor and reuse its cell for a same-arity constructor
- borrow-signature inference β infer owned versus borrowed parameters by a fixpoint over resets and owned calls
- tagged thread-safe counting β mark cross-thread reachability and reserve atomic fences for multi-threaded values
Counterexample-Guided Prophecy for Model Checking Modulo the Theory of Arrays
- delayed universal prophecy β add history plus a frozen variable targeting a term at a finite delay to obtain a quantifier-free invariant
- lazy array abstraction refinement β abstract arrays as uninterpreted functions, instantiate violated axioms from BMC traces, and lift them into transitions
- refinement tractability heuristics β prefer consecutive axioms, prune with unsat cores, retain prophecy predicates, and assume the property in the pre-state when sound
Counterexample Guided Learning in the Large using Reasoning Agents
- oracle-guided refinement β iterate candidate generation, equivalence checking, and symmetric-difference counterexamples until the candidate is correct or the epoch bound is reached
- clustered counterexamples β group equivalent DFA transitions into universally interpreted symbolic character-class paths to compress disagreement feedback
- reflection β feed the previous hypothesis, reasoning trace, and new counterexamples back to the model to explain and revise conceptual errors
- syntax-and-satisfaction repair β compile, check examples, score, and retry candidates with compiler and misclassification feedback
- prompt regularization β constrain expression length, operator nesting, and alphabet to discourage early overfitting while preserving verifier checks
Counterexample Generation via Per-Theorem Symbolic Verifiers: When Imitation Hurts and Reinforcement Repairs
- per-theorem executable verifier β compile one deterministic symbolic checker per generated claim and reuse it for filtering, reward, and evaluation
- witness-schema interface β derive a concise expected output shape from the checker and canonical witness, then include it in the prompt
- sparse outcome RLVR β reward only a verifier-confirmed terminal counterexample to preserve calibration and abstention
- verifier audit and transfer β independently audit accept/reject decisions and test unchanged-prompt transfer on held-out benchmarks
CoTu at EXACT 2026: Neuro-Symbolic Reasoning for Transparent Educational QA
- task routing and clarity guard β classify proof tasks, reject malformed context, and select a specialized output contract
- hybrid RRF retrieval β merge dense and BM25 ranks, deduplicate, and provide API examples as generation context
- SMT entailment grounding β decide entailment and contradiction with paired unsatisfiability checks before formatting an answer
- executable Program-of-Thought β generate sandboxed Python or symbolic programs whose execution determines the result
- verifier self-correction β regenerate after parse or execution failure within a bounded retry budget
- latency fallback β switch to majority-voted fast samples before a hard timeout
- verifier-filtered distillation β train task adapters only on teacher traces whose generated programs pass the symbolic verifier
CORE: Conflict-Oriented Reasoning Elimination for Verifiable Language-Model Search
- certified conflict cores β ask a verifier for a subset of decisions absent from every valid completion and cache it as a semantic nogood
- nonchronological backjumping β discard decisions newer than the latest core member and resume at the implicated level
- subset nogood memoization β skip any candidate whose canonical decision keys contain a stored core
- core minimization β delete core members and replay certification, retaining only reductions that remain sound
- exhaustion cores β combine certified explanations for every legal alternative before declaring a decision level exhausted
- tiered verifier interface β separate exact, replay-certified, and heuristic explanations so only sound cores receive hard pruning
CoqPyt: Proof Navigation in Python in the Era of LLMs
- proof-file navigation β step through source and retain text, AST, validity, and visible definitions at each cursor
- premise and goal extraction β associate every proof step with context and intermediate goals for retrieval and training
- transactional proof repair β apply candidate edits atomically, revert invalid changes, and keep accepted proofs
- verifier API benchmarking β measure feature latency and failures against file size with explicit hardware and denominators
Cooperative Verification via Collective Invariant Generation
- master-helper invariant delegation β let a master verifier request loop invariants from unchanged specialized tools
- correctness-witness exchange β serialize, validate, and inject helper invariants through a standard witness format
- source-aware invariant adaptation β map IR variables and blocks back to source locations before witness construction
- parallel complementary portfolios β combine generators with different algorithms while measuring CPU sharing and timeout effects
- timed restart and injection β choose when to request help and whether to restart or augment a running analysis
Controlled Owicki-Gries Concurrency: Reasoning about the Preemptible eChronos Embedded Operating System
- active-task controlled OG β guard each atomic command with
AWAIT AT=taskand model yields as atomic active-task changes - nested-interrupt stacks β save active task and interrupt masks on stacks, enforce enablement and priority policy, and restore on return
- SVC transition modelling β represent synchronous and asynchronous supervisor calls as guarded atomic state transitions with request bits
- obligation reduction β remove guard-implied redundant OG conditions before automated Isabelle discharge
Contract Based Verification of Non-functional Requirements for Embedded Automotive C Code
- interface contract gate β list entry points, permitted external calls, signatures, and call-order constraints in a standalone artifact and reject implementations that violate them
- rule decomposition β split module control-flow and data-flow requirements into individually checkable static rules
- critic pipeline β compile first, then run functional proof, coding checks, and interface checks with one aggregated verdict
- initialized-before-read analysis β use predecessor order and abstract input/output locations to reject reads without explicit initialization
- untrusted-agent workflow β treat generated implementation as untrusted while specifications and critics remain trusted
Continuous Verification of Large Embedded Software using SMT-Based Bounded Model Checking
- SCM-guided proof reuse β identify changed functions and reuse proofs only after old/new input-output equivalence succeeds
- test-guided state reduction β replace tested inputs with nondeterministic values plus assumptions that focus BMC on unexplored regions
- SSA bounded model checking β unroll a transition system and query SMT satisfiability of encoded constraints plus a negated property
- theory-specific encoding β choose bit-vectors, integers/reals, pointers, and solvers according to program operators and precision needs
- dynamic-object validity encoding β track object identifiers and liveness to detect invalid allocation, free, and dereference operations
- verus translation (inference) β use contracts, loop invariants, and dependency fingerprints for sound proof-cache invalidation around changed Rust code
ConstructionβVerification: A Benchmark for Applied Mathematics in Lean 4
- two-stage construction verification β define a computable solution from raw parameters, then prove its property
- recursive algorithm formalization β expose initialization and transition rules before proving invariants or convergence
- representation transformation proof β construct target domains and maps, then prove relaxation or equivalence
- semantic dependency density β measure non-trivial typed declaration dependencies to stratify formal tasks
- structural prompt and failure audit β enforce construction-first output and classify compile/proof failures with denominators
Constraint Solving for Finite Model Finding in SMT Solvers
- purification with proxies β replace quantified subformulas by Boolean proxies and ground witnesses while preserving equisatisfiability
- FCC congruence solving β combine congruence closure with finite cardinality bounds and learned clique or split lemmas
- region-based finite-model search β maintain graph regionalizations to detect cardinality conflicts without general clique search
- defining-map model construction β build finite interpretations from congruence-class representatives and function tables
- model-based instantiation β evaluate critical variables and enumerate only representative falsifying substitutions
- E-matching fallback β prioritize syntactic instances, then use finite-model instantiation after domain bounds are established
Constraint-based Relational Verification
- semantic scheduler synthesis β infer state-dependent schedules and relational invariants for k-safety with fair non-lock-step execution
- well-founded co-termination encoding β combine step-difference bounds, fairness, and a well-founded relation to prove paired termination
- prophecy and functional predicates β encode ββ non-interference by guessing final outputs and synthesizing total angelic choices
- stratified CEGIS β grow ordinary, ranking, and functional templates from counterexamples and unsat cores
Constant-time foundations for the new Spectre era
- speculative constant-time semantics β Model attacker-controlled fetch, execute, and retire schedules and require identical labeled traces for public-equivalent states
- forwarding-hazard analysis β Enumerate speculative store-to-load forwarding choices and roll back executions whose resolved addresses invalidate them
- fence mitigation β Insert a speculation barrier so later instructions cannot execute until earlier instructions retire
- worst-case schedule generation β Generate both branch outcomes and all bounded forwarding choices, then symbolically execute each schedule with Pitchfork
Consistency Meets Verification: Enhancing Test Generation Quality in Large Language Models Without Ground-Truth Solutions
- two-stage self-consistency β generate diverse stubs, then majority-select assertion completions
- AST functional grouping β compare tests by behavior while ignoring formatting and names
- chain-of-verification β interrogate a baseline with correctness and edge-case questions, then revise
- dual execution agreement β cluster candidate solutions by pass/fail test signatures
- consensus scoring β rank clusters by passed-test coverage and number of agreeing solutions
- verification metrics β report validity, precision, recall, F1, line coverage and mutation score with dataset/model denominators
Conjecturing: An Overlooked Step in Formal Mathematical Reasoning
- seen/unseen conjecture evaluation β separate translation with a supplied answer from autoformalisation that must infer the answer
- ConJudge completeness check β use a calibrated judge to test whether the generated statement contains the intended conjecture
- definitional conjecture metric β isolate candidate-answer generation with Lean
rflequivalence - Lean-FIRe prompting β alternate natural-language decomposition with formal Lean translations, seeded by expert examples
- multi-metric validation β combine typechecking, tactic equivalence, and semantic judging to expose different failure modes
Congruence Closure in Intensional Type Theory
- heterogeneous congruence: use
hcongrnplus UIP-backed conversions for dependent function applications - proof-producing union-find: maintain equivalence classes and proof forests while generating equality terms
- congruence indexing: hash and index applications so unions propagate efficiently
- subsingleton propagation: equate proof arguments when their proposition types are subsingletons
Conflict-Aware Fusion: Mitigating Logic Inertia in Large Language Models via Structured Cognitive Priors
- controlled structural variants β derive deletion, contradiction, rewrite, and stacking cases from one canonical rule system
- verification-before-deduction training β use SFT and DPO traces that require checking premises and halting before rule application
- LIRE β apply symmetric token-level KL to teacher-forced traces for logically equivalent inputs
- RLVF β train with deterministic symbolic or Lean rewards parsed from complete reasoning traces
Confidently Wrong: Exception Chain Collapse in Frontier LLM Rule Evaluation
- provenance-linked rule synthesis β generate constrained rules with source tags resolved to direct quotations and document paths
- DSL-to-SMT compilation β parse generated rules and evaluate typed, quantifier-free constraints instead of executing LLM code
- independent-route disjunction β encode exemptions as OR branches so failed primary routes cannot suppress valid alternatives
- exception-chain material implication β compile nested UNLESS/override logic to a closed Boolean formula
- SME test-driven gating β validate golden, edge, and corner cases with branch diagnostics and persistent regression suites
- deterministic execution boundary β treat SMT evaluation as guaranteed only after retrieval and formalization quality checks
Confidence-Guided Protocol IR for LLM-Aided Security Protocol Modeling
- evidence-bearing IR β capture protocol values, messages, checks, events, assumptions, and source evidence before code generation
- confidence triage β prioritize review by evidence support, cross-field consistency, and semantic impact
- reviewed-source generation β translate only the confirmed semantic IR into formal model code
- repair boundary β automate syntax repair but require renewed review for semantic changes
- structural and causal comparison β compare generated models with references while inspecting role order and input provenance
- counterexample classification β compare traces with expected attacks instead of assuming every failed lemma is a modeling error
Concise Read-Only Specifications for Better Synthesis of Programs with Pointers
- symbolic read-only borrows β name heap permissions so callees can read but cannot write or deallocate borrowed fragments
- borrow-polymorphic predicates β parameterize recursive heap predicates by permissions for independently controlled fields and blocks
- permission-aware synthesis rules β require mutable permissions for Write, Alloc, and Free while preserving ordinary read and call rules
- fail-fast branch pruning β reject substitutions that would write a read-only heaplet, forcing synthesis toward a semantically intended derivation
- borrow-and-return call accounting β substitute caller permissions into callee borrows and recover them through the postcondition
Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays
- CHC summary encoding β represent each procedure by an unknown predicate whose satisfying interpretation is a Hoare-style certificate
- array QE β eliminate heap arrays by read/write rewrites, case splits, substitution, and Ackermann reduction
- model-based projection β select model-true under-approximations to obtain polynomial-per-model proof subgoals
- may/must SPACER search β combine over- and under-approximating summaries with interpolation for recursive modular safety
- equality-guided interpolation β add array equalities and MUS generalization to avoid model-constant interpolants
Compositional Verification of Concurrency Using Past-Time Temporal Epistemic Logic
- explicit observation histories: model local state, read results, perfect recall, and indistinguishable run points
- past-time event markers: define last-thread-step, pre-state, write, and last-occurrence predicates
- stability reasoning: encode rely conditions as preservation under environment steps
- epistemic persistence: separate knowledge retained between own steps from ordinary invariant stability
- compositional invariant proof: prove per-thread preservation, rely/guarantee compatibility, then global safety
- ownership-based Peterson proof: combine flag ownership, victim-write guarantees, and a last-entrant contradiction
Compositional Verification in Concurrent Separation Logic with Permissions Regions
- permission-region separation β model shared heaps with labels, fractional permissions, weak sharing, and strong disjointness
- disjointness-preserving distribution β split and rejoin weak/strong conjunctions while retaining pure heap-separation constraints
- residual-frame inference β search entailment proof forests to infer unused heap resources and variable instantiations
- predicate-transformer concurrency β compute procedure/thread post-states compositionally and check each against its contract
Compositional Test Generation of Industrial Synchronous Systems
- template-guided bmc β restrict streams to Step, Square, or rate-transition templates and solve parameters by SMT counterexample search
- assume-guarantee composition β split spatial components into contract obligations and validate an implementation-relation proof tree
- temporal decomposition β expose intermediate state and split a long safety obligation into prefix and suffix proofs
- rate-transition shrinking β divide the analyzed timeline by a known execution-rate factor
Compositional Invariant Generation via Linear Recurrence Analysis
- compositional transition formulas β compose edge relations through regular path expressions and use loop summaries at stars
- simple and stratified recurrence closure β solve affine recurrences and layer dependent recurrences into polynomial closed forms
- convex-hull recurrence inequalities β derive bounds on difference variables when exact recurrences are unavailable
- guard projection β recover pre/post loop conditions by existentially projecting a body formula
- SMT-guided linearization β replace nonlinear terms with affine equalities and concrete/symbolic interval bounds
Compositional Inductive Invariant Based Verification of Neural Network Controlled Systems
- generalized bridge decomposition: cover an inductive invariant with input regions and NN-output postconditions, then prove each environment case separately
- compositional falsification: combine a state witness, NN output over-approximation, and environment transition to prove a candidate invariant is not inductive
- queue-based splitting: repeatedly split unresolved state predicates until every bridge case is proved or a falsifying case is found
Complexity and Scale in AI-Assisted Workflow Management: A Federated Learning Case Study
- specification-driven generation β review constraints and expected outcomes before generating executable workflow artifacts
- skill-grounded construction β package API knowledge, examples, templates, and checklists as reusable per-step skills
- dual validation loop β combine runtime failure repair with static conformance and regeneration checks
- orchestration choice and scale test β surface alternative DAG structures and measure controlled round/client tradeoffs
Completeness Thresholds for Memory Safety of Array Traversing Programs: Early Technical Report
- weakest-liberal-precondition VC β derive a memory-safety assertion recursively from commands and loop invariants
- completeness-threshold reduction β prove a quantified property on a representative restriction that implies the full-domain property
- precision bridge β require VC precision before transferring a VC threshold to program safety
- VC slicing/elimination β isolate the subformula affected by an input and reuse its threshold for the full VC
- iterative extraction β repeatedly refine thresholds variable by variable until no further reduction occurs
- bounded array-access lemma β collapse array-size checks to any representative above the proven cutoff
Completeness of Cyclic Proofs for Symbolic Heaps
- cyclic unfold-match-split: expose matching roots, remove common cells, split heap components, and close repeated normalized goals as cyclic buds
- finite normal-form search: enforce group and definedness invariants so only finitely many goal shapes exist up to variable renaming
- factor and strong-wand preparation: introduce a common root into disjuncts that lack it while preserving entailment validity
- completeness by local completeness plus termination: choose locally complete branches, then combine the finite search argument with soundness to decide validity
Completeness for a First-order Abstract Separation Logic
- abstract points-to semantics β replace singleton heaps with total heap-valued functions to regain completeness
- labelled separation calculus β reason about worlds, splits, magic wand, quantifiers, and modalities with sequents
- Hintikka countermodel construction β fairly saturate unprovable sequents and build a falsifying quotient model
- model theories as assumptions β approximate concrete points-to behavior by formulas instead of new proof rules
Complete Local Reasoning About Parameterized Programs Over Topologies (Extended Version)
- finite-basis cut-off: reduce a width-k parameterized invariant to complete checks on a rank-(k+1) topology basis
- local-type normalization: partition node tuples by quantifier-free symmetry types and rewrite invariants with bounded representatives
- data-domain Hoare reduction: turn initialization, transition, and safety triples into entailments over the data theory
- CHC invariant synthesis: solve unknown local predicates whose clauses encode normalized invariant obligations
- downward closure: add bounded subprograms to obtain a finite basis for topology families that lack one
- redundancy-aware CHC generation: enumerate type-level constraints directly with Algorithm 1
- complete optimizations: exploit predicate symmetry, basis-cover indicators, and resource-node skipping without losing completeness
- Verus adaptation: translate synthesized local predicates into
spec fncontracts and prove each fragment plus the topology-model lemmas
3D-Prover: Diversity Driven Theorem Proving With Determinantal Point Processes
- transition trace mining β learn status, time, and environment-output effects from synthetic proof transitions
- goal-aware tactic embeddings β encode a goal and candidate tactic into a unit semantic vector
- quality prediction β estimate tactic success probability and execution time before execution
- k-DPP tactic filtering β sample a fixed-size subset whose determinant balances quality and semantic diversity
- objective weighting β tune error and time weights to select reliable or fast candidates
- temperature diversity control β flatten model scores to favor diverse proof paths
- syntax-only ablation β compare semantic transition embeddings with a tactic-reconstruction autoencoder
- proof-search evaluation β compare pass@k against no-filtering, Top-K, and random baselines with stated runs
2LS: Heap Analysis and Memory Safety (Competition Contribution)
- kIkI incremental synthesis β combine BMC, k-induction, and abstract interpretation with incremental SAT template refinement
- shape/content product domains β conjoin points-to and zones/interval templates for heap invariants
- symbolic-path guards β associate separate invariants with loop-execution path predicates
- memory-safety materialization β insert null, freed-object, and end-of-program leak assertions
Compiler-Guided Adaptive Proof Search with Cross-Model Synergy on Context-Dependent Theorem Proving
- compiler-grounded feedback β compile every candidate, extract line-level diagnostics, and use automatic tactics before model repair
- dual-model exploration β sample complementary generalist and specialist proofs and compare failed candidates instead of discarding them
- propose-then-accept refinement β retain a current-best proof and accept a repair only after compiler checking and pairwise comparison
- stagnation-triggered resampling β restart exploration after a rejection threshold and select a fresh starting proof
Compile to Compress: Boosting Formal Theorem Provers by Compiler Outputs
- failure-mode compression: group diverse failed proofs by normalized verifier diagnostics and learn repairs per recurring class
- source-local feedback injection: insert diagnostics beside the failing proof location so code and error remain aligned
- cold-start repair training: synthesize failed/correct proof pairs with verifier-checked labels and fine-tune a repair-capable prover
- expert iteration: retrain on successful repairs from the proverβs current error distribution
- value-guided tree search: mix fresh proof generation with error-conditioned refinement and rank nodes by learned repair potential
Compilation as Multi-Language Semantics
- embed source and target syntax with explicit boundary constructors in one open-term reduction system
- define AOT compilation as normalization of cross-language redexes under translation contexts
- model JIT by nondeterministically choosing source execution or translation then target execution
- derive type preservation, compiler correctness, and full abstraction from subject reduction and confluence
Comparison between CPBPV, ESC/Java, CBMC, Blast, EUREKA and Why for Bounded Program Verification
- contract translation: express the same pre/post relation in each verifierβs supported syntax
- loop proof choice: use explicit unwind bounds for bounded checking or invariants plus a variant for induction
- modular summaries: verify helpers once and substitute their postconditions at calls
- counterexample seeding: insert a known bug and require a concrete violating trace
- arithmetic-domain audit: record overflow, nonlinear theory, array-size, and assertion-syntax assumptions
Compaction as Epistemic Failure: How Agentic LLM Tools Fabricate Confirmed Results from Killed Processes
- observation-persistence separation β distinguish visible terminal output from independently verified durable side effects
- exit-aware evidence β retain command status and reverify or mark unconfirmed whenever status is nonzero
- provenance confidence tiers β carry artifact, process, and assertion provenance across session and model handoffs
- compaction reproduction β reproduce timeout, resume, and artifact inspection to test whether summaries fabricate completion
Communicating State Transition Systems for Fine-Grained Concurrent Resources
- concurroid resource modeling β define labels, valid subjective states, internal transitions, and external ownership-transfer transitions
- PCM subjectivity β split and recombine self/environment ownership views with a partial commutative monoid
- communicating entanglement β compose resource STSs by synchronizing dangling transitions and transferring heaps
- stable injection β frame independently verified commands into larger concurroid contexts
- scoped hiding β install a resource locally and expose its evolution as private state
- action contracts β specify atomic operations with enabled-state predicates and pre/post state relations
Coming to Terms with Quantified Reasoning
- finite subterm extension: replace infinite acyclicity axioms with a conservative finite theory using a proper-subterm predicate
- superposition saturation: prove quantified datatype goals by fair clause saturation with redundancy deletion
- datatype simplification rules: use constructor distinctness, injectivity, and acyclicity rules to shrink proof search
- benchmarked solver configuration: compare datatype proof strategies on fixed corpora with explicit denominators and time limits
Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification
- prescriptive set types β declare types for variables, sets, relations, products, and sums before constraint execution
- type-filtered invariant solving β let types discharge shape facts and a set solver prove remaining semantic invariants by unsatisfiability
- type-safety proof β prove preservation and progress for every rewrite rule
- four-phase typechecker β separate declarations, DNF structure, atomic constraints, and argument unification
- finite-type solver feedback β convert finite type declarations into membership constraints visible to the solver
- parametric polymorphism β declare relation operations with type variables that unify at each query
Combining Type Checking and Formal Verification for Lightweight OS Correctness
- intralingual representation systems β encode resource authority and legal state transitions in linear typestates
- verified representation creation β reject overlapping identifiers and propagate uniqueness through composition and generics
- intralingual specifications β enforce trait, visibility, mutation, and call restrictions with compile-time assertions
- typed hardware abstraction layers β encode register layout and operation order as types and proof-of-work tokens
- selective hybrid verification β use SMT proofs for unexpressible invariants and prose only for explicitly trusted composition
Combining Textual and Structural Information for Premise Selection in Lean
- typed formal-library graph β extract premise and proof-state nodes with relation-typed references and source-order availability
- graph-augmented premise retrieval β combine text embeddings with RGCN message passing over premise dependencies
- contrastive premise training β train with InfoNCE against valid premises and all other candidates as negatives
- ensemble retrieval β average six independently trained retrievers and apply exponential moving averaging
- leakage-aware evaluation β restrict candidates by imports and prior source position, then test on temporal or novel splits
Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY
- hybrid deduction β use symbolic execution and rule rewriting for structure, SMT for bit-precise float goals
- axiomatized transcendental functions β model library calls as uninterpreted functions with bounded, sound properties
- taclet-controlled instantiation β apply quantified facts as conditional rewrite rules to avoid solver quantifier cost
- cast bridge rules β prove exact integer/float promotion identities under explicit range side conditions
- floating-point loop invariants β supply rounding-aware inductive bounds for iterative numeric code
Combining LLM Code Generation with Formal Specifications and Reactive Program Synthesis
- nl-to-tsl few-shot prompting: convert structured natural-language assumptions and guarantees into a TSL specification with examples and term explanations
- tsl correct-by-construction synthesis: synthesize the temporal controller, then implement predicate and function terms around its guaranteed control structure
- synthesized-code prompt seeding: place the synthesized controller in an LLM prompt to generate the surrounding application
- data/control separation: keep temporal behavior in the specification and move pointwise data transformations into function and predicate terms
Collapsing Threads Safely with Soft Invariants
- collapsed-thread canonical abstraction: merge all concurrent threads into one summary object to remove combinatorial location interleavings
- soft invariants: preserve a location-specific property with a conditional instrumentation predicate
- over-defined soft-invariant search: try a broad predicate family, accepting analysis overhead while non-invariants become unknown
- concurrent linearizability abstraction: apply collapsed threads and soft predicates to stack and queue models and compare canonical-state reductions
Coinductive Proofs for Temporal Hyperliveness
- parameterized coinduction β grow a postfixed relation incrementally while proving
ββtrace properties - cycle and invariant rules β manage recurring state pairs and close infinite reactive proofs
- temporal derivatives β turn a safety relation into a current-event check plus a suffix relation
- aligned deterministic steps β skip silent deterministic transitions without unsoundly ignoring nondeterministic branches
- multi-trace HyCo β generalize the calculus to
β*β*safety relations - imperative I/O tactics β specialize coinductive rules for input, output, havoc and loops
Cognitive Admission Control: Risk-Conditioned Assurance for Consequential Actions in Agentic Distributed Systems
- risk-conditioned obligation resolution β map a typed action and policy-relative risk vector to required and advisory assurance obligations
- ternary evidence discharge β accept only fresh, typed, scoped and valid witness sets, returning satisfied, violated or unknown with typed remediation
- structural-cut witness requirements β reject correlated approval evidence unless its modeled root-fault cut meets the policy threshold
- certificate-bound guarded dispatch β bind proposal, witnesses, expiry, guards and nonce to a certificate and recheck them at the gateway
- independent effect observation β separate controller verdicts and acknowledgments from hidden pre/post state and harmful-effect measurements
Cogentic: Multi-Agent Orchestration for Automated Proof Discovery
- round-based direction allocation β assign independent agents to claims, counterexamples, and repairs with selective briefings
- adversarial dual verification β accept a draft only after isolated and cross-draft criticism
- verified ledger β extract, rewrite, and reverify useful lemmas while recording dead ends
- process-level adaptation β use log trends to tune instructions and allocation without mathematical opinions
- final consolidation audit β expand the accepted proof and verify the final manuscript against it
CodeSpecBench: Benchmarking LLMs for Executable Behavioral Specification Generation
- executable contract generation: generate preconditions and postconditions from prose and execute them around target functions
- two-axis contract evaluation: score acceptance of valid behavior separately from rejection of invalid behavior
- diverse test construction: combine multiple LLM generators, deduplicate inputs, and validate with an independent judge
- repository contract injection: evaluate specifications in fixed and buggy multi-file repositories with trigger/regression tests
- specification-guided reranking: use generated contracts to filter and rank candidate implementations
CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning
- token-level critic returns β train a correctness critic and use relative per-token returns to give dense RL feedback
- critic sampling and repair β filter test outcomes, rank failures, condition repair on diagnostics, and regenerate from promising subsequences
- pass@k and filtered n@k β report sampled-solution success with benchmark, denominator, model, and sampling budget explicitly
CodeGrad: Integrating Multi-Step Verification with Gradient-Based LLM Refinement
- textual pseudo-gradient refinement β convert structured correctness, I/O, efficiency, and completeness feedback into ordered source edits for the next candidate
- hard invariant gate β accept an update only when its declared invariants and accompanying proof pass a formal verifier
- execution-enabled criticism β let a sandboxed backward model probe code and feed observations into the textual gradient
- stratified verification evaluation β compare verified-generation outcomes by algorithmic category and difficulty, with explicit denominators
Code Mutation in Verification and Automatic Code Correction
- model-checking-guided genetic programming β mutate syntax-constrained candidate programs and rank them with finite-state model-checking fitness
- architecture evolution for counterexamples β mutate topology and parameters to discover a finite instance that violates a temporal property
- co-evolutionary repair β alternate refuting architectures with program mutations while retaining all discovered architectures
- assertion-guided scenario search β add a local assertion and evolve architectures toward a concrete message trace that violates it
Code-Augur: Agentic Vulnerability Detection via Specification Inference
- threat-model artifact β record attacker control, scope, trust boundaries, security state, and exclusions before local reasoning
- falsifiable invariant loop β commit security assumptions as source assertions, target them with grey-box fuzzing, triage violations, and refine benign assumptions
- boundary PoV validation β report only candidates reproducible from an attacker-controlled program boundary and allowed by the threat model
Cocoon: Static Information Flow Control in Rust
- labeled Secret wrapper β encode a secrecy policy in a Rust type and prevent ordinary access to the inner value
- scoped secret block β restrict reads, writes, and returned labels by a lexical block label
- macro-enforced effect system β use procedural expansions, traits, and auto traits to reject explicit and hidden side effects
- declassification audit β make every intentional release an explicit operation at a trusted boundary
- application retrofit β protect existing secrets by wrapping sources, mediating access, and changing only release points
CoCon: A Conference Management System with Formally Verified Document Confidentiality
- i/o automaton security model β represent state, actions, outputs, observations, secrets, and valid traces explicitly
- bounded deducibility β permit only relation-bounded secret release until a trigger event
- unwinding game β maintain paired states and remaining secret sequences with ignore, match, and independent moves
- compositional unwinding β split workflow proofs into milestone relations linked by continuation and exit obligations
Closing the Loop on LLM-Generated RTL Assertions with Quality-Aware Formal Verification
- mutation-guided refinement: inject faults, compute effective kill rate excluding invalid mutants, and refine weak harnesses
- architecture-aware solver selection: choose verification resources from normalized structural metrics before proof construction
- causal narrative synthesis: summarize counterexamples using extracted traces and score cycle, signal, mechanism, and unsupported claims
Closing the Loop: Formally Verified Law as a Reward Signal for Self-Improving Legal AI
- typed legal autoformalization β translate rules and exceptions into a typed default calculus with normative and temporal operators
- kernel plus SMT verification β type-check, statically analyze, negate constraints, and use unsatisfiability to establish universal properties
- proof-trace explanations β attach each verified conclusion to source authority and intermediate values before generating prose
- verifier-rewarded GRPO β sample candidate formalizations, score staged verification outcomes, and update the policy by group-relative advantage
- specification-gap testing β use worked examples, concolic inputs, and literate code review to detect wrong formal rules
CLN2INV: Learning Loop Invariants with Continuous Logic Networks
- continuous SMT semantics β map inequalities and Boolean connectives to differentiable truth values with scale and offset regularization
- formula-template CLN β compile a marked SMT template into a differentiable graph and learn selected constants
- trace-driven invariant inference β sample loop executions, statically generate terms, train a formula, discretize it, and submit it to a solver
- solver-in-the-loop filtering β retain only candidates that satisfy initiation, preservation, and postcondition checks
CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer
- ownership-transfer state machine β represent exclusive owner and in-flight sets, conserve registered buffers, and make enqueue/dequeue transfer ownership
- abstract-to-ring refinement β relate sets to FIFO lists and then concrete descriptor pointers with simulation proofs
- interference-aware postconditions β weaken operation postconditions to states stable under concurrent endpoint actions
- ownership-derived fences β place publication and acquisition barriers where ownership guarantees require visibility and non-use
ClarifySTL: An Interactive LLM Agent Framework for STL Transformation through Requirements Clarification
- STL-relevant vagueness taxonomy β classify missing temporal bounds, numerical thresholds, and conditional logic before formalization
- targeted vagueness inquiry β use type-specific demonstrations and constrained questions, then recheck after each answer
- triplet ambiguity detection β train anchor/positive/negative representations to separate referential and semantic ambiguity
- candidate back-translation β compare multiple sampled formulas through normalized natural-language descriptions to localize scope differences
- iterative contract clarification β preserve the original requirement while repeatedly refining and verifying the current version
Clarifying Before Reasoning: A Coq Prover with Structural Context
- semantic context extraction β expose compiler-resolved names, types, definitions, and proof states in model prompts
- planner-executor search β separate strategic proof planning from tactic generation while sharing structured context
- bounded beam search β compile multiple candidates, retain the best fixed-width states, and stop at depth/retry limits
- retrieval and error reflection β retrieve premises from the strategy and regenerate candidates using compiler errors
- public proof notebook β persist a bounded set of verified insights, traces, and summaries across search steps
CktFormalizer: Autoformalization of Natural Language into Circuit Representations
- typed intermediate representation and compiler-guided repair β encode structural invariants in types, then repair from persistent compiler diagnostics before extraction
- stepwise proof-state-guided equivalence β iterate proof steps against residual goals until the kernel accepts a no-placeholder theorem
- independent artifact checking β combine source proofs with RTL equivalence, finite simulation, and physical-design checks while recording each scope
- synthesis-feedback optimization with proof preservation β accept measured improvements only after recompilation/evaluation and preserve behavior with an equivalence proof
CISE3: VerificaΓ§Γ£o de aplicaΓ§Γ΅es com consistΓͺncia fraca em Why3
- invariant safety β mark the state, specify operations, and prove each sequential effect preserves the state invariant
- commutativity harness β run two operations in both orders from equal ghost states and prove final-state equality
- stability harness β run an operation twice and classify a failed second precondition as self-conflict
- token conflict inference β map conflicting operation pairs to synchronization tokens and leave independent pairs weakly consistent
CircuitProver: Agentic Lean 4 Theorem Proving with Reusable Circuit Proof Library for Hardware Verification
- auto-formalization β translate parameterized implementations and specifications into executable theorem-prover models
- feedback-driven proving β iteratively edit proof scaffolds using compiler/prover states until the kernel accepts the proof
- reusable proof libraries β distill checked lemmas and separate natural-language strategies for retrieval on related tasks
- parameterized verification β prove one symbolic theorem for all legal design parameters instead of checking instances separately
Choir: An Open Protocol for Distributed Multi-Agent Autoformalization
- shallow roadmap with worker decomposition: publish only a theorem skeleton, then let workers return child lemmas and update the dependency graph
- deterministic verification gate: rebuild source, audit axioms/placeholders, and enforce statement immutability before review and merge
- lease and salvage workflow: use expiring claims and preserve partial failed proofs for follow-up tasks
- proof golfing: optimize a proved declaration while keeping its statement fixed
- auditable history visualization: reconstruct proof-tree growth from repository events
Checking Zenon Modulo Proofs in Dedukti
- shallow proof embedding β map source logic connectives and binders to target primitives so certificates remain shareable
- deduction modulo β turn computational axioms into rewrite rules and remove computation from proof search
- certificate translation β translate typed LLproof trees into λΠ-calculus modulo terms and check them with Dedukti
- trust minimisation β treat ATP search as untrusted while trusting only obligation translation and a small proof checker
Checking Robustness Against Snapshot Isolation
- single delayed transaction instrumentation: encode SI anomalies as sequentially consistent reachability by ghost auxiliary writes, an attacker, happens-before helpers, and an error state
- commutativity dependency graph: prove robustness when mover-derived dependency edges contain no non-mover cycle
- snapshot-isolation robustness benchmark: use fixed clients, Civl reachability, obligation counts, and CDG checks while labeling bounded absence of errors correctly
CheckDP: An Automated and Integrated Approach for Proving Differential Privacy or Finding Precise Counterexamples
- probabilistic-to-deterministic translation β replace samples with symbolic inputs, add alignment holes, track privacy cost, and assert a soundness condition
- bidirectional verify-invalidate loop β alternate symbolic invalidating inputs with proof-candidate synthesis until universal verification or a counterexample remains
- exact witness validation β send a candidate neighboring-input/output witness to an exact probabilistic solver
- alignment-sensitive cost accounting β charge only branches whose noise alignment changes, preserving the mechanismβs tight bound
- benchmark-denominator discipline β report correct and incorrect mechanism counts, hardware, iteration limits, and per-row seconds
CHC-COMP 2022: Competition Report
- theory-and-shape track classification β route CHCs by background theory and linear/nonlinear clause structure
- reproducible resource-bounded runs β compare fixed solver/configuration jobs under explicit CPU, wall-clock, and memory limits
- SAT/UNSAT scoring with unique solves β rank solved results and expose cases only one solver can decide
- hardness-stratified benchmark sampling β select a representative easy/hard mixture using prior solver behavior
- predicate-abstraction CEGAR β refine inferred predicates from spurious counterexamples
- interpolation and transition-power engines β derive inductive constraints with interpolation-based model checking
- ADT-to-EUF reduction β eliminate ADT-specific syntax and preserve satisfiability for a first-order backend
- tree-automata CEGAR β refine regular sets of recursive counterexamples with tree interpolation
- CHC-to-program translation β reduce Horn satisfiability to assertion checking in a recursive nondeterministic program
- witness and status validation β require models/counterexamples and declared expected benchmark status before trusting scores
Challenges in Decomposing Encodings of Verification Problems
- transition-system encoding: describe each procedure with
Init,Trans, andOut, then synthesize invariants, summaries, and termination relations - call-context decomposition: split a callee summary into caller-to-callee context and callee-to-caller summary, resolving their cycle with fixed points
- dependency-aware partitioning: map cycles among invariants, summaries, and ranking arguments before choosing solver subproblems
- sound composition: require sound subproblem analyses, sound result combination, and induction over the decomposition hierarchy
- dynamic precision control: partition only when capacity is exceeded, and expand loops or recursive calls when abstraction loses needed precision
CertiKOS: An extensible architecture for building certified concurrent OS kernels
- contextual-refinement layers β specify each module with an underlay, implementation, overlay, and machine-checked refinement proof
- environment-context concurrency β model inactive CPUs or threads as event-producing contexts with explicit invariants
- local-copy race reasoning β enforce synchronized shared access through logical pull/push validity states
- fair lock progress β prove mutual exclusion and bounded acquisition using ticket order and scheduler fairness
- event-log objects β replay atomic operation events to define abstract queues and shared state
- layered resource isolation β verify quotas, page-map invariants, and scheduler queues as compositional abstract objects
- starvation-free condition variables β postpone waiter removal and signal the next queue element to avoid deadlock
Certifying rlive: A New Proof Strategy for Liveness Model Checking
- shoal-based rlive search β iteratively block inductive regions that cannot yield infinitely many fairness violations
- RL temporal rule β prove liveness from cumulative-shoal induction, descent, and a final invariant
- PVS certificate replay β regenerate a theory and discharge rule leaves with a theorem prover and SAT solver
- untrusted-search trusted-checker split β accept model-checker artifacts only after independent proof replay
Certified Verification of Relational Properties
- direct relational VCGen: compose weakest-condition generation over separate memory states for multiple runs
- three-part obligations: prove procedure contracts, relational auxiliary conditions, and the composed main condition
- aliasing by state separation: give each execution an independent memory state instead of renaming and separating heaps
Certificate-Carrying Transformation of Event-Driven Block Programs
- fail-closed certificate checker: recompute hashes, parse both versions, pin lens and family, discharge fixed obligations, and mint the only acceptance
- lens-parametric refinement: define behavior as an explicit observation projection and reject edits claimed under the wrong lens
- cooperative-frame dead-store proof: remove an overwritten write only when no yield or observation intervenes and the overwriter ignores the old value
- structural single-delta obligation: reconstruct the exact declared edit from before/after programs and reject unrelated changes
- multi-family obligation registry: share well-formedness, lens, and structural checks while adding family-specific side conditions
- certified sequence composition: check each rewrite against the actual intermediate produced by the previous rewrite
- adversarial and differential validation: combine unit suites, cross-family perturbations, deterministic VM traces, and side-condition ablations
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
- schema-directed validation β specialize policy typing to action schemas and use capabilities and singleton booleans to rule out runtime errors
- default-deny authorization β make forbid precedence and explicit permits part of a deterministic, Lean-proved decision semantics
- sound policy slicing β index scopes to evaluate a smaller policy set while proving excluded policies cannot match
- symbolic SMT compilation β encode policies and finite hierarchy constraints to find equivalence counterexamples
- differential model testing β compare generated Lean-model and Rust executions and fuzz parser/printer properties in CI
CDCL-inspired Word-level Learning for Bit-vector Constraint Solving
- word-level propagation explanations β record a sound w-clause, decision level, and impact mask for every bit-vector propagation
- word-level resolution β combine overlapping per-bit resolutions into shift-aware bit-vector inference rules
- masked conflict analysis β split reasons by explanation-equivalent culprit bits and resolve only covered masks
- asserting-clause repair β constrain grouped decisions with partial decision masks when shifts relate bits of one variable
- simplification and mixed-theory learning β turn algebraic simplifications into explanations and combine word-level with Boolean resolution
CBMC: The C Bounded Model Checker
- bit-precise bounded model checking: unroll finite executions and solve assertion violations as SAT/SMT constraints
- property instrumentation: combine user assertions with generated overflow, memory, and bounds checks
- loop unwinding assertions: detect insufficient bounds instead of silently assuming loop exit
- nondeterministic assumptions: model arbitrary inputs while guarding against vacuous constraints
- SSA counterexample traces: decode solver models into source-level failing executions
Cazamariposas: Automated Instability Debugging in SMT-Based Program Verification
- semantic-mutant diagnosis: compare passing and failing equivalent SMT mutants to expose instability
- edit-and-test repair: weaken one quantified axiom, rerun stability testing, and report edits that stabilize
- failure-mode triage: distinguish quick unknown from timeout to choose missing- versus excessive-instantiation fixes
- differential quantifier metrics: rank axioms with Deficit, Excess, and existential Contingency
- instantiation dependency graph: trace pattern, rewrite, Skolem, and nesting causes to rank interacting edits
- bounded singleton/doubleton search: test the top ten one- and two-axiom edits before giving up
CausalSmith: A Formally Grounded, Self-Improving Agentic Framework for Automated Research in Causal Inference
- controlled verified library: promote reusable lemmas only after type, axiom, provenance, and statement checks
- hybrid theorem retrieval: combine concept, syntax-pattern, and goal-directed search over indexed declarations
- dependency statement audit: compare every formal node with its intended claim and scan transitive proof dependencies
- feedback memory: retain accepted, failed, and downgraded runs and promote generic proved lemmas for later reuse
Causal Past Logic for Runtime Verification of Distributed LLM Agent Workflows
- MSC causal model β represent asynchronous executions with local order, message edges, valuations, and a partial causal order
- CPL guards β combine previous/since history with latest causally visible remote formulas and fields
- knowledge-vector monitor β propagate vector clocks, latest subformula values, and selected fields on every message
- coherence invariant β relate each clock row and cached value to the exact latest visible event
- structural monitor proof β prove evaluator correctness by formula induction and state invariants by causal-order induction
Canonical for Automated Theorem Proving in Lean
- BNEL typed representation: normalize terms and types into explicit binders, heads, arguments, and lets
- refinement search: expand metavariable proof holes with typing and definitional-equality constraints
- explicit substitutions: reduce partial terms and reject incompatible heads early
- entropy-guided DFS: iteratively deepen exhaustive search while prioritizing constrained branches
- front-end translation: encode source-language binders, definitions, recursors, and arity into the search format
Can Open-Weight LLMs Produce Kernel-Verified Coq Proofs? A Pilot Study
- deterministic benchmark locking β fix commits, prompts, dependencies, hashes, and disjoint development/main projects before generation
- leakage-controlled context β expose only source before the theorem and replace any candidate that leaks a reference proof
- one-shot constrained generation β use one shared proof-body prompt, temperature zero, output cap, and no repair or retrieval
- kernel acceptance pipeline β compile in the original environment, close all goals, audit assumptions, run
coqchk, and reverify cleanly - denominator-aware reporting β report successes out of 100 per model, project and proof-length groups, with confidence intervals and resource denominators
Can LLMs help find Ambiguities in Protocol Specifications?
- CFSM underspecification taxonomy: classify reachable openings as Trigger, Effect, Ordering, or Eventuality, then separate gaps from forks
- procedure closure construction: recursively gather sections, tables, guards, and references into a self-contained context bundle
- staged taxonomy mining: ask bounded typed questions in local and temporal passes, then iterate and deduplicate
- deterministic impact triage: compare model completions by decision, state, and output and derive a discriminator
- differential implementation testing: run generated deterministic tests against independent implementations to expose observable divergence
Can Large Language Models Learn Formal Logic? A Data-Driven Training and Evaluation Framework
- randomized backward proof generation β build valid proof trees by random local backward expansion, then linearize them
- template transformation β uniformly substitute variables in a proof, assumptions, and goal to create structurally varied valid examples
- validator-first scoring β accept outputs only after syntax, rule, assumption, and axiom checks
- generalization audits β test semantic substitutions, deeper proofs, wider formulas, and proof diversity on disjoint data
Can Formal Specifications Be Synthesized from Tests Alone?
- structured execution observations β record selected arguments, pre-state, post-state, and outcomes as reusable behavioral evidence
- two-stage test-derived inference β infer a contract from tests, then refine it with repeated state relations while isolating unsupported hypotheses
- bounded consistency checking β reject candidates that contradict implementation executions within the BMC bound and feed counterexamples back
- observation-coverage checking β require every recorded test behavior to be admitted by the candidate, while reporting the finite evidence boundary
C-rusted: The Advantages of Rust, in C, without the Disadvantages
- ownership qualifiers β annotate resource-producing and resource-consuming interfaces so ownership transfer and leaks are checked
- lifecycle annotations β require initialization before use and finalization before scope exit
- protocol pre/postconditions β describe resource states before and after each operation with
e_inande_out - nominal value properties β distinguish units and ranges with nominal types and constrained operators
- unsafe boundaries β isolate implementation-only operations with
e_unsafe,e_checked, ande_unchecked - incremental annotation erasure β let macros disappear for existing C compilers while a static analyzer checks them
Building Shorβs Algorithm in Lean: An Agentic Formalization of Quantum Attacks on RSA-2048 and P-256
- supervised agentic formalization β let agents research and draft proofs, require human source review, and use the kernel as final proof checker
- validated order finding β recover a modular period with phase estimation, continued fractions, and modular-power validation
- reversible compute/uncompute β preserve inputs, update targets, and reverse temporary arithmetic to clean ancillas
- certificate-separated resource claims β keep probability, circuit correctness, resource counts, and classical recovery as explicit linked premises
- layered elliptic-curve verification β prove field arithmetic, point formulas, controlled additions, scalar schedules, and recovery separately
- assumption-boundary reporting β distinguish machine-checked propositions from imported source numbers and unconstructed end-to-end executions
Broken by Default: A Formal Verification Study of Security Vulnerabilities in AI-Generated Code
- pattern-to-SMT witness checking β extract candidate CWE patterns, encode their semantics in Z3, and retain SAT witnesses as concrete exploits
- sanitizer witness replay β compile a PoC with AddressSanitizer/UBSan and execute it using the SMT witness
- secure-prompt ablation β compare identical prompt corpora with and without explicit security instructions
- differential static-tool evaluation β measure each analyzerβs recall against the Z3-proven denominator
- generationβreview asymmetry test β ask the generating model to review its own formally proven outputs and report false negatives
Bridging Natural Language and Formal SpecificationβAutomated Translation of Software Requirements to LTL via Hierarchical Semantics Decomposition Using LLMs
- OnionL intermediate trees β represent scopes, relations, and atomic propositions explicitly before formal synthesis
- staged semantic decomposition β extract macro scopes, recursively split operators, and normalize atoms in six checked steps
- deterministic backend synthesis β validate the tree then compile it with fixed post-order rules and a syntax checker
- visual human feedback β render and edit the intermediate tree to repair ambiguity before generating the final specification
Bourbaki: Self-Generated and Goal-Conditioned MDPs for Theorem Proving
- self-generated goal stack β let a prover create independently checked intermediate conjectures and solve them in last-in-first-out order
- verified-reward MCTS β use checker-validated tactics and conjectures as dense rewards while selecting nodes with UCB
- ensemble tactic synthesis β combine multiple same-scale policy models and retain candidates that the proof assistant validates
Bounded Synthesis of Reactive Programs
- two-way universal run-graph synthesis β encode a program tree, universal automaton run graph, reachability, and bounded BΓΌchi/co-BΓΌchi/Streett annotations as SAT
- two-wayless direct synthesis β simulate deterministic program fragments, compress them with ranked shortcut successors, then verify the compressed transition graph
- annotation acceptance witnesses β express an infinite-path acceptance condition as bounded local comparisons on every reachable edge
Bounded Model Checking of Multi-threaded Software using SMT solvers
- lazy SMT-BMC schedules β explore one feasible interleaving per solver call and stop on the first satisfying counterexample
- schedule recording β encode effective context-switch guards for all explored paths in one SMT formula
- UW under-approximation β widen control-literal restrictions using unsatisfiable-core participation
- partial-order reduction β remove invisible and access-independent interleavings under an aliasing assumption
- deadlock-aware Pthread models β track mutex/condition waiters and assert that blocked threads cannot equal running threads
Bootstrapping LCF Declarative Proofs
- LCF kernel replay β keep a small trusted inference kernel and reconstruct all automation results inside it
- conversional rewriting β compose higher-order term conversions with sequencing, fallback, subterm, and abstraction traversal
- verified CNF normalization β prove first-order, NNF, prenex, CNF, and Skolem transformations by equational conversions
- truth-table tautology checking β split Boolean variables and rewrite valuations upward to prove small propositional lemmas
- certificate reconstruction β translate METIS resolution trees while maintaining explicit maps from bound to free variables
Boosting k-Induction with Continuously-Refined Invariants
- iterative-deepening k-induction β alternate bounded base checks, forward checks, and invariant-strengthened step checks while increasing k
- continuous precision refinement β run a configurable analysis from coarse to precise settings and inject each stronger invariant
- interval expression invariants β represent reachable-state facts with selected variables, nesting depth, and optional widening
- k-induction candidate generation β prove path-derived candidate invariants with a separate induction engine before injection
- sound invariant injection β accept only invariants independently established by the trusted verification framework
Boost the Impact of Continuous Formal Verification in Industry
- diff-time equivalence pruning: compare changed and previous components before scheduling dependent proofs
- two-stage equivalence: use a fast AST check, then a bounded formal check with a timeout
- generalized regression harness: replace selected test inputs with nondeterministic values while preserving assertions
- local compositional BMC: model-check only changed components from test-described initial states
- CI proof feedback: return formal counterexamples through the developerβs normal commit workflow
Bisimulation Learning
- classifier-plus-ranking abstraction β represent a finite quotient with a label-preserving state classifier, deterministic class transition, and decreasing ranking per class
- learner-verifier CEGIS β fit templates on samples, search the entire state space for a violating state, add counterexamples, and stop on UNSAT
- observation-fixed decision trees β encode label predicates in tree roots, then learn refinements while preserving observations
- automatic template enlargement β add a tree layer when finite samples cannot fit the current partition
- sample-efficient refinement β use small initial samples and informative SMT counterexamples instead of exhaustive state exploration
- conditional-termination quotient β learn classes that separate terminating from non-terminating input regions and expose interpretable preconditions
Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-Level
- relational binary symbolic execution β execute paired low-equivalent traces on lifted machine code and check secret-dependent control flow and addresses
- FlyRow on-the-fly read-over-write β resolve relational memory loads by syntactic index comparison and canonical address rewriting before solver calls
- untainting β propagate equal paired expressions into registers and memory to remove repeated equality checks
- fault-packing β batch basic-block insecurity predicates into one solver disjunction, trading fault precision for speed
- bounded CT and bug finding β use the symbolic theorems to classify bounded paths as secure or produce concrete violating models
- binary lifting and stubs β lift executables to DBA and specify external calls and inputs so the relational engine can run
Bilateral Proofs of Safety and Progress Properties of Concurrent Programs
- local annotation β assign point assertions and derive component pre/postconditions from action proofs
- safety co calculus β prove stepwise
p co qand lift it with inheritance and invariance - transient/ensures progress β combine eventual falsification with safety to prove
p en q - leads-to closure β derive eventual properties by basis, transitivity, disjunction, and well-founded induction
- bilateral component composition β use terminal facts to derive perpetual properties and perpetual contracts to compose opaque components
- derived progress rules β reuse PSP, well-founded induction, completion, and interference lifting without re-proving action code
Bi-Abduction for Shapes with Ordered Data
- bi-abductive contract inference β infer missing anti-frames and preserved frames from separation-logic entailments
- normal-form heap analysis β make nullness, non-aliasing, base cases, and ordering explicit before matching
- unfold-and-match subtraction β unfold inductive predicates and subtract overlapping heap segments
- integrated ordering inference β infer sorted-list and search-tree inequalities during shape matching
- controlled anti-frame/frame search β apply specialized inference rules with satisfiability and search restrictions
Beyond Solver Verdicts: Generative Reward Models for Autoformalization
- VPU definition: classify same-verdict, non-equivalent encodings relative to a designated reference
- bidirectional Z3 oracle: label equivalence by two implication-unsatisfiability checks
- oracle-guided hard negatives: mutate references and retain only solver-certified VPU cases
- generative verification: distill oracle labels into a reference-free Yes/No vocabulary score
- LoRA answer-only training: mask context loss and optimize only the final verification token
- gradient/SAE diagnostics: localize verifier evidence with decision-projected gradients and sparse features
Beyond Objective Equivalence: Constraint Injection for LLM-Based Optimization Modeling on Vehicle Routing Problems
- dual objective-plus-constraint verifier β combine objective comparison with feasible and one-constraint-violating witness injection
- one-constraint perturbation testing β mutate route structure or resource parameters so each witness isolates one constraint family
- verifier-driven SFT filtering β retain generated code only when build, objective, and injection checks pass
- verifier reward for RL β use build, objective, and injection indicators as weighted GRPO rewards
Beyond k-induction: Learning from Counterexamples to Bidirectionally Explore the State Space
- k-induction β combine bounded base, completeness, and inductive checks over increasing loop depth
- bidirectional counterexample learning β concatenate reachable prefixes with inductive backward suffixes
- interval invariant filtering β constrain inductive queries with statically inferred variable bounds
Beyond Gold Standards: Epistemic Ensemble of LLM Judges for Formal Mathematical Reasoning
- four-tier taxonomy: decompose candidate evaluation into AF/FC, LP/MC/FQ/FV, and nine atomic properties
- OAP ensemble scoring: independently judge atomic properties, aggregate by aspect, and combine with prover validity
- prover-plus-judge protocol: pair theorem-prover validity with binary aspect judgments and five-point overall quality
- temperature and bias audits: repeat judgments across temperatures and judge/autoformalizer model pairs to measure instability
Beyond Compilation: Evaluating Faithful Natural-Language-to-Lean Statement Formalization
- human-calibrated semantic criterion: combine compilation and two LLM judges, then calibrate positives and negatives against blinded human review
- factorial verifier ablation: toggle drafting, search, and feedback across all tool combinations while holding prompts fixed
- validity-faithfulness split: report compile/verify rates separately from semantic faithfulness and their gap
- trajectory churn analysis: log per-item transitions and repair length to expose regressions hidden by aggregate averages
Beyond Code Generation: Assessing Code LLM Maturity with Postconditions
- postcondition taxonomy β classify generated assertions into ten semantic categories and map coverage to maturity levels
- few-shot assertion prompting β provide instruction, rules, format, examples, and code comments, then sample parseable assertions
- category decomposition β run type-specific prompts and union their extracted assertions
- mutation completeness β generate failing mutants and report per-problem all-bug coverage and per-mutant detection
- denominator-separated metrics β keep C@k/CPC, BCR over problems, and BDR over mutants distinct
Beyond Basic Specifications? A Systematic Study of Logical Constructs in LLM-based Specification Generation
- guessβverifyβrefine: propose specifications, verify them, then delete or repair failed candidates using verifier feedback
- construct-bounded prompting: compare basic, verifiable-lemma, axiom, and full construct sets under explicit prompt constraints
- stability-aware evaluation: count repeated-run verified programs and verifier calls in addition to one-pass success
BEval: A Plug-in to Extend Atelier B with Current Verification Technologies
- complementary-prover evaluation β run a second evaluator or constraint engine on proof obligations left by the primary prover, then import only true results as reusable rules
- parameterized bounded evaluation β expose integer bounds, model initialization, relational solving, SMT, finite-domain solving, and timeout as explicit verification controls
- batch rule generation β turn a selected set of successful evaluations into named, reusable proof rules and an automatic proof pass
- reusable proof-rule integration β associate each generated rule with its source obligation so later automatic or interactive proofs can apply it
Benchmarking Testing in Automated Theorem Proving
- successor theorem testing: replace a target theorem and compile every transitive dependent theorem
- dependency-aware extraction: mine repository graphs and retain predecessor, successor, depth, and build context
- metric separation: report isolated compilation, testing accuracy, and lexical overlap as distinct measures
- downstream prompt context: provide successor declarations with natural-language proof context during generation
- coverage-controlled evaluation: increase successor count and dependency depth to make semantic tests stricter
- caller-slice Verus inference: re-run Verus over every dependent specification and executable caller after replacement
Benchmarking Software Model Checkers on Automotive Code
- requirement-grounded benchmarking: map industrial functional requirements to explicit invariant and bounded-response properties with fixed denominators
- tailored k-induction: transform a one-loop bounded model-checking task into base and nondeterministic induction programs
- witness validation: independently check True/False witnesses and classify Unknown, timeout, bug, and resource outcomes
- verifier-boundary diagnosis: compare tools while recording unsupported features, floating-point models, versions, and contradictory results
Benchmarking of Java Verification Tools at the Software Verification Competition (SV-COMP)
- typed verification-task contract β define versioned tasks, explicit TRUE/FALSE/UNKNOWN semantics, witnesses, and resource-aware runs
- property and nondeterminism normalization β replace uncontrolled environment behavior with constrained benchmark stubs and explicit safety properties
- reproducible BenchExec execution β integrate each verifier through a runner and manifest, fixed limits, logs, and comparable plots
- correctness-weighted scoring β reward correct proofs and bug finds while heavily penalizing false alarms and missed bugs
Benchmarking Energy Calculations Using Formal Proofs
- idealized-then-optimized specification β define a direct real-valued function, optimize it, and prove the two forms equal
- periodic-boundary contracts β prove half-box wrapping and minimum-image distance identities under box-length assumptions
- analytic-to-closed-form proof β prove a long-range integral equals its executable formula
- recursive pair-count invariant β enumerate interaction pairs and prove the exact
n(nβ1)/2cardinality - polymorphic proof/execution bridge β share generic numeric code while separately proving Real behavior and executing Float instances
Benchmarking Agents for Proving Theorems in Quantum Algorithms and Quantum Information
- theorem-completion benchmark: convert source results to theorem signatures with explicit assumptions, fixed definitions, and an agent-completed body
- fixed-environment acceptance: compile every task and independently recompile submissions while rejecting new axioms, placeholders, and out-of-scope edits
- semantic-risk audit: manually compare selected high-risk formal statements with their source mathematics after universal mechanical checks
- controlled library augmentation: compare a statement-only condition with the same task plus a verified reference library
- weighted field scoring: freeze rubric-based difficulty, compute difficulty-normalized scores, and expose field denominators and task counts
- cost-per-proof reporting: divide recorded monetary and invocation-time costs by verified score with explicit missing-value rules
BeePL: Correct-by-compilation kernel extensions
- source safety specification β state one formal judgment for well-typed programs and each required eBPF property
- option-based null safety β encode nullable helper results and require pattern matching before dereference
- totalizing compiler transformations β guard division, modulo, shifts, and overflow before target code generation
- bounds-safe byte patterns β check typed extraction sizes before parsing packed data
- verified compilation pipeline β prove semantic preservation from typed source through C and BPF backend
Barriers in Concurrent Separation Logic: Now With Tool Support!
- stateful barrier automaton β encode each rendezvous as mutually exclusive state transitions that conserve all non-barrier resources
- barrier consistency checking β validate participant counts, shares, precision/token conditions, conservation, and transition exclusion
- thread-modular barrier Hoare rule β verify each thread against a selected pre/post move and combine them with a concurrent safety theorem
- unerased/oracle/erased semantics β separate resource-aware execution, proof-friendly oracle execution, and executable erased behavior
- Coq soundness mechanization β machine-check sequential rules, barrier accounting, oracle soundness, and erasure conservativity
- fractional-share decision procedure β solve share joins, bounds, existential elimination, unsatisfiability, and implication with a sound overapproximation
- inductive fractional entailment β combine predicate fold/unfold with full and split permission matching
- automated HIP/SLEEK integration β compile barrier diagrams to entailment obligations and discharge calls through structured specifications
BARReL: a modern backend for Atelier B in Lean
- dependent WD parameters: represent partial operations as total functions requiring explicit definedness proofs
- context-sensitive obligation import: elaborate normalized source terms while generating local WD goals
- proof-producing refinement automation: discharge recurring side conditions with kernel-checked lemmas and leave semantic goals interactive
AxQM: A Textbook-Scale Benchmark for Formal Proof Synthesis in a Library of Finite-Dimensional Quantum Mechanics
- textbook-scale library benchmark β translate a source text into many tasks stated against a shared formal library
- proof-length metadata β bucket reference proofs by declarations beyond the released library and keep this separate from difficulty
- dependency ledger β publish task and declaration dependencies and evaluate independent and dependency-order regimes
- deterministic proof grading β require compilation, dependency-closure cleanliness, and no newly introduced axioms
- semantic failure audit β search for definitions, hypotheses, or missing algorithms that make a wrong claim provable
- documented library fork β pin, explain, publish, and upstream-review domain-specific foundational changes
AXLE: A Cloud Infrastructure for Lean 4 Theorem Proving Utilities
- strict proof gate: compare a candidate with a separately pinned statement and reject sorry, unapproved axioms, unsafe code, and signature mismatches
- isolated multi-version execution: run each request in a fresh sandbox with explicit language/library versions, timeouts, retries, and fair scheduling
- declaration extraction and merge: emit dependency-closed declarations and recombine fragments by equivalence, topological order, and conflict renaming
- sublemma extraction: generalize an unresolved proof state into a standalone lemma that an agent can solve and call back
- deterministic proof repair: iterate semantics-preserving simplification and localized repair with rollback on compilation errors
AutoTam: Specifying Secure Protocol Implementations with Tamarin Model Generation
- state-machine protocol DSL β express executable roles as output/input states and cyclic transitions under two soundness restrictions
- executable-to-symbolic translation β compile each extended transition and predefined operation into a Tamarin rewrite rule
- trace-inclusion proof β relate concrete global traces to generated symbolic traces through three lemmas and a theorem
- automatic security lemmas β generate weak-secrecy, injective-agreement, and reachability properties from event annotations
- sources-lemma guidance β add a manual Tamarin invariant when generated WireGuard proofs need partial-deconstruction facts
- KLEE symbolic execution β explore symbolic network inputs and cryptographic abstractions for bounded memory safety
AutoSpec: Safety Rule Evolution for LLM Agents via Inductive Logic Programming
- CEGIS counterexample mining β classify labeled traces, localize false positives and negatives, and iterate
- ILP predicate separation β learn small symbolic conjunctions/disjunctions that distinguish missed hazards from false alarms
- constrained rule rewrites β use conjunct, exception, disjunct, and relax operators to control precision and recall
- greedy candidate verification β score every candidate on the full labeled set and accept only strict improvements
- finite convergence controls β stop at a target score, no-improvement point, or iteration budget while reporting local optimality
Autonomous Mathematical Discovery in an Open-World Multi-Agent Environment
- evaluator-backed exact construction search β submit candidates to binary or scalar checks, reject near-misses, and formally certify the surviving object
- reviewed persistent proof literature β store agent papers behind a review threshold so later agents can cite reusable theorems and obstructions
- theory-guided search and certification β turn numerical near-misses into parameterized mathematical families and prove their invariants
- exploration and stagnation recovery β use scheduled reflection, diverse strategy lanes, and multistart branches to escape local search
AutoMegaKernel: A Statically-Checked Agent Harness for Self-Retargeting Megakernel Synthesis
- static schedule validator β reject unsatisfiable waits, cycles, self-blocking queues, partial joins, unordered reads, KV hazards, and unreachable outputs before launch
- typed agent edit surface β expose structured configuration and deterministic lowering instead of allowing agents to edit synchronization code
- reference-oracle gate β require semantic equivalence against a CPU reference before measuring or retaining an optimization
- drift-robust autoresearch β use interleaved A/B timing, keep/revert, and a physical roofline guard for noisy unattended optimization
- adversarial validator audit β compare a checker against an independent unsafe oracle, report every class denominator, and retain stricter checks the oracle cannot model
Automating Formal Verification with Reinforcement Learning and Recursive Inference
- anti-cheating verifier reward β reward only unchanged, buildable artifacts that pass formal verification and escape-hatch checks
- specification-quality filtering β score faithfulness, leakage, and difficulty, then retain nontrivial tasks
- local multi-turn repair β feed the latest verifier diagnostics into bounded discounted repair attempts
- recursive proof decomposition β turn failed Lean obligations into named subgoals solved and checked independently
- controlled verifier tools β expose diagnostics, proof states, retrieval, and candidate checks through bounded interfaces
- progress and proof revision β decide whether to repair, decompose, promote, or stop using deterministic guardrails
Automating Deductive Verification for Weak-Memory Programs (extended version)
- fractional permission encoding β represent separation-logic ownership and initialization with solver permissions
- invariant defunctionalization β replace higher-order atomic invariants with indexed predicates and value-read sets
- multiple-heap modalities β encode relaxed accesses and fences as transitions among ghost heap views
- CAS branch encoding β combine acquire, release, and failure rules with explicit success-state bookkeeping
- logic-to-Viper soundness map β prove each encoded statement corresponds to a source-logic Hoare step
Automating Bitvector and Finite Field Equivalence Proofs in Lean
- finite-field to bitvector translation β convert field terms through bounded naturals, preserve modulo when bounds are unavailable, then bit-blast the fixed-width equality
- syntax-directed range analysis β decompose inequalities with placeholders, eliminate bounds from hypotheses, and use conservative bit case splits for dependencies
- width-aware bit-blasting β compute a safe common width, normalize formulas, and discharge the resulting bitvector equality with a proof-producing checker
- explicit conversion soundness checks β prove termination and validity preservation for every rewrite before accepting the translated goal
Automatic Verification and Interactive Theorem Proving
- certificate checking versus proof search β keep a small checker for candidate certificates while automation searches for proofs
- formalization β rewrite informal requirements and arguments into machine-readable propositions and proof terms
- procedural backward tactics β reduce an open goal to simpler subgoals until no obligations remain
- declarative proof documents β list intermediate facts and let the assistant validate their logical combination
- proof reconstruction and fact selection β select relevant lemmas, search externally, then rebuild and check the proof internally
- small-scale reflection β replace repeated logical reasoning with a proved-correct decision procedure and computation
- foundational kernel and CurryβHoward extraction β use a trusted kernel/type checker and extract executable programs from constructive proofs
Automatic Textbook Formalization
- target accounting and contamination control β enumerate source targets, exclude incidental work, and choose inputs that limit copied formalization
- sketch/prove decomposition β create declarations first and assign proof holes to specialized prover agents
- repository collaboration β use short-lived branches, build checks, pull requests, and a merge queue for small changes
- dual review β independently review mathematical fidelity and engineering quality before merge
- issue escalation β record blockers as files and use maintainer and triage roles for cross-file fixes
- coherence steering β audit duplicates, dependencies, rabbit holes, and global contracts while tightening orchestration near release
Automatic Program Instrumentation for Automatic Verification (Extended Technical Report)
- sound instrumentation operators: rewrite difficult expressions with ghost state, guards, and a proved invariant
- counterexample-guided instrumentation search: refine candidate rewrite choices using verifier counterexamples
- universal interval tracking: maintain a contiguous array range and answer forall queries with range assertions
- cancellative aggregation tracking: update sums by subtracting replaced values and adding new values
Automatic Linear Resource Bound Analysis for Rust via Prophecy Potentials
- shared-potential splitting β split a shared borrowβs annotation into call and remainder potentials whose sum is conserved
- prophecy potentials β track current and future potential for a mutable borrow and require current β₯ prophecy at drop
- lattice merge for aliasing β merge branch types with minimum current and maximum prophecy potentials
- RABC plus LP inference β model Rust-like execution with explicit ticks, generate linear constraints, and solve annotations automatically
Automatic Generation of Safety-compliant Linear Temporal Logic via Large Language Model: A Self-supervised Framework
- language-inclusion safety: accept a generated temporal specification only when its behavior language is contained in every safety language
- proposition and operator checks: canonicalize atomic propositions and reject malformed operators before semantic verification
- counterexample-path extraction: use product-automaton BFS and backtracking to provide a finite actionable violation witness
- critic-guided repair: interpret the witness with a critic and regenerate only the violated specification region
- progressive correction training: train separate translation, syntax-repair, and semantic-repair stages on filtered data
- cloudβedge verification: keep generation and local repair on-device while delegating abstract alignment and critique
- separate safety and fidelity metrics: report verified-violation rates, semantic consistency, repair rounds, and latency independently
Automatic Function Annotations for Hoare Logic
- proof-derived function annotations β collect intermediate Hoare facts from an existing proof and attach them to the function
- annotated-triple reuse β assume a verified annotationβs intermediate predicates while proving a new property
- annotation merging β conjoin independent annotation sets under a combined precondition
- VCG annotation extraction β use weakest-precondition splitting and schematic lemmas to generate annotations automatically
Automated Verification of Tree-Manipulating Programs Using Constrained Horn Clauses
- knitted-tree encoding: represent input, output, and every heap update in a bounded tree of node logs
- compositional CHCs: generate local frame-extension clauses whose minimal model equals valid execution labels
- staged memory-safety queries: test error and overflow exit statuses, increasing bounds until a sound terminating result
- SDTA cross-product: constrain accepted input-tree shapes and data values through bottom-up automaton states
- frame-bounded termination: infer termination when no execution reaches the log-overflow frame
Automated Test Generation and Verified Software
- symbolic path solving β conjoin branch predicates for a target path and solve for a concrete input
- model-checker counterexample tests β encode a coverage predicate and use a counterexample to
always not Pas test data - abstraction-directed generation β abstract low-level code while preserving feasibility of generated concrete tests
- DART-style exploration β execute random inputs, collect branch constraints, solve variants, and iterate
- bounded structured-data generation β constrain element alphabets and sizes, then solve while removing isomorphic redundancy
- active and hybrid testing β synthesize an adaptive tester from observations, using conservative discrete environment models
- fault-targeted tours β target boundary and condition-impact faults and combine multiple coverage goals in one sequence
- verification-testing integration β use tests to refute proof goals, expose assumptions, reduce static-analysis alarms, and divide verification work
Automated Side-Channel Analysis of Cryptographic Protocol Implementations
- binary-to-protocol lifting β select protocol code, lift exact instructions through verified BIR, and extract symbolic behavior
- leakage-contract instrumentation β annotate program counters, branches, and memory addresses as attacker observations
- path-complete symbolic execution β enumerate feasible branches with path constraints and SMT-assisted indirect jumps
- observation refinement β add shadow speculative events to a constant-time observation model
- multi-backend protocol checking β translate traces to Sapic+ and query DeepSec, Tamarin, or ProVerif
Automated Proving of Shannon-Type Entropy Inequalities via Fine-Tuned Language Models and Guided Tree Search
- reverse proof-data generation β build guaranteed-valid targets and train one atomic proof step against each residual
- residual-reduction search β subtract validated atoms until the residual is exactly zero
- guided beam scoring β rank branches by negative residual magnitude and retain a bounded beam
- format and feasibility pruning β reject malformed steps, impossible residuals, and LP-inconsistent branches before expansion
Automated LTL Specification Generation from Industrial Aerospace Requirements
- dual-stream context reconstruction: preserve complete requirement paragraphs and interface tables before formalization
- SpaceKG grounding: map domain terms, aliases, values, and empirical conditions to typed implementation atoms
- SpaceRDL templating: force mode, condition, timing, component, and action fields into an explicit intermediate contract
- deterministic formal synthesis: translate grounded TNL by fixed rules and feed the resulting LTL to a verification tool
Automated Invariant Generation for Solidity Smart Contracts
- typed invariant language: express preconditions, postconditions, contract invariants, old values, and mapping sums in a restricted grammar
- trace mining with Houdini elimination: infer candidates from transaction states, instrument code, disable failed candidates, and keep the verified subset
- implication learning: form condition/consequence pairs, prune by data/control dependence, and iteratively weaken failed implications
- history-backed security checking: enforce verified invariants during executions and report which benchmark vulnerabilities they prevent or miss
Automated formalisation of informal specifications by combining LLMs and grammar-based language processing
- LLM syntax restriction: rewrite informal requirements into a few-shot, grammar-compatible language with explicit parameter/result roles
- CCG meaning representation: derive typed compositional semantics through tokenisation, CCG parsing, lambda templates, and reductions
- TSI typed synthesis: match syntax and argument data types before recursively generating contract fragments
- OpenJML and mutation evaluation: check generated contracts and measure killed mutants with explicit correct/incorrect/no-output denominators
Automated Formal Proofs of Combinatorial Identities via WilfβZeilberger Guidance and LLMs
- certificate-guided decomposition: synthesize WZ certificates and compile recurrence, boundary, normalization, and non-vanishing obligations
- queue-based proof assembly: deduplicate obligations, prove each fragment, and assemble only verifier-accepted fragments
- verifier-filtered expert iteration: expand training data with repaired proofs that pass the Lean kernel, retaining denominator counts
- difficulty-smoothed DAPO: curate rollout data by pass-rate bins before reinforcement refinement
Automated Extraction of Protocol State Machines from 3GPP Specifications with Domain-Informed Prompts and LLM Ensembles
- section-tree paragraph merging β build hierarchical section windows bottom-up to preserve context in long specifications
- staged domain-informed prompting β extract states, transitions, and post-process JSON with protocol-specific constraints
- collaborative context reasoning β include prior segments when transitions cross chunk boundaries
- cross-reference retrieval β resolve referenced sections by section-number prefixes without an embedding database
- multi-model overlap alignment β align transitions by exact states and 0.75 action/condition span overlap
- majority-vote ensemble β aggregate aligned outputs to reduce individual hallucinated transitions
Automated Discovery of Test Oracles for Database Management Systems Using LLMs
- constrained abstract query β represent reusable typed skeletons with placeholders and explicit instantiation constraints
- equal/fail prompting β feed verified and rejected generations back to an LLM to improve correctness and diversity
- formal equivalence gate β retain LLM proposals only after a sound solver proves the abstract relation
- constraint-preserving instantiation β validate reusable snippets, enforce semantic side conditions, and fill verified skeletons
- two-stage oracle generation β prove simple abstractions first, then instantiate richer concrete cases
Automated Discovery of Tactic Libraries for Interactive Theorem Proving
- tactic-dependence graphs β represent tactic applications and labeled logical dependencies as a DAG to expose reusable proof strategies despite syntactic variation
- collapsible semantic refactoring β replace a label-preserving, path-closed TDG embedding only after rewiring boundary dependencies and contracting it
- grammar-guided tactic synthesis β mine dependency-aware graph productions, expand candidates with witness embeddings, and prune with maximum-extension upper bounds
- verified tactic prompting β give an automation model learned tactic definitions plus examples, then measure complete proofs on a fixed held-out denominator
Automated Catamorphism Synthesis for Solving Constrained Horn Clauses over Algebraic Data Types
- catamorphism abstraction: map ADT constructors to integer structure maps and retain an admissibility predicate to obtain sound integer CHCs
- counterexample-guided refinement: reconstruct spurious abstract resolution proofs, test their ADT counterexamples, and add negated obligations
- template CEGIS: synthesize bounded linear fold parameters from ground counterexamples, increasing degree and parameter ranges as needed
- model lifting: substitute the catamorphism into an abstract CHC model to construct a model of the original ADT clauses
Automated and Formal Synthesis of Neural Barrier Certificates for Dynamical Models
- neural barrier CEGIS: train a differentiable candidate on samples, translate it symbolically, and add SMT counterexamples until
unsat - margin and belt loss: replace exact B=0 sampling with an asymmetric belt and saturated or leaky penalties that reward safety margin
- prioritized relaxed verification: check cheap sign clauses first and use a relaxed derivative region only after timeout
- informative counterexamples: add neighborhoods and gradient-directed violations to make each learner iteration more useful
AutoGraphForge: Towards Automated Graph Theory Discovery
- counterexample-guided conjecture loop β generate on a small snapshot, refute on broad datasets, add witnesses, and repeat
- LP implication novelty filter β certify redundancy by a convex combination of known bounds with class-valid identities and slacks
- margin-based graph search β maximize a quantified violation margin with SMT, cross-entropy, local, tree, annealing, or RL search
- deterministic formal export β map structured candidates to Lean theorem skeletons and let the kernel check completed proofs
- independent proof artifact replay β persist self-contained proof files and run a standalone kernel pass before counting success
IaC-Guard-V: A Verification Framework for LLM-Generated Infrastructure-as-Code Repairs
- three-gate verified-fix rate β require syntax, target resolution, and zero regressions, with explicit denominator
N - verification-guided repair loop β feed failed-gate diagnostics back to the LLM for at most two retries
- baseline-difference regression check β compare repaired scanner findings against the original set and reject new IDs
- patch minimality metric β report changed lines/original lines without conflating size with correctness
- reproducible repair evaluation β fix model settings, benchmark strata, retry count, seed, and statistical tests
Autoformalizer with Tool Feedback
- batched compiler feedback: pre-check and group formal statements before compiling, then map diagnostics to each candidate
- ensemble semantic judge: require agreement from independent LLM judges on informal/formal meaning
- staged tool-use training: cold-start, expert iteration, and DPO teach invocation, repair, and fewer repeated errors
- ordered revision loop: syntax first, consistency second, stop only after both checks pass
Autoformalization with Large Language Models
- few-shot autoformalization β prompt an LLM with paired natural-language and formal examples, then decode a target theorem statement
- multi-level evaluation β separate syntax, definition alignment, human semantic correctness, and kernel-accepted proof success
- expert iteration β use proof-checker-accepted proofs of autoformalized statements as new training data over repeated rounds
- proof-oracle training β let the interactive prover, not model confidence, filter candidate proofs and expose timeout outcomes
- informalization back-translation β translate formal statements back to natural language to create aligned data and reveal missing context
- context-aware theory alignment β treat library definitions, hidden assumptions, and large-theory context as explicit failure boundaries
AutoCodeSherpa: Symbolic Explanations in AI Coding Agents
- executable input/output conditions: generalize examples into a property-based contract and refine preconditions until all generated inputs satisfy the intended failure
- infection predicate synthesis: locate universally covered program lines, synthesize state predicates, and reject predicates that are too strong or too weak
- executable patch validation: run the symbolic PBT against a candidate patch and classify surviving failures
- explanation-assisted repair: feed verified trigger/state/output evidence to a second coding agent for localization and patch generation
AUTO CEDAR: An Agentic Framework for Verifier-Guided Access Control Policy Synthesis
- reviewed intent atoms and fixed semantic boundary β decompose prose into source-linked, reviewer-approved schema and behavior atoms, then freeze floors, ceilings, and liveness before synthesis
- verifier-guided CEGIS with typed repair signals β classify verifier failures by target admission, semantic direction, local diagnostics, or history and send target-preserving repair packets
- symbolic set checking and request witnesses β use SMT policy-denotation inclusion and concrete set-difference requests, with request tests as supplementary evidence
Auto formalisation of Chaitin and of the surprise incompleteness Theorem
- bounded ternary coding β represent finite programs as an integer interval so object-level quantification is bounded arithmetic
- CK small-step machine β model evaluation with control plus continuation stack and a one-step transition
- fuel majorization β construct a closed recursive bound that makes evaluator termination internalizable
- diagonal proof transformer β build an object-level function converting an incompressibility proof code to contradiction
- sorites stage descent β iterate a six-step invariant-preserving implication over a bounded index
- safe proof checking β run Agda with
--safe --without-K --exact-splitand no postulates or holes
Auto-active Verification of Floating-point Programs via Nonlinear Real Provers
- interval VC normalization β parse NVCs, simplify symbolic structure, and iteratively derive finite variable bounds
- floating-point error elimination β use FPTaylor-like absolute bounds to replace FP operations with exact expressions plus conservative cushions
- compositional error budgeting β sum model, rounding, analysis, subprogram, and proving errors when selecting a decidable specification bound
- invariant-based numerical verification β verify loop range and error invariants, then compose helper contracts for full numerical routines
- multi-prover counterexample feedback β run complementary nonlinear provers and replay their potential models against the original specification
Attention Is All You Need
- scaled dot-product attention β compute
softmax(QK^T/sqrt(d_k))Vand mask illegal decoder positions - multi-head attention β project Q/K/V into learned subspaces, attend in parallel, concatenate, and project
- residual normalized Transformer stack β compose masked decoder and encoder attention with residual additions and LayerNorm
- position-wise feed-forward β apply two shared linear maps with ReLU independently at every sequence position
- sinusoidal positional encoding β add fixed sine/cosine vectors so a recurrence-free model retains order
- beam-search decoding β average checkpoints and select outputs with a specified beam size and length penalty
ATLAS: AI-Assisted Threat-to-Assertion Learning for System-on-Chip Security Verification
- standardized threat template: represent adversary, assets, attack surface, vulnerability, and threat in a fixed record
- TMDB retrieval: build human-reviewed CWE/CVE/CAPEC threat models and retrieve relevant records by asset keywords
- three-context prompting: combine design documents, RTL AST, and a security-centric summary before generating assertions
- non-vacuity and proof loop: add covers, run JasperGold, refine assumptions, and escalate inconclusive results
- CWE-to-assertion mapping: bind each detected weakness to signal-level properties and inspect proof or counterexample outcomes
Assurance Envelopes for Autonomous Coding Agents: Minimum-Cost Evidence for Software Change
- typed assurance envelope: select minimum-cost evidence leaves whose typed hypergraph closure reaches supplied task roots
- independent closure validation: reject optimizer supports unless forward chaining under original AND/OR rules derives every root
- requirement-evolution recomputation: add new roots and recompute support, reporting infeasibility explicitly when no derivation exists
- conjunction-preserving graph model: retain multi-premise rules so pairwise projections cannot create false coverage
Assisted Specification of Code Using Search
- repository subsystem extraction: search projects/files, expand compile dependencies, filter by relevance, and collect external libraries
- hierarchical abstraction: merge type/field/method matches into an editable Java or UML subsystem interface
- abstraction-to-code mapping: compute maximal correspondences and apply recorded renaming, type, parameter, and structure transformations
- test mining: find JUnit tests, transform and prune them against the edited abstraction, then deduplicate the suite
- interactive checkable specification: combine the edited interface with mined tests, while treating tests as examples rather than universal proofs
AssertGen: Enhancement of LLM-aided Assertion Generation through Cross-Layer Signal Bridging
- incremental entity RAG β iteratively retrieve signal descriptions and expand contextual entities until convergence
- CoT objective extraction β turn scattered specifications into explicit verification objectives
- cross-layer signal chains β recursively trace semantic signal propagation through module hierarchy
- objective-to-code bridging β map each objective and chain to relevant implementation segments
- constrained property generation β bind names and enforce a fixed assertion format before formal checking
AssertCoder: LLM-Based Assertion Generation via Multimodal Specification Extraction
- multimodal semantic extraction β classify document blocks and merge text, tables, diagrams, and formulas into signal-level records
- four-step assertion synthesis β decompose intent, choose a pattern, bind time, and emit formal syntax
- retrieval-augmented prompting β add curated domain passages while generating formal properties
- mutation-guided refinement β inject faults, model-check, feed undetected mutations back, and regenerate
- mutation metrics β report syntax correctness, functional correctness, mutation score, MDR, and FPR with denominators
Assay: Claims That Decay With the Code. Content-Addressed Evidence Graphs for Accountable AI-Assisted Software Delivery
- dependency-cone Merkle binding β hash each subjectβs transitive dependency cone so freshness and blast radius are the same graph computation
- risk-proportional obligations β map change radius, module risk, and fan-in to explicit evidence and review levels
- signed append-only evidence ledger β record claims, failures, signatures, and review transitions without mutable history
- model-free merge gate β require fresh, independently reviewed, plausible evidence and mechanically reject stale or forged claims
- compact indexed orientation brief β summarize repository structure, changed radius, and evidence state in a bounded token artifact
Artificial Intelligence for Mathematical Reasoning: An Integrated Survey of Language Models, Neuro-symbolic Systems, and Verified Discovery
- comprehensionβgenerationβverification triad: treat parsing, candidate generation, and independent certification as separate components
- artifact-level supervision: move from answers to executable programs, proof terms, or constructions with certificates
- process reward models: score intermediate proof steps to localize errors and assign targeted learning credit
- compiler-guided repair: use proof-checker diagnostics to repair only failing subgoals and re-verify
- retrieval and decomposition: retrieve lemmas, predict one proof step, and recursively solve independently checked subgoals
- RL with verifiable rewards: train from execution or proof-assistant rewards with explicit baselines and budgets
- verifier-guided test-time scaling: sample candidates and let an independent checker select accepted proofs
- verified discovery: evolve executable constructions, then certify their properties and audit novelty
Array-Carrying Symbolic Execution for Function Contract Generation
- queue-based symbolic execution β fork paths, update symbolic memory, summarize loops, then project path facts into contracts
- contiguous segment summaries β represent base/offset/length/content and carry quantified array facts across statements
- segment split and merge β split on writes and merge adjacent equal summaries to preserve precision compactly
- external invariant generation β feed affine and idiom-specific loop invariants into symbolic execution, then check ACSL with Frama-C WP
Aristotle: IMO-level Automated Theorem Proving
- verifier-guided graph search: sample tactic actions, merge equivalent Lean states, and use PUCT over AND/OR proof obligations
- lemma decomposition with feedback: generate informal lemmas, formalize them, compile in Lean, repair diagnostics, and iterate on failed targets
- test-time training: retrain on current search traces to specialize later attempts and learn unfamiliar library APIs
- geometry DD/AR solving: match numerical diagram rules, deduplicate statements, and cache Gaussian-elimination state
- no-hole acceptance: require a complete kernel-checked proof with no
sorryAxbefore declaring success
Aria: An Agent For Retrieval and Iterative Auto-Formalization via Dependency Graph
- dependency-graph grounding: recursively expand a target into prerequisite concepts, retrieve canonical library definitions, and synthesize only ungrounded nodes
- compiler-reflection synthesis: generate bottom-up, compile each node, and retry with compiler diagnostics before using it as a parent dependency
- term-grounded semantic scoring: extract formal terms, retrieve authoritative definitions, classify decomposed subtasks, and threshold the aggregated score
Are Agents Probabilistic Automata? A Trace-Based, Memory-Constrained Theory of Agentic AI
- trace abstraction β project concrete agent runs to finite observable perception/action traces and verify an exact finite abstraction
- regular controller model β encode bounded memory as finite control, construct an NFA, and run MC/MDP reachability checks
- pushdown controller model β enforce LIFO memory, construct a PDA, and use probabilistic pushdown analysis
- bounded TC fallback β impose execution or storage bounds and check the resulting finite abstraction when unrestricted memory is unavoidable
- architecture right-sizing β select the weakest memory class consistent with required interaction traces
Aquarium: Cassiopea and Alewife Languages
- register-transfer semantics β model instruction execution over explicit registers, finite memories, labels, and branch outcomes
- indexed width typing β carry bit widths and region bounds through syntax-directed judgments
- frame contracts β state modified locations and pre/postconditions for machine blocks
- abstract-to-concrete lowering β translate Alewife specifications through machine-specific modules into typed Cassiopea
- explicit failure semantics β make invalid pointers and runtime checks part of the semantics so evaluation does not get stuck
Annotating and Auditing the Safety Properties of Unsafe Rust
- parameterized safety tags β normalize recurring unsafe obligations into named predicates with concrete arguments and contractual roles
- constructor-aware audit units β audit target methods together with every constructor that establishes their state invariants
- three-rule documentation audit β check call sites, constructor guarantees, and exposure of invariant-bearing state
- signature and call inference β infer likely obligations from API names, types, modules, and callee requirements
- continuous contract linter β enforce checked-or-propagated obligations and expand structured tags into synchronized documentation
Andy: A Mathematical Agent for Rigorous Proof and Autonomous Research
- research-value gating β score importance, originality, feasibility, and coherence and revise failed proposals against explicit criteria
- certificate-bound proof DAG β execute verified dependency nodes topologically and bind certificates to exact versions
- interface-sensitive repair β revoke only changed nodes and descendants, preserve unchanged certified work, and switch to backup proof routes
Analysis and Transformation Tools for Constrained Horn Clause Verification
- CHC-preserving unfolding: replace predicate calls with definitions while preserving the minimal model and safety query
- query-directed specialization: use RAF to remove irrelevant arguments and query-answer predicates to propagate reachability constraints
- predicate splitting: separate mutually exclusive clauses so each case gets a precise abstract polyhedron
- thresholded polyhedral analysis: compute widening thresholds from three concrete iterations and exclude
falsefrom the over-approximation - compositional CHC tool chain: order transformations and analysis, reporting safe versus unknown with explicit numerical limits
Analysis and Transformation of Constrained Horn Clauses for Program Verification
- semantics-to-chc encoding β represent program execution and a negated postcondition as CHCs, then check satisfiability
- fold/unfold transformation β introduce, unfold, fold, simplify, and delete clauses under a satisfiability-preservation theorem
- goal-directed specialisation β partially evaluate clauses around a verification goal and generalise to terminate
- redundant-argument removal β remove predicate arguments that do not affect the goal to simplify constraints
- abstract interpretation β compute a widened over-approximation of CHC models as inferred invariants
- call-success analysis β tabulate abstract call and success constraints in a finite analysis graph
- cegar refinement β add interpolated predicates when an abstract counterexample is spurious
- pdr β refine a sequence of over-approximations until a fixpoint proves the goal or a derivation refutes it
An Overview of the HFL Model Checking Project
- HFL(Z) encoding β represent higher-order control, modal protocols, integer guards, and recursion with typed formulas and Β΅/Ξ½ fixpoints
- CHC correspondence β translate recursive Horn predicates to least fixpoints and Ξ½-only dual formulas, and reduce restricted HFL back to CHCs
- protocol characteristic formula β compile program actions and recursion to modal formulas checked against a finite protocol automaton
- bounded Β΅ removal β replace least-fixpoint liveness with counter-indexed greatest-fixpoint approximations and increase the bound
- predicate abstraction β replace integer predicates with Booleans and refine them from counterexamples
- refinement typing β infer arithmetic refinements for Ξ½HFL formulas and solve the resulting generalized constrained clauses
- unfold/fold simplification β unfold fixpoint definitions, normalize repeated patterns, and fold them into a simpler fixpoint
An LLM Agentic Approach for Legal-Critical Software: A Case Study for Tax Prep Software
- schema-constrained specification extraction β parse legal text into typed JSON, regenerate on schema failure, and use the validated structure as the code contract
- multi-agent contract-to-code review β separate legal interpretation, implementation, senior review, and revision into explicit agents
- pairwise metamorphic testing β compare related cases when absolute expected outputs are unavailable and flag directional violations
- higher-order metamorphic testing β compare rates or saturation across n related cases to detect systematic errors that pairwise checks miss
- threshold-jump test generation β choose values around statutory boundaries and require the observed slope to change as the law specifies
- symbolic-execution oracle generation β explore a reference implementation to produce boundary tests and expected outputs
- counterexample-guided refinement β send metamorphic discrepancies with inputs and outputs back to the coder for targeted repair
- reference-oracle stress testing β test knees, breakpoints, caps, and saturation and cross-reference overlapping behavior before using a reference as ground truth
An iterative approach to precondition inference using constrained Horn clauses
- partial evaluation β unfold constrained deterministic CHC calls and finitely abstract their contexts
- constraint specialization β propagate polyhedral constraints through query-answer CHCs to strengthen clauses
- trace elimination β remove selected feasible or infeasible error traces and add their initial-state exclusions
- iterative precondition refinement β alternate PE, CS, and TE, then complement specialized initial constraints
An Integrated Development Environment for the Prototype Verification System
- language-server separation: route editor events through LSP to isolated verifier workers and return diagnostics asynchronously
- live verification feedback: parse or type-check in the background and render source-located errors, completion, and hover information
- proof navigation: expose theories, declarations, theorem actions, and proof trees as clickable IDE views
An Immune System Inspired Approach to Automated Program Verification
- immune-memory invariant hints β remember fragment/invariant pairs and reuse them for similar code
- somatic hypermutation β mutate candidate operators and operands until a fragment invariant fits
- shape-space similarity β encode fragments and invariants as vectors and use distance for retrieval
- linear invariant assembly β combine fragment invariants into a whole-program polynomial shape
- quantifier-elimination completion β solve a predicted shape into an exact invariant and check the resulting program
An experimental Study using ACSL and Frama-C to formulate and verify Low-Level Requirements from a DO-178C compliant Avionics Project
- ghost state contracts β expose hidden persistent state with ghost variables and prove alignment assertions
- cross-call state modelling β encode prior-invocation behavior with ghost counters or a translated state automaton
- predicate-based call contracts β snapshot callee outputs and express caller cases as predicate implications
- specification factoring β flatten call hierarchies or factor repeated conditions to limit contract proliferation
- approximation for unsupported math β replace unavailable functions with finite approximations and prove their relation
- hardware isolation β confine compiler-specific and volatile operations to small manually reviewed boundaries
An Exercise in Invariant-based Programming with Interactive and Automatic Theorem Prover Support
- invariant-first construction β define situations, loop invariants, and termination measures before adding executable transitions
- weakest-precondition diagnostics β generate one checked lemma per transition and report failures incrementally
- background-theory abstraction β prove reusable array, permutation, and swap lemmas and feed them to SMT endgames
- corner-case proof repair β use failed obligations to add missing branches and strengthen invariants
- explicit proof escape hatches β choose interactive proofs, assertions, helper lemmas, or consciously trusted assumptions
An Executable Operational Semantics for Rust with the Formalization of Ownership and Borrowing
- executable three-level Rust semantics: translate Rust to CL and execute it through a memory model that dynamically checks ownership and borrowing
- OBS graph proof: represent owners, aliases, edges, and lifetimes, then prove well-formedness implies exclusive mutation
- dynamic lifetime extension: extend a borrowβs lifetime at each use and reject memory operations that violate permissions
- semantic ambiguity testing: run execution, all-trace verification, and verification after appending
assert(False) - semantics-based runtime checking: detect invalid reads, frees, races, borrow errors, and overflows through memory semantics instrumentation
- symbolic reachability verification: specify pre/postconditions and loop invariants, then use K symbolic execution and SMT queries
- bounded concurrent/data-structure verification: explore interleavings and use explicit finite capacity bounds when infinite heaps are unsupported
An encoding of array verification problems into array-free Horn clauses
- distinguished-cell Horn abstraction: replace each array state by scalar facts for an arbitrary index and value, with nonlinear read rules
- two-cell relational abstraction: track two arbitrary cells to prove sortedness, reversal, and pairwise array properties
- multiset-count instrumentation: maintain a value-count map through writes to prove permutation preservation
- counterexample reconstruction: turn an abstract Horn unfolding into an arithmetic-plus-array SMT check and refine when it is spurious
An Empirical Security Evaluation of LLM-Generated Cryptographic Rust Code
- staged generation evaluation: cross model, algorithm, and prompt factors, then compile, analyze generally, analyze with crypto rules, and manually verify
- security-focused API prompting: pin crate versions and state concrete secure and insecure API pairs
- provenance-aware secret detection: follow assignments so initialize-then-fill buffers are distinguished from hardcoded secrets
- structural nonce lifecycle checking: track nonce arguments across calls and brace-delimited loops for missing regeneration
- domain-specific validation: combine CWE rules with benchmark cases, confidence intervals, and explicit false-positive and false-negative accounting
An Empirical Evaluation of Pre-trained Large Language Models for Repairing Declarative Formal Specifications
- iterative analyzer-verified repair β repeatedly generate a complete declarative patch, run the analyzer, and feed failures into the next prompt
- dual-agent auto-feedback β let an Instructor Agent convert analyzer reports into concise repair instructions for a separate Repair Agent
- graduated feedback levels β compare failure-only, templated, and LLM-generated feedback under a fixed repair loop
- protocol and fallback guards β enforce tool JSON, detect repeated candidates, and parse or reject malformed responses
- defect-stratified evaluation β report Correct@k, denominators, iterations, token cost, defect classes, and solver formula size separately
An Efficient VCGen-based Modular Verification of Relational Properties
- direct relational Hoare triples β specify pre/postconditions over several executions and their separate states
- modular relational contracts β assume and prove relations among tuples of procedure calls
- optimized continuation VCGen β generate linear-size main, auxiliary, and procedure obligations
- sequence lifting β recursively conjoin VC obligations for multiple commands
- guarded call predicates β apply a relational contract only after proving all required calls occurred
- Coq soundness proof β mechanize the VCGen and recursive relational theorem for a language with aliasing
An Efficient Cyclic Entailment Procedure in a Fragment of Separation Logic
- SHLIDe predicate restrictions β constrain compositional recursive heaps so entailment is decidable
- exclude-the-middle normalization β split endpoint equality and normalize heaps without RHS disjunctions
- cyclic backlinks β close inductive proof branches by linking smaller unfolded predicates to ancestors
- Ο-ENT search β iterate normalization, axioms, backlinks, and reduction rules until valid or invalid
- local-to-global soundness β require each backlink to contain a progressing subterm unfolding
- bounded-field complexity β obtain
O(n Γ 2^m + n^3)and polynomial time for constant field bound
An Automatically Verified Prototype of the Android Permissions System
- state invariant decomposition β split a recordβs validity into independent predicates and prove each operation preserves each predicate
- solver-native relational encoding β translate maps, updates, and quantifiers into finite sets, relations, RUQs, and primitive constraints
- negated satisfiability proving β prove universal properties by asking the solver for a counterexample to their negation
- staged fallback verification β discharge easy obligations automatically, then export the remaining model to a stronger interactive prover
- hypothesis minimization and predicate delay β reduce automated-search cost by retaining only necessary assumptions and delaying expensive predicates
An Automatically Verified Prototype of the Tokeneer ID Station Specification
- schema-to-constraint prototyping β encode Z schemas as executable set constraints while preserving state-transition structure
- explicit invariant obligations β separate invariants from operations and prove
Inv β§ Op β Invβ²by unsatisfiability - layered security proof β establish reachable state sequences, intermediate facts, and the final security property as separate obligations
- countermodel-driven checking β submit negated implications to the solver and inspect satisfying assignments as counterexamples
- verified model oracle β execute a proved prototype for scenarios, differential tests, and runtime monitoring
An algebra of alignment for relational verification
- BiKAT relational encoding β represent two programs, paired-state tests, and a relational goal as an algebraic zero equation
- lockstep loop expansion β derive a common paired-loop star and preserve a relational invariant through corresponding iterations
- unequal-rate alignment β group fixed numbers of iterations on one side before applying relational loop reasoning
- loop-shape normalization β use unary algebraic rewrites to align flattened and nested loops
- conditional stuttering alignment β prove left-only, right-only, and paired steps under data-dependent guards
- ββ witness alignment β restrict nondeterministic choices and prove universal correctness plus over- and under-approximation
- derived relational Hoare rules β use BiKAT equations to justify sequence, branch, loop, consequence, and procedure-summary rules
An Abstract Contract Theory for Programs with Procedures
- relational procedure semantics β model open procedures as state relations parameterized by required-call environments and least fixed points
- contract-relative modular verification β verify a caller against callee contracts instead of inlining bodies
- monotone component composition β compose module environment transformers through compatible interfaces and a least fixed point
- contract refinement and conjunction β order assumptions and guarantees with lattice relations and combine contracts algebraically
- assume-guarantee contract composition β check cross-module assumptions and derive a least composed contract
- procedure-to-component abstraction β map procedure sets to components and prove abstraction commutes with composition
Amortised Resource Analysis with Separation Logic
- resource-carrying predicates: attach consumable credits to each owned heap fragment so local separation frames both shape and budget
- proof-search inference: generate heap/resource matching constraints and solve their linear inequalities automatically
- amortised queue specification: deposit credits on tail nodes so reversal cost is paid without exposing list lengths
- cyclic-phase termination: use disjunctive phase invariants and per-iteration consumption to infer bounds for cyclic traversal
All-Path Reachability Logic
- matching-logic state patterns β represent language configurations and constraints in a reusable first-order state model
- all-path reachability rules β require every complete execution path from a pre-pattern to hit a post-pattern
- Step-based nondeterministic proof β prove progress and all successor obligations for each matching semantic rule
- circularity invariants β justify loops and recursion by allowing a post-step invariant assumption
- narrowing symbolic execution β unify symbolic configurations with operational rules and accumulate SMT-checked path constraints
- mechanized generic foundations β establish language-independent soundness in Coq and relative completeness under a first-order oracle
Alias Types
- singleton location types: represent each allocation identity as
ptr(β)so aliases are syntactically detectable - linear alias constraints: use non-duplicable store descriptions to permit safe type change and deallocation
- polymorphic store preconditions: abstract locations and unrelated heap regions while preserving alias relationships
- non-linear constraints: duplicate shared read permissions while forbidding free and type-changing updates
- alias-wide dynamic refinement: propagate a null or variant test to every handle sharing one singleton location
- preservation and progress: prove store typing survives updates and well-typed execution never reaches a stuck state
Algorithm Selection for Software Verification using Graph Neural Networks
- semantic program graphs β combine AST, control/call, and data-flow edges so selection sees verification-relevant interactions
- adaptive EGC GNN β message-pass over typed edges, retain intermediate states, pool them, and score a verifier portfolio
- property-aware ranking β append the specification class so the same program can receive different verifier rankings
- Top-K scheduling β run the first K predicted verifiers under a resource limit to trade parallelism against wasted work
- GNNExplainer coding β inspect the highest-scoring edges and categorize patterns associated with each verification algorithm
Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools
- rely-guarantee algebra β derive sequential, parallel, choice, and iteration rules from four interference axioms
- projection-based trace healthiness β use a
Οprojection to break overstrong algebraic compositionality - shuffle trace semantics β model parallel execution as interleaving languages with consistency and closure operations
- assignment rely conditions β express unchanged and preservation assumptions for shared-memory assignments
- compositional parallel proof β verify each worker against the otherβs guarantee and combine results
Alchemy: Amplifying Theorem-Proving Capability through Symbolic Mutation
- invocable-theorem enumeration β execute every typed rewrite or implication template in an interactive proof state and retain valid transitions
- symbolic statement mutation β replace an AST component with an equality-equivalent term or an implication antecedent
- proof reversal with
haveβ restore the original component as a lemma and reuse the seed proof after a one-step mutation - verifier-filtered corpus growth β compile every generated theorem and discard failures before training
- state-tactic extraction β trace accepted variants into deduplicated proof-state/next-tactic pairs
- tactic-balanced continual training β mix mutation families during pretraining and supervised proof-step finetuning
AkiraRust: Re-thinking LLM-aided Rust Repair Using a Feedback-guided Thinking Switch
- defect-feature agent selection: classify the UB or proof failure and route it to a specialized repair action
- dual-mode reasoning: use fast heuristic repair for simple cases and slow semantic reasoning for complex cases
- FSM orchestration: represent agents and modes as states and transition using runtime verification feedback
- intent-guided test generation: infer behavioral constraints and accept candidates that pass generated tests
- waveform rollback: aggregate runtime error signals, evaluate stable regions, and roll back on semantic drift
AI Chains: Transparent and Controllable Human-AI Interaction by Chaining Large Language Model Prompts
- decomposed LLM chain β break a complex task into independent, connected steps with explicit input and output layers
- primitive operation blocks β use classification, query, ideation, extraction, rewriting, split, and compose operations as reusable units
- editable intermediate state β expose prompts and outputs so users can inspect, revise, and rerun local steps
- verifier-backed unit testing β treat each generated proof fragment as a unit whose acceptance comes from Verus diagnostics
- matched baseline evaluation β compare chained and monolithic workflows with fixed model, tasks, timing, raters, and denominators
AI as a Compiler: Compiling Triton kernels without the Triton compiler
- fixed compilation contract β hold specialization, ABI, launch, and target architecture constant while searching implementations
- verifier-backed candidate loop β assemble, test, profile, verify, and retain only safe correct faster candidates
- symbolic ISA extension β add instruction semantics, asynchronous hazards, barriers, and equivalence checks to extend a verifier
- unsupported-feature feedback β report unmodeled constructs to the generator and revise, rather than silently accepting them
AI Agent Swarms as Researchers: Progress, Challenges, and Open Questions
- open-ended swarm orchestration β define scope, provide literature/tools, and let many agents pursue and review candidate results without a fixed stopping point
- fresh-agent verification loop β require context-independent review, correction, and rerunning of each artifact
- three-level evidence β combine mechanical proof or replayable computation with agent judgment and selected human judgment
- statistical review audit β sample accepted claims, publish error rates and denominators, and repeat after model changes
- formal library building β encode established results and assumptions in a checker so later work composes trusted lemmas
Agora: Toward Autonomous Bug Detection in Production-Level Consensus Protocols with LLM Agents
- hypothesis-driven testing β represent vulnerability preconditions, actions, expected behavior, and oracle assertions explicitly
- role-decoupled agents β separate orchestration/state, protocol scenario synthesis, and executable test generation
- reflection-loop test repair β run generated tests, analyze failures, and regenerate up to a bounded retry count
- protocol-constraint filtering β constrain CFT/BFT scenarios to the deploymentβs actual fault model
- bug-pattern exploitation β use historical bug instances to derive deeper related scenarios
- global-state deduplication β summarize explored states so agents avoid repeating equivalent attacks
Agents4PLC: Automating Closed-Loop PLC Code Generation and Verification in Industrial Control Systems Using LLM-Based Agents
- role-separated closed loop: retrieval and planning guide coding, compiler checks syntax, validation checks properties, and debugging repairs failures
- RAG plus domain prompts: retrieve IEC/ST examples and encode safety/compiler constraints in generation and repair prompts
- property generation: derive verifier-format properties from requirements when absent, subject to human/specification trust
- translation-based model checking: map ST to SMV/CBMC and run model checking or BMC while tracking translation and state-explosion risks
- thresholded repair: iterate diagnostics-driven fixes until success or loop threshold, then select another plan or escalate
AgentLTL: A Trace-Verification Framework for Measuring, Enforcing, and Training Procedural Compliance in Tool-Using LLM Agents
- typed FO-LTL traces β encode tool calls, temporal order, arguments, results, and finite quantification as deterministic trace predicates
- layered weighted compliance β separate routing, order, counts, and exact arguments and report weighted and per-layer scores
- prefix harnessing β check enforceable constraints before each call, with warn, block, retry, or termination policies
- compliance reward β use the continuous score plus correctness and trace distance as dense training feedback
Agentic-IC3: Enabling Semantic Proof Search in IC3 Model Checking
- word-level semantic lemma proposals β expose RTL-level equalities and arithmetic relations, then admit only solver-checked initiation, inductiveness, BMC, and recursive-blocking results
- batch generalization β collect multiple SAT predecessor regions or UNSAT blocking lemmas so proposals capture cross-state relationships
- persistent derived observations β register typed expressions whose values enrich later proof requests and make hidden relations explicit
- proof revision by backtracking β abandon a recursive proposal after counterexample feedback while retaining independently validated lemmas
Agentic Code Reasoning
- patch-equivalence certificates: state premises, trace every test under both patches, compare outcomes, and conclude from an explicit definition
- premise-to-claim fault localization: connect test premises through traced calls and divergence claims to ranked suspicious regions
- function-trace QA: require signatures, data flow, semantic evidence, and alternative-hypothesis checks before answering
- structured exploration: record hypothesis, evidence, and confidence for each file request and observation
Agentic AI for Software: thoughts from Software Engineering community
- program-representation agency β let an agent navigate structured code and invoke analysis tools for micro-decisions
- code-search intent inference β localize issue-relevant elements and infer behavior before patch generation
- symbolic intent inference β use symbolic execution to generalize beyond tests and reduce repair overfitting
- iterative proof-agent loop β parse proof states, propose lemmas or contracts, invoke a prover, and refine on failures
Agentic AI-based Coverage Closure for Formal Verification
- role-based verification agents: divide planning, generation, criticism, execution, and CEX analysis among specialized agents
- coverage-hole classification: normalize tool reports and classify isolated versus control-flow locations
- context JSON extraction: encode exact code, signals, timing, preconditions, reset logic, and a logic signature
- targeted SVA generation: emit one timing-matched assertion or cover per location using only available signals
- iterative closure loop: merge properties, rerun formal analysis, and escalate unresolved intent to human review
Agent Hunt: Bounty Based Collaborative Autoformalization With LLM Agents
- bounty-based decentralized proof search β agents propose and claim priced theorem obligations in a shared ledger
- frozen statement autoformalization β generate definitions and theorem statements first, review them, then forbid proof agents from changing them
- lock and guard protocol β reserve work with expiring locks and mechanically check ownership, balances, and proof-status transitions
- dependency-closed checking β permit a final proof status only when all recursive dependencies are checked, while labeling incomplete work admitted
- compositional lemma ownership β divide theorem regions by theme and expose intermediate lemmas so later proofs avoid expanding definitions
AG-CoT: Verified Algorithmic Traces for LLM Program Synthesis on Clifford Circuits
- verifier-checked algorithmic traces β train on deterministic derivations paired with final programs retained only after exact semantic verification
- verifier-filtered continuation β fine-tune on the modelβs own verifier-accepted completions
- criterion-separated evaluation β report syntax, representation equality, semantic equivalence, and finite-budget Pass@N independently
Advocate for Complete Benchmarks for Formal Reasoning with Formal/Informal Statements and Formal/Informal Proofs
- complete benchmark unit: release informal/formal statements and informal/formal proofs together, creator-verified
- cross-artifact alignment: check that formal and informal statements and proofs describe the same task
- proof-effort reporting: publish proof lengths, automatic-solver-only counts, settings, and per-item outcomes
- evaluator audit: validate automated autoformalization judges against expert labels before deployment
- open reproducibility: release code, data, search procedures, training sources, and ablations
Advancing Natural Language Formalization to First Order Logic with Fine-tuned LLMs
- fine-tuned NL-to-FOL translation β train sequence-to-sequence models on paired prose and formal strings
- logical-token vocabulary extension β represent quantifiers and connectives as atomic output tokens
- predicate-list conditioning β provide sorted relevant predicates, optionally with distractors
- staged predicate curriculum β predict names first or train gold-to-noisy-to-free-form stages
- multilingual predicate abstraction β vary source language while keeping formal predicates fixed
- semantic equivalence evaluation β parse formulas and prove negated bi-implication unsatisfiable with Z3
Accessible Smart Contracts Verification: Synthesizing Formal Models with Tamed LLMs
- mechanical contract-to-model stubs: compiler-driven extraction emits typed abstract state, transitions, and an adapter while leaving core semantics as stubs
- few-shot pure-function synthesis: an LLM fills each semantic stub from source context, descriptions, examples, and demonstrations
- bounded ordered repair: static, runtime, and semantic checks feed diagnostics back in separate finite repair budgets
- differential trace adapter: generated Rust tests replay model traces and compare queried implementation state after each step
AccelSync: Verifying Synchronization Coverage in Accelerator Pipeline Programs
- typed event extraction: lower accelerator source into writes, reads, queues, and abstract barriers with unit and buffer identity
- happens-before graph: combine program, FIFO synchronization, and hardware barrier edges, then compute reachability
- barrier sufficiency: reject every cross-unit same-buffer write-read pair lacking a happens-before path
- parameterized hardware model: port the checker by changing stages, queues, and directional coverage rules
Abstraction and Learning for Infinite-State Compositional Verification
- assume-guarantee decomposition: prove component contracts under an explicit environment automaton and compose them
- may/must predicate abstraction: over-approximate for safety and under-approximate for real violations or permissiveness
- L* assumption learning: infer finite assumptions from membership queries, conjecture checks, and counterexamples
- interleaved refinement: classify traces by concrete simulation and refine either predicates or assumptions
- interface generation: combine may safety and must permissiveness checks for infinite-state components
Abstract Compilation for Verification of Numerical Accuracy Properties
- exact assertion compilation: infer integer/rational kinds and emit GMP code only where machine arithmetic is not proved sufficient
- split-merge unstable-test handling: enclose float/real branch disagreements in path-exploring loops and join feasible abstract states
- zonotope-plus-interval propagation: carry shared-noise affine forms, error domains, and intervals through overloaded numeric operations
- dependency-derived save and merge lists: use may-def/may-ref/data analysis to reset and join only variables that cross a split-merge boundary
- bounded runtime path exploration: enumerate feasible branch/cast outcomes with saved memory and nested explorer contexts
ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications
- request-surface graph β map routes, handlers, guards, inputs, and sinks before judging code
- two-pass framework extraction β profile the application, then union independent agent-derived patterns and apply them deterministically
- per-route invariant falsification β enumerate intended properties, locate enforcement, and construct a violating request
- fixed finding schema β require invariant, locations, request, preconditions, and violating effect in every report
- cross-route composition β link capabilities and findings sharing code to expose multi-route attacks
- dependency-aware incremental audit β reuse route verdicts only when changed files and import closures are absent
- deterministic adjudication gate β filter by location, then independently judge findings against a benchmark oracle
- run-stability accounting β report pass@1, pass@k, passk, and their exact instance/run denominators
A Verifier-Guided Explainable Reasoning Framework with Gold-Anchored QLoRA, Task-Aware Mixture-of-Experts, and Group-Relative RLVR
- gold-anchored canonicalization β repair teacher traces while locking authoritative answers, units, and premises
- field-weighted QLoRA β mask prompt tokens and weight answer/evidence/unit fields more heavily during completion-only SFT
- task-aware external routing β dispatch logic and physics questions to specialized symbolic verifiers
- FOL/Z3 entailment β accept a claim when premises plus its negation are UNSAT and test contradiction analogously
- formula and unit verification β solve supported equations, normalize units, and intervene only above a calibrated confidence threshold
- verifier-guided self-revision β feed unsupported premises, formula errors, and unit conflicts back into candidate revision
- P1/P2/P3 group-relative RLVR β combine exact, dense, consistency, depth, and format rewards and normalize advantages within response groups
- gold-free self-consistency β cluster one greedy plus sampled answers by equivalence and apply selective symbolic correction
- separate correctness diagnostics β report answer, evidence/unit consistency, reasoning depth, format, and strict validity independently
A Verified Certificate Checker for Finite-Precision Error Bounds in Coq and HOL4
- certificate carrying analysis results β encode AST, precondition, types, ranges, and per-node errors for independent checking
- modular validator composition β check types, real ranges, machine ranges, and roundoff errors separately and compose soundness theorems
- interval and affine range validation β recompute sound enclosures inside the prover, using affine correlations when intervals are too coarse
- operation-level error propagation β derive addition, multiplication, division, and FMA bounds from operand ranges and errors
- machine-safety validation β reject overflow, NaN, infinity, and possible division by zero under finite-precision execution
- verified extraction β compile a proved HOL4 checker to a CakeML binary while distinguishing the unverified Coq/OCaml path
- analyzer/checker separation β treat Daisy as an untrusted certificate producer and accept only certificates passing the verified checker
A Verified Algebraic Representation of Cairo Program Execution
- machine semantics first β define instructions, registers, memory, and next-state relations before proving the encoding
- AIR-to-execution theorem β prove that satisfying generated polynomial constraints yields a valid Cairo trace
- packed-instruction decoding β recover unique bitvector instructions from finite-field encodings
- polynomial permutation fingerprints β reduce sequence permutation claims to random evaluations outside bounded bad sets
- range-check encoding β prove integer intervals with sorted adjacency and permutation constraints
- memory-consistency encoding β reconstruct a read-only memory map from permuted address/value pairs
A User Study for Evaluation of Formal Verification Results and their Explanation at Bosch
- fault-localized explanation β derive inconsistent specs, contracts, components, states, and variables from a failed refinement
- annotated counterexample β highlight the first erroneous state and variables while retaining the raw trace
- semantic repair loop β let engineers change the model/requirement and re-verify the changed refinement
- comprehension tasks β score localization, cause, repair, and expected behavior separately
- explanation evaluation β compare raw diagnostics and structured explanations with per-question denominators
- human-centered evidence β preserve exact formal predicates and trace links while presenting domain-language summaries
A Unit Proofing Framework for Code-level Verification: A Research Agenda
- unit decomposition β partition a call graph into solvable function units while minimizing model and proof effort
- input/resource modeling β specify broad inputs, shared state, and behavior-preserving callee models, then refine from coverage and violations
- proof-fault validation and repair β recreate defects, classify missed detections, repair harnesses or properties, and rerun
- proof evolution β track code/proof dependencies, update affected models and contracts, and compare re-verification evidence
A Two-Phase Infinite/Finite Low-Level Memory Model: Reconciling IntegerβPointer Casts, Finite Space, and undef at the LLVM IR Level of Abstraction
- two-phase memory refinement β optimize under unbounded addresses, then lower to bounded memory with explicit OOM refinement
- provenance-aware specification monad β specify byte operations and allocation as nondeterministic behaviors over pointer provenance
- undef and cast concretization β relate symbolic bytes,
undef, and pointer/integer values to finite concrete executions - executable reference interpreter β implement deterministic operations and prove each result belongs to the nondeterministic specification
- block-level optimization proofs β prove dead-allocation, cast-removal, and allocation-addition refinements before composing passes
A Trust Ledger and an Execution Check for CPG-Based C-to-Lean 4 Autoformalization: Separating Declined from Silently Incorrect Translations
- three-tier trust ledger: report hole-free, call-closed, and dynamic-hole-risk populations with construct-level causes
- differential execution oracle: compare generated semantics with a real implementation on isolating fixtures and retain negative controls
- denominator audit: attach every percentage to its exact exported population and distinguish metric movement from behavior movement
A Tool for Checking ANSI-C Programs
- bounded formula generation β normalize C, unwind loops/calls with unwinding assertions, lower to SSA, and ask SAT about
C β§ Β¬P - synchronized C/Verilog checking β unwind a C reference and Verilog implementation together to find bounded consistency counterexamples
- dynamic-array abstraction β encode variable-size arrays with uninterpreted functions instead of one literal per possible element
- counterexample debugging β present source-variable stepping and hardware waveforms to make formal failures diagnosable
A Theory of Formal Synthesis via Inductive Learning
- oracle-guided inductive synthesis β separate learner, oracle, concept class, specification, and query protocol
- counterexample-guided synthesis β iterate candidate, correctness query, counterexample accumulation, and constrained resynthesis
- counterexample policy analysis β compare arbitrary, minimal, constant-bounded, and positive-history-bounded failures
- memory-aware convergence β analyze how finite versus unbounded example storage changes synthesis power
- teaching-dimension planning β lower-bound the number of distinguishing examples needed for finite candidate classes
- set-cover query minimization β reduce smallest distinguishing-query selection to an NP-hard set-cover problem
A survey on formal specification and verification of separation kernels
- policy state machines β model partitions, resources, flows and transition-local separation properties before implementation verification
- unwinding information-flow proofs β reduce noninterference to output consistency, step consistency and local respect
- TLS-to-code conformance β prove a small top-level state-machine security model, then map concrete code states and contracts to it
- refinement-based development β transform Z/B/Event-B models through proof obligations into executable or linked code
- scheduler invariants β prove temporal separation with initialization and transition preservation, using timed model checking or induction
A Survey on Deep Learning for Theorem Proving
- structured autoformalization: translate informal statements through sketches, subgoals, and prover feedback
- premise retrieval and reranking: select relevant library lemmas with learned dense or graph representations
- tactic generation: predict grammar-constrained or autoregressive proof steps and execute each in the prover
- verifier-in-the-loop repair: feed failed proof obligations or tool diagnostics back to the generator
- learned proof search: guide beam, best-first, MCTS, A*, or RL exploration with policy and value models
- synthetic curriculum: generate controlled theorems, augment with successful or failed trajectories, and filter by compilation
- lemma discovery: extract, conjecture, or prompt reusable subgoal lemmas and add checked results to the library
A Survey of Smart Contract Formal Specification and Verification
- finite-state temporal model checking: abstract contract interactions as transitions and check LTL, CTL, timed, or probabilistic properties
- interactive theorem proving: encode semantics and contracts in a logic and derive functional, security, or resource proofs
- symbolic/concolic execution: solve path constraints to expose vulnerability patterns and synthesize concrete traces
- intermediate-language program verification: translate source or bytecode to Boogie, F*, Why3, K, LLVM, or Datalog and discharge contracts
- runtime trace monitoring: instrument clients or contracts to detect invariant and legal-property violations on observed executions
- specification-layer taxonomy: combine contract-level temporal/deontic models with program-level Hoare and path-pattern properties
A Survey of Practical Formal Methods for Security
- finite-state model checking β encode bounded system and attacker behavior, state properties, and inspect exhaustive counterexamples
- theorem proving β prove unbounded model properties and implementation mappings with lemmas and a prover
- lightweight formal analysis β scan or monitor bytecode, source, configurations, or traces against explicit rules
- counterexample-guided repair β revise the model or design after a checker counterexample and rerun verification
- abstraction taxonomy β choose domain, abstraction level, and FM class before selecting tools
A Summary of Formal Specification and Verification of Autonomous Robotic Systems
- challenge decomposition: separate environmental/certification obligations from agent, multi-robot, and adaptive implementation issues
- formalism-property matching: pair state-transition models with suitable logics and choose model checking or theorem proving by property needs
- integrated verification boundary: combine tools and formalize translation from abstract model to program code
A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries
- joint MIR/LLVM interpretation β combine Miri and LLI so dynamic UB checks cross Rust and foreign calls
- conservative ABI translation β enforce size and representation invariants while translating values between interpreters
- dual-mode initialization checking β separate LLVM undef propagation from genuine uninitialized Rust reads
- alias-model differential testing β execute tests under Stacked and Tree Borrows and triage model differences
- FFI bug deduplication and PoCs β normalize dynamic errors, construct safe-client reproducers, and validate concrete UB
A Specification Logic for Programs in the Probabilistic Guarded Command Language (Extended Version)
- p-box probability contracts: specify a lower bound on the postcondition expectation of a probabilistic program
- demonic/probabilistic choice rules: combine worst-case branch bounds by minimum and random branch bounds by weighted sum
- backward expectation sequencing: propagate a postcondition bound through preceding program fragments using MDP expectations
- bounded-loop path expansion: unroll a fixed iteration count and sum weighted paths satisfying a quantitative predicate
A Solver-in-the-Loop Framework for Improving LLMs on Answer Set Programming for Logic Puzzle Solving
- solver-labelled trajectory data: generate partial formal programs, run a solver after each step, and fine-tune on solver-chosen versus rejected continuations
- greedy best-of-N verifier search: sample alternatives, rank partial programs by verifier feedback, and recover with regeneration and backtracking
- staged formalization pipeline: decompose natural-language requirements into typed declarations, relations, choice/invariant structure, and final constraints
A Rust-to-Lean Verification Pipeline with AI Provers: An Experience Report
- safe-Rust extraction β translate Charon/LLBC or Hax/THIR into pure Lean with explicit monadic failure and termination obligations
- reference specifications β state handwritten or ArkLib/CompPoly mathematical behavior under explicit preconditions
- kernel-checked AI proving β combine Aeneas/Lean tactics, manual lemmas, and Aristotle/Aleph, then let Lean re-check every proof
- monadic bound decomposition β prove bind inversion and conditional-bound helpers before composing extracted-control-flow theorems
- extraction-gap repair β fix tools upstream or verify a monomorphic extraction-friendly model, with a separate relation to production
- layered unsafe verification β verify the safe core with extraction and use complementary tooling for unsafe Rust
A-ProS: Towards Reliable Autonomous Programming Through Multi-Model Feedback
- role-separated multi-model repair β use one model for candidate code and specialized critics for structured diagnosis before each repair
- execution-evidence capture β archive verdicts, diagnostics, code, and transport artifacts so feedback and failures are replayable
- persistent repair context β retain the complete per-problem conversation and compare it with a matched stateless reset
- denominator-aware feedback metrics β distinguish incremental and cumulative solves, total submission cost, repeated verdicts, and calibration
- paired context ablation β hold models, problems, temperature, judge, and attempt budget fixed while varying only history retention
A Proof-Producing Compiler for Blockchain Applications
- machine-to-proof semantics: define a small-step machine and prove instruction transition lemmas
- generated weakest-precondition contracts: extract naive specs and proof code from compiler data
- modular cyclic control flow: use recursive-call specs and block-entry invariants
- range-check threading: carry boundedness hypotheses through calls and address rewrites
- layered crypto refinement: connect limb representations to abstract field/group properties
- read-only dictionary squash: verify append-only access histories via sorted witnesses and invariants
A Program Instrumentation Framework for Automatic Verification
- ghost instrumentation: rewrite quantifiers and aggregates into ghost updates plus a proved instrumentation invariant
- counterexample-guided instrumentation search: eliminate candidate rewrites using failed instrumented assertions and retain soundness through the operator theorem
A Probabilistic Separation Logic
- probabilistic BI model: interpret separating conjunction as factorization into independent distributions over disjoint randomized variables
- PSL randomized rules: verify sampling, randomized assignment, conditioning, and framing with independence side conditions
- security by distributional postconditions: prove cryptographic uniformity or input independence and derive information-theoretic security
- supported assertions: restrict randomized conditional postconditions to SP formulas so conditioning remains sound
A Primal-Dual Perspective on Program Verification Algorithms
- generalized Lagrangian: encode proof/counterexample compatibility in a lattice-valued function and solve primal and dual witness problems together
- monotone primal-dual search: accumulate joins on a monotone side to avoid repeating candidates
- stratified search: order finite witness layers and always choose the smallest available layer for conditional termination
- CEGAR Lagrangian: alternate abstract error traces with predicate refinements
- ICE Lagrangian: alternate finite teacher counterexamples with learner-generated inductive invariants
- primal-dual Houdini: run symmetric Cartesian invariant searches over induction-dual systems
- ranking-function ICE: reduce ranking validation to safety and synthesize generalized measures from finite traces
- disjunctive termination CEGAR: accumulate finite sets of ranking functions defining a well-founded union
- strategy skeletons: replace infinite Skolem functions with finite term alternatives ordered by inclusion
- fixed-point primal-dual search: combine skeletons and ranking relations, with history-independent angelic choices
A Practical Analysis of Rustβs Concurrency Story
- design progression: compare lock, sharded-lock, and epoch-based lock-free implementations under one map specification
- ownership and markers: use ownership, borrowing,
Send, andSyncto reject unsafe sharing at compile time - unsafe encapsulation: isolate raw pointers and expose a safe API whose contracts preserve manually checked invariants
- epoch reclamation: pin an epoch across atomic reads and delay freeing until all pins that could reach a node are gone
A Polymorphic Intermediate Verification Language: Design and Logical Encoding
- typed intermediate verification language β use a shared polymorphic, map-aware IR to separate source front ends from solver logic
- first-order type-term encoding β represent type constructors, maps, and built-in casts as simply typed terms with axioms
- type-guard translation β preserve typing by adding result-type axioms and guards to quantified formulas
- explicit type-argument translation β pass type terms as function arguments so SMT triggers remain type-specific
- trigger-preserving evaluation β compare typed translations and an unsound type-erasing baseline with fixed solver, timeout, and denominator
A Pilot Benchmark for NL-to-FOL Translation in Planetary Exploration
- event-and-role FOL annotation β map mission prose to existential events, typed entities, temporal relations, and operational predicates
- schema and type separation β publish predicate signatures and typed constants to support controlled translation settings
- direct long-form baseline β evaluate single-pass model translation with fixed output length and qualitative failure analysis
- decomposition direction β use smaller segments, schema constraints, guided grammars, or neuro-symbolic checks as the paperβs proposed next steps
A New Interaction Concept for Interactive and Autoactive Program Verification
- inline proof overlays β map one open proof leaf to generated source-level assumptions and assertions with clear visual distinction
- provenance propagation β preserve source origins through rewriting, branching, loop, and method proof rules
- source-level proof actions β expose macros, cuts, splitting, and quantifier instantiation while retaining a low-level fallback
- replayable proof scripts β record source-level guidance as commands that can be rerun after a proof attempt
A Neuro-Symbolic Approach to Strategy Synthesis for Strategic Logics
- bounded guarded strategy encoding β represent each agent policy as ordered guarded actions plus a total default under a complexity bound
- schema then semantic certification β reject malformed candidates before model checking, then accept only NatATL-certified witnesses
- ATL feasibility pre-filter β use cheap unconstrained ATL negatives to stop impossible cases before bounded NatATL checking
- verifier-feedback retry β translate checker diagnostics into a bounded second synthesis attempt
- coverage-controlled benchmark augmentation β mutate expert seeds while preserving family-level splits and checker-balanced outcomes
- compact model serialization β convert verbose JSON game descriptions to structured Markdown to improve LLM synthesis
A Minimalist Proof Language for Neural Theorem Proving over Isabelle/HOL
- minimalist proof DSL β represent high-level proof outlines with a small set of semantically distinct operations
- tree-state proof execution β model subgoals and inherited contexts as a transition system over proof trees
- hint-guided automation β provide relevant and avoided lemma hints, simplify goals, filter unknown references, and cache proofs
- checked AST translation β parse, elaborate, normalize, translate, and replay-check transformed proof scripts
- backend ablation β isolate proof-language gains from automation-backend gains with matched training conditions
- parallel pass@k checking β sample independent proofs, verify in parallel, and count a goal solved when one passes
A Machine-Verified Proof of a Quantum-Optimization Conjecture
- agentic generate-then-certify loop β freeze a formal statement, iterate model plans against compiler diagnostics, and accept only kernel-checked proof
- mode-to-polynomial reduction β use symmetry and SU(2) mode decomposition to turn simultaneous steering into polynomial interpolation
- complementary-polynomial factorization β complete an off-diagonal polynomial with FejΓ©rβRiesz and invert Haah factors to recover control angles
A Light-Weight Approach for Verifying Multi-Threaded Programs with CPAchecker
- ThreadingCPA interleaving transfer β represent all active thread locations and generate one successor per enabled thread edge
- reached-set partitioning β restrict merge and coverage to states sharing the tuple of thread locations
- thread-count waitlist ordering β prioritize states with fewer active threads to find short violations sooner
- thread-local partial-order reduction β execute local edges without synchronization until the next global operation
- CFA cloning for thread-local names β clone each function per thread to keep analysis identifiers unique
- observer deadlock detection β monitor ThreadingCPA states with an automaton that reports mutual waiting
- mutex-aware transfer β carry lock availability in the abstract state and suppress blocked successors
A Lean Dataset for International Math Olympiad: Small Steps towards Writing Math Proofs for Hard Problems
- hierarchical lemma decomposition: split a long proof into intermediate facts and prefix-context variants
- statement/proof alignment: compare natural-language intent, formal contract, and compiled proof behavior
- compiler-feedback repair: iterate structured verifier diagnostics for a bounded number of rounds
- proof-length stratification: report success by proof-size bins and explicit row denominators
- overlapping error taxonomy: distinguish hallucination, wrong approach, implementation, incompleteness, and minor errors
A Hybrid Formal Verification System in Coq for Ensuring the Reliability and Security of Ethereum-Based Service Smart Contracts
- mechanized definitional interpreter: execute a formal language in Gallina with option-valued results and a bounded gas parameter
- generated vulnerability scanners: compile feature predicates into reusable static-analysis functions that report candidate code segments
- hybrid Hoare verification: combine symbolic/concolic execution of the formal interpreter with Coq proofs that final state satisfies a user postcondition
- non-aftereffect trust boundary: let untrusted generators propose specifications while requiring the Coq kernel to certify every resulting theorem
A Hybrid Approach to Formal Verification of Higher-Order Masked Arithmetic Programs
- staged hybrid security checking β preprocess to SSA, apply sound type inference, resolve residual sets by pattern matching, then exact model counting
- distribution-type inference β classify observable sets as uniform, secret-independent, or leaky with sound algebraic rules and dominant-mask analysis
- sound expression transformations β use algebraic simplification, dominant-variable replacement, and common-subexpression collapse before inference
- exact model counting β decide unresolved leakage by satisfiability/counting formulas and cache each result
- pattern matching β prove equal distribution types for normalized isomorphic observable expressions and reuse solved cases
- verus translation (inference) β model distribution facts as ghost predicates and prove normalization/reuse lemmas, while trusting external solvers or GPUs unless verified
A Human Audit of OpenAIβs AI-Generated Mathematical Proofs
- proposition-scope separation β distinguish encoded theorem, published theorem, and advertised achievement
- review-status taxonomy β classify errors, proof gaps, omissions, and incomplete verification separately
- source-fidelity audit β verify objections against immutable source artifacts and record withdrawals
- evidence decomposition β report certificates, human review, independent derivation, extensions, uptake, and references separately
- immutable provenance β preserve versions, checksums, tool commits, reviewer scope, AI use, and unresolved dependencies
A HAT Trick: Automatically Verifying Representation Invariants using Symbolic Finite Automata
- SFA trace invariant: specify legal histories of opaque-library calls using predicates over arguments and returns
- Hoare Automata Type: attach pre/post trace automata to refinement types so functions preserve representation invariants
- compositional effect typing: sequence API HATs and use intersection branches for context-dependent results
- minterm alphabet transfer: partition symbolic event alphabets into satisfiable classes and reduce SFA inclusion to FA inclusion
- bidirectional ghost abduction: infer ghost qualifiers needed for deterministic inclusion checks
A fully verified container library
- model-based interfaces: expose mathematical ghost models and connect them to concrete representation invariants
- closed/open ownership: mutate owned objects only while open and re-establish invariants before closing
- collaborative iterator invariants: track subjects and observers to permit safe concurrent readers and exclusive writers
- ghost-state abstraction: maintain explicit ghost relations, with optional invariant-driven updates before closure
A Framework for the Verification of Certifying Computations
- witness-checker split β emit a certificate and verify a small checker instead of the complex producer
- checker iff contract β prove termination and exact acceptance/rejection under the input precondition
- two-level proof interface β verify concrete code with contracts and prove abstract mathematics in a theorem prover
- representation linking β connect concrete arrays and records to abstract graphs, sets, paths, or labelings
- local graph certificates β use spanning trees, distance labels, or matching covers whose global meaning is proved separately
A Framework for the Automated Verification of Algebraic Effects and Handlers
- protocol contracts β specify client preconditions, server postconditions, and writable state for each effect
- handler invariants β use
try_ensuresto connect normal and exceptional exits of deep handlers - exception embedding β represent each algebraic effect as a WhyML exception and translate
performstoraises - continuation defunctionalization β represent one-shot continuations with an abstract validity record and
pre/postpredicates - local effect protocols β scope a protocol to the function whose mutable or forest state it must describe
- automated VC evaluation β report VC counts, code/spec/ghost LOC, solver versions, machine, and ten-run replay averages
A Framework for Proof-carrying Logical Transformations
- skeptical transformation certificates β instrument every logical transformation to emit a certificate whose leaves are its output tasks, then check it independently
- certificates with holes and composition β leave output obligations as holes and substitute certificates when composing transformations
- interpreted-theory rules β add explicit certificate rules for equality rewriting and arithmetic induction while keeping interpretations fixed
A Framework for Modelling, Verification and Transformation of Concurrent Imperative Programs
- program correspondence β relate source and auxiliary programs by a state relation and replay matching computations
- rely/guarantee Hoare logic β specify environment interference, inputs, outputs, and program-step guarantees
- auxiliary-model refinement β prove protocol properties on a ghost-augmented model and transfer them to concrete code
- fair computation β require enabled positions to fire eventually under explicit availability assumptions
- refutational liveness β assume a fair non-terminating run and close syntax-driven branches by contradiction
- termination by protocol invariants β combine global guarantees, fairness, and component termination to prove mutex termination
A framework for embedded software portability and verification: from formal models to low-level code
- layered Event-B refinement β refine generic OS behavior through requirements and hardware-independent stages before target instantiation
- LTL progress checking β model-check eventual completion, non-deadlock, enabled-event uniqueness, and ordering
- proof-guided code generation β derive LLVM control flow and instructions from verified Event-B events, then compile per target
- reusable hardware instantiation β preserve generic proofs while adding target register/context mappings
A framework for assessing the capabilities of code generation of constraint domain-specific languages with large language models
- modular prompt assembly β combine task, domain description, model, and optional generated explanations through explicit templates
- staged validation β gate generated code on well-formedness before testing specification correctness
- validator-feedback repair β send faulty code and diagnostics through one bounded repair round
- multiple-attempt generation β sample k candidates and measure pass@k and first-attempt accuracy
- judge calibration β compare automatic parser or LLM judgments with manual labels using precision and recall
A Formally Verified IEEE 754 Floating-Point Implementation of Interval Iteration for MDPs
- MEC reduction β transform MDPs to trivial/bottom end components while proving reachability preservation
- exact interval iteration β maintain monotone lower and upper Bellman sequences and prove sound convergence
- directed-rounding refinement β relate real values to lower/upper IEEE floats and prove bound-preserving operations
- separation-based code refinement β synthesize LLVM from abstract programs while proving data and heap relations
- end-to-end Hoare triple β compose abstract, numeric and data refinements into one executable correctness statement
A formally verified compiler back-end
- behavior refinement: define observable source and target behaviors and prove backward or forward preservation under safety assumptions
- simulation diagrams: relate states, initial/final states, and transitions with lock-step, star, plus, or option simulation
- shared semantic model: formalize values, memory, environments, traces, and transitions once for all passes
- constructor lemmas: prove smart expression constructors preserve evaluation before proving whole instruction selection
- dataflow optimization proofs: separate fixpoint-analysis soundness from transformation and simulation proofs
- allocation and lowering proofs: use liveness, interference, stack, and calling-convention invariants to preserve state values
- extracted verified implementation: write executable algorithms in the proof system and extract code while isolating handwritten components
- modular proof automation: decompose into reusable lemmas and combine interactive tactics with domain-specific automation
A Formalization of the Mean-Field Derivation of the Vlasov Equation
- API-lock definition scoping β compile target signatures with gaps and audit every definition before proving
- three-phase strategy file β separate scoping, decomposition, and library triage while recording lessons
- axiom-footprint gate β require no reachable gaps and an exact foundational axiom set
- reusable-layer extraction β isolate general declarations, standalone-build them, lint them, and audit dependencies
- dual/primal metric bridge β maintain equivalent distance representations and choose the form the proof supports
- coupling and regularity steering β use source-compatible estimates and add regularity only where a theorem needs it
A Formal Model of Algorand Smart Contracts
- labelled blockchain transition model: encode account, transaction, lease, freeze, round, and atomic-group transitions as inference rules and prove invariants
- pure script and witness semantics: evaluate transaction-group expressions and define multisignature/script authorization predicates
- attacker-strategy contract proofs: prove timeout, escrow, lottery, and finite-state payout properties over adversarially scheduled runs
- declarative-to-TEAL compilation: compile supported expression constructs and establish source/bytecode semantic correspondence
A flexible specification approach for verifying total correctness of fine-grained concurrent modules
- prepaid progress fuel β instrument waits with erasable signals, obligations, and pre-paid expect permissions so fair infinite executions become impossible
- Sassy higher-order blocking β pass client-supplied
Ξ·andΞΊauxiliary functions for waiting fuel and linearization-point obligation updates - safety-to-termination reduction β prove an instrumented program safe, then derive termination of the erased program under fair scheduling
- total-correctness atomic triples β extend logically atomic module specifications with liveness arrows, obligation resources, and per-round compensation
- fairness contracts β distinguish unfair locks requiring client eventuality from fair locks that bound bypasses and provide FIFO handoff
A Fixed-point Theorem for Horn Formula Equations
- Horn-to-least-fixed-point construction β classify base, induction, and end clauses and substitute the monotone least fixed point
- dual fixed-point upper bound β negate the least fixed point of the dualized equation to bound every solution
- verification-condition Horn encoding β recursively turn Hoare sequencing, branching, and loops into existential Horn predicates
- interpolation invariant generation β find a fixed-point-free formula between lower and upper solutions of a linear Horn equation
- fixed-point strongest postcondition β solve
vc({Ο}p{X})to obtain the exact reachable post-state predicate - fixed-point weakest precondition β solve the dual
vc({X}p{Ο})equation to obtain the exact safe pre-state predicate - abstract-domain fixed point β lift the monotone operator through a Galois connection, noting the paperβs result is conjectural
A First Class Boolean Sort in First-Order Theorem Proving and TPTP
- first-class Boolean terms β treat
boolvalues as formulas and function arguments, with typed if-then-else and let-in - model-preserving FOOL lowering β eliminate Boolean term contexts and local definitions using fresh symbols, guarded equations, and a two-element-domain axiom
- finite-domain superposition rule β replace generic Boolean case-clause inference with a targeted rule for non-variable Boolean terms
- uniform TPTP Boolean syntax β make Boolean sort first-class in TFF0 so program formulas translate without ad-hoc variants
A Domain-Specific Harness for End-to-End Automation of Optimization Research
- PEP-to-SDP reduction β reduce worst-case first-order optimization to finite interpolation inequalities and a Gram-matrix SDP
- dual certificate search β optimize algorithm coefficients jointly with nonnegative multipliers and PSD proof slack
- numerical-to-symbolic recasting β fit formulas, derive memory-efficient updates, and turn multipliers into Lyapunov decrements
- candidate labeling β mark model formulas as candidates until independently checked
- two-check formal gate β run the proof assistant, an independent comparator, and final human statement review
- evidence-status reporting β distinguish formal, human, LLM, numerical, and conjectural claims
A Design Theory for AI-Assisted Software Development Derived from Christopher Alexanderβs Theory of Form
- problem-frame specification: encode world facts, requirements, machine/domain responsibilities, and GivenβWhenβThen acceptance scenarios before generation
- four-form patterns: pair doctrine, code template, prohibition, and deterministic gate as one enforceable pattern
- deterministic gate stack: block on specification, tests, structural traceability, architecture, and machine-review rules with no LLM verdict path
- bounded repair loop: batch findings, re-run previous gates, freeze context, and escalate after three stagnant rounds
- human legislative boundary: let the builder repair generated artifacts while humans approve changes to rules, templates, and gates
A Dependently Typed Library for Static Information-Flow Control in Idris
- indexed labeled values: index protected payloads by a security level and expose only checked operations
- secure computation monad: thread sensitivity through an abstract monadic computation
- policy-parameterized APIs: quantify functions over a label lattice and infer or prove flow constraints
- predicate hatch builders: require a proved predicate before declassification
- token hatch builders: require possession of an unforgeable capability before release
- noninterference proof: relate two executions after erasure of secrets and prove low-observable results agree
A Deductive Verification Framework For Higher Order Programs
- heap-contract deduction β state representation invariants, preconditions, postconditions, and unchanged-heap facts before proving mutation
- closure defunctionalization β replace each closure shape with an environment constructor and a first-order
apply - post-relation specification β describe potentially effectful function values with pre/post predicates instead of executing them in logic
- typed translation pipeline β carry free variables and types through expression translation and choose apply functions by type
- semantic recursion lemmas β connect generated reductions and contexts to a logical evaluator, adding congruence lemmas when automation needs them
A DbC Inspired Neurosymbolic Layer for Trustworthy Agent Design
- typed semantic contract wrapper β validate input types, preconditions, generated output types, and postconditions around each model call
- error-history remediation β feed predicate errors into bounded corrective prompts and retry with backoff
- graceful verified/best-effort fallback β preserve operation after failure while explicitly degrading the guarantee
- empirical probabilistic contract score β estimate joint predicate success over independent invocations and state any independence approximation
A Datalog Hammer for Supervisor Verification Conditions Modulo Simple Linear Arithmetic
- test-point abstraction: partition simple-arithmetic bounds into intervals and decide quantified consequences using finitely many representative constants
- Horn Datalog hammer: preserve Horn rules, add theory facts over test points, and use a Datalog engine for complete entailment in HBS(SLR)
- stratified-negation query encoding: represent missing expected groundings with
expectedandmissingfacts to check universal claims efficiently - supervisor rule verification: encode cross-variant safety, lane, and actuator conditions as Horn clauses and classify existential or universal conjectures
A Cyclic Proof System for HFLN
- cyclic HFLN encoding β represent recursive higher-order behavior with monotone natural-number predicates and
Β΅/Ξ½fixed points - finite cyclic pre-proof β close repeated sequent obligations with back-edges and relevant-occurrence tracking
- sequence global-trace condition β certify every infinite path by an unbounded left-
Β΅or right-Ξ½trace - BΓΌchi trace checker β decide the global condition by containment between path and accepting-trace automata
- ordinal soundness argument β turn a good trace into an impossible infinite descending ordinal chain
A Compositional Approach to Verifying Modular Robotic Systems
- ROS graph abstraction β remove reliable/irrelevant nodes, merge related nodes, add external nodes, and preserve verification-relevant behavior
- stream FOL contracts β specify input/output streams with assumptions, guarantees, and eventuality
- RCL contract DSL β encode typed node interfaces, topic links, assumptions, and guarantees for tooling
- contract composition R1βR4 β derive sequence, branch, merge, and loop properties from guarantee-to-assumption entailments
- heterogeneous verification guidance β reuse one high-level contract across model checking, testing, neural-network analysis, and formal proofs
- RCL-to-RML monitor synthesis β translate guarantees into event predicates and deploy ROS topic monitors
- guarantee-only monitoring β avoid duplicate checks for internally entailed assumptions and add environmental assumption monitors when diagnosis needs them
A Combinatorial Identities Benchmark for Theorem Proving via Automated Theorem Generation
- domain formalization benchmark β translate source identities into executable Lean statements and proofs with a held-out test split
- proof-state extraction β record theorem states, tactic transitions, errors, and partial paths for model training
- RL tactic tree search β combine LLM candidate tactics with policy/critic PUCT expansion and back-propagation
- checker-centered validation β deduplicate, repair typed/incomplete candidates, discard logical errors, and retain only verifier-accepted proofs
- iterative proof-data refinement β fine-tune on accepted generated theorems and repeat generation to enlarge the training corpus
A Certificate-Producing Cascade for Equational Implication: The SAIR EQT2 Stage 2 Solver
- cheapest-first certificate cascade β order structured countermodels, direct proofs, bounded searches, and anytime proof search by cost, checking every candidate
- structured countermodel search β use coefficient, affine, matrix, polynomial, finite-table, central-groupoid, and infinite-carrier families to find false witnesses
- constraint propagation for tables β watch hypothesis instances, infer Latin constraints, and backtrack partial Cayley tables before independent reevaluation
- proof-producing ordered superposition β orient and saturate equations, retain derivation recipes, then replay positive equality chains in the kernel
- tautology deletion β retire clauses simplified to
s = sso they cannot starve useful saturation clauses - certificate provenance β bind solver bytes, judge revision, result files, and table rows to immutable hashes
A Case Study on Model Checking and Runtime Verification for Awkernel
- line-by-line model-checking-assisted review β translate concurrent Rust control flow into Promela and inspect Spinβs exhaustive traces under explicit assumptions
- finite container and result abstraction β replace bounded
Vec/VecDequewith arrays andOption/Resultwith tagged records, grouping selected operations as atomic - guarded-process preemption model β split one interruptible task into context-state-guarded Promela processes
- time over-approximation with an IPI guard β allow preemption at any model point and block repeated IPIs with a completion flag
- task-class under-approximation β use Light and Heavy task automata and run fixed parameter sets separately to control state explosion
- DFA runtime transition monitor β embed one deterministic task model per task and check every state-changing event in the Rust implementation
- model-checked race repair β mark the intended task with
need_sched, cancel stale preemption, and re-check the existing waiting-task behavior
A Case Study on Emergent Cheating and Whistleblowing in Autonomous Research Swarms
- semantic-boundary auditing β test parser, elaborator, namespace, and contract checks against adversarial rewrites
- isolated elaboration β compare the resolved theorem or Verus contract with an independent target in a clean environment
- provenance quarantine β withhold shared-library publication until verifier, specification, and revision evidence are recorded
- incident governance β freeze, audit, revoke, and reopen artifacts through explicit enforcement tools
A case study in formal verification of a Java program
- tool feature triage: classify bounded, SMT, interactive, and embedded-prover tools by specification needs
- iterative annotation repair: inspect source-linked obligations and add invariants, preconditions, or frame facts
- abductive diagnosis: propose assumptions that make a failed obligation provable, then review them
A Bi-Directional Extensible Interface Between Lean and Mathematica
- bidirectional syntax reflection β serialize proof-assistant and CAS ASTs with extensible translation rules
- binder-aware environments β preserve variable identity across lambda and binder translation
- certificate checking β use external computation for search and the proof assistant for final validation
- arithmetic oracle β import Farkas coefficients and check them with a trusted arithmetic tactic
- unverified exploration modes β use counterexample search, notebook display, or axioms with explicit trust cost
- reverse proof querying β let an external tool inspect declarations and consume proof terms from the assistant
A benchmark for C program verification
- feature-stratified verification benchmark β organize programs by semantic feature, source granularity, and increasing real-world scale
- four-part verification score β separately score defined behavior, functional correctness, valid source, and unchanged implementation
- explicit assumptions and contracts β state implementation restrictions, input preconditions, and behavioral postconditions
- staged toy-to-production evaluation β progress from fragments through functions and files to multi-file library code
A Basis for Verifying Multi-threaded Programs
- fractional permission contracts β transfer read and write fractions through preconditions and postconditions, combining fractions before mutation
- monitor invariants β guard shared state with permission-carrying invariants checked at share, acquire, and release
- hand-over-hand locking β traverse linked structures by acquiring the successor before releasing the predecessor while preserving split invariants
- dense dynamic lock order β store ordered ranks, require ascending acquisition, and reorder only with exclusive ownership
- SMT verification conditions β translate permission and concurrency proof obligations into first-order formulas for automated solving
Abstract Refinement Types
- abstract predicate parameters: quantify over an uninterpreted refinement and instantiate it with a concrete invariant
- index-dependent refinements: parameterize a map or vector by valid-index and index-to-value predicates
- recursive refinements: encode ordering, uniqueness, and tree relations in recursive constructors
- measure strengthening: add terminating measure equations to datatype constructors
- inductive fold type: quantify over the relation a fold preserves and instantiate it for clients
- liquid refinement inference: synthesize predicate instantiations from qualifiers with SMT and abstract interpretation
Fuzzing Class Specifications
- class-specific grammar fuzzing β specialize a typed assertion grammar to a class and randomly generate bounded candidate contracts
- dynamic invariant detection β run generated tests and keep candidates not falsified at observed program points
- weak-assertion mutation filtering β discard candidates that kill no enabled synthetic mutant
- mutation-equivalence clustering β group candidates by identical killed-mutant sets and choose representatives
- mutation-failure ranking β rank each cluster by the number of mutant/test failures to prioritize stronger-looking candidates
Proving Properties of Sorting Programs: A Case Study in Horn Clause Verification
- CHC relational encoding β translate recursive functional code and a negated property into constrained Horn clauses
- inductive-data elimination β use fold/unfold transformations to remove list or tree arguments before SMT solving
- difference-predicate lemma generation β add predicates relating mismatched intermediate outputs so folding preserves satisfiability
- model-to-lemma extraction β interpret the solverβs LIA model as the arithmetic lemma needed by an inductive proof
- branching-recursion decomposition β create separate difference predicates for each recursive branch and combine their folded relations
Verified Secure Compilation for Mixed-Sensitivity Concurrent Programs
- value-dependent noninterference: compare low-observable behavior of paired concurrent executions under a changing mode state
- cube secure refinement: relate source and target configurations with a refinement relation and concrete coupling invariant
- decomposition with pacing: replace the cube by square simulation plus equal stopping, equal pacing, and lockstep coupling obligations
- stable expression compilation: track register expressions and reject source programs that evaluate unstable shared data
- no-high-branching preservation: carry equal control-flow and program-counter relations from source to target
- whole-system composition: combine per-thread confidentiality, lock compliance, and no-locks-held initialization into a system theorem
- mixed-sensitivity case study: classify shared buffers by control-dependent sensitivity and compile three verified threads to RISC
Formal Verification of Spacecraft Control Programs Using a Metalanguage for State Transformers
- explicit state-transformer semantics β model every machine component as a symbolic state and compose instruction transformers
- bounded symbolic simulation β execute a fixed number of cycles while merging halted and continuing symbolic states
- counterexample-guided contract refinement β quantify inputs, prove an SMT postcondition, then strengthen assumptions from a counterexample
- equivalence checking β prove optimized low-level code returns the same result as a typed reference on all constrained inputs
- timing optimization β add clock costs and use SMT minimization/maximization to obtain best and worst execution witnesses
Formal verification and validation of run-to-completion style state charts using Event-B
- run-to-completion Event-B basis: encode trigger queues and completion phases in a reusable abstract machine
- trace-preserving state-chart refinement: strengthen guards, add concrete actions, and embed nested state charts
- invariant-at-earliest-level proof: place safety predicates at the first refinement where they are expressible and preserve them afterward
- lexicographic convergence variants: combine state, queue, and trigger measures to prove termination under fairness
- unless plus temporal response: prove a precondition persists until a response and combine it with eventual trigger dequeue
Proving Equivalence Between Imperative and MapReduce Implementations Using Program Transformations
- equivalence chain: prove a source and target through user-selected intermediate programs, one adjacent equivalence obligation at a time
- indexed loop to map: replace independent indexed writes with
mapafter syntactic independence and length proofs - relational coupling invariant: relate two program states and prove corresponding loop bodies preserve the relation
- range removal: replace index-range iteration with direct element iteration when the index is used only for lookup
- local contribution extraction: map each record to keyed contributions and couple the generated tuples to the original computation
- nested-loop flattening: replace nested folds by a fold over concatenation, then expose
flatMap - grouped keyed reduction: replace indexed updates with grouping plus per-key fold while preserving absent accumulator entries
- reduceByKey abstraction: use a framework keyed reducer whose specification expands to group, map, and fold
Reasoning About Vectors using an SMT Theory of Sequences
- sequence vector encoding β model dynamic vectors with native length, indexing, concatenation, and update terms
- BASE sequence calculus β saturate sequence/arithmetic constraints with normal forms, propagation, splitting, and reductions
- EXT array-style calculus β add read/update distribution, bounds, and matching rules for vector operations
- solver integration and evaluation β schedule rules in cvc5 CDCL(T) and compare solved counts and common-instance time
Higher-Order Constrained Horn Clauses and Refinement Types
- higher-order CHC encoding: represent function graphs and higher-order arguments as relational variables and branch clauses
- monotone logic-program reduction: collapse clauses to recursive definitions and solve their least monotone fixed point
- adjoint semantic embedding: translate monotone relations to standard relations so solvability is preserved
- refinement-type invariant synthesis: infer first-order refinements for higher-order relation variables and check a false goal
- CHC automation via SMT: reduce type unknowns to first-order constrained Horn clauses solved by Z3
- higher-type complement goals: recursively construct a goal term for the complement of a refinement type
Proof-Pattern Recognition and Lemma Discovery in ACL2
- fixed-size term-tree features β encode theorem syntax by arity and depth into a 49-value dense vector for scalable clustering
- recurrent definition clustering β assign adaptive numeric symbol values from recursively clustered prior definitions
- analogy mapping β map non-background source symbols to same-cluster target symbols while preserving shared symbols
- three-level term mutation β try reconstruction, bounded node expansion, then top-level tree expansion with counterexample checks
- staged JVM correctness decomposition β separate algorithm specification, program-implementation correspondence, and total bytecode correctness
Decidability and Synthesis of Abstract Inductive Invariants
- abstract inductive invariant principle: reduce existence of a domain-restricted invariant to a least fixpoint of the best correct abstract transformer
- least-fixpoint synthesis: iterate the abstract transformer from the initial abstraction until a post-fixpoint or a target violation
- constant-propagation BCA: compute exact abstract effects of affine assignments and linear guards in the finite-height constant domain
- affine-equality synthesis: iterate affine-subspace transformers and joins to derive Karr-style linear relations
- completeness audit: test pointwise transfer completeness before claiming abstract and concrete fixpoints coincide
- co-inductive backward synthesis: compute a greatest fixpoint by repeatedly intersecting safety, predecessor, and abstract-avoidance facts
- domain expressiveness diagnosis: report when no invariant exists in the selected abstract domain under its computability assumptions
A case study on parametric verification of failure detectors
- symmetry cutoff by index projection β prove that one- and two-process instances preserve the relevant LTL\X properties of every N-process instance
- message-buffer abstraction β encode ages as predicates or counters and merge messages older than Ξ
- relative-speed counters β represent partial synchronyβs Ξ¦ bound through scheduler counters and inactivity constraints
- liveness-to-safety reduction β add auxiliary state so eventual accuracy/completeness become inductive safety invariants
- counterexample-guided invariant discovery β use fixed-parameter TLC/APALACHE/FAST traces to shape generalized IVy invariants
- parametric inductive proof β prove quantified, nonlinear invariants for arbitrary Ξ and Ξ¦ in IVy
A Constructor-Based Reachability Logic for Rewrite Theories
- rewrite-theory modeling: represent states as algebraic terms modulo equations and concurrent steps as rewrite rules
- constrained constructor patterns: describe symbolic sets of states with constructor terms plus quantifier-free constraints
- stop transformation: add a stopped-state constructor and rule to turn invariants of nonterminating systems into reachability formulas
- step and axiom proof rules: use symbolic one-step rewriting, subsumption, and trusted lemmas to prove all-path reachability
- constructor unification automation: combine finitary matching with satisfiability checks to generate proof branches
- invariant corollary: reduce an invariant to initial inclusion and an inductive renamed-pattern reachability obligation
Verification of a Generative Separation Kernel
- conditional parametric refinement β prove one parameterized concrete program refines one parameterized abstract program under a predicate R, then check R for every generated instance
- combined-state gluing proof β run abstract and concrete operations in a joint proof artifact and preserve a gluing relation with equal outputs
- explicit virtualization model β represent VMX state, VMCS fields, instructions, page tables, and translation as ordinary modeled state
- sparse policy condition checker β check injectivity, permissions, validity, contents, and parameter consistency over contiguous used components in O(Nu + P) per subject
- security-by-refinement β derive no exfiltration, no infiltration, temporal separation, and effective kernel integrity from simulation plus injective mappings
Isomorphic Data Type Transformations
- relativized isomorphism: prove representation-preserving conversions and inverse equations under old and new predicates
- isodata initiation: generate a converted recursive or nonrecursive function plus bidirectional relationship and termination theorems
- propagate-iso: traverse interface callers and lift a base isomorphism through records, lists, and other containers
- conversion simplification: rewrite generated conversion wrappers into direct operations using interface and inverse lemmas
- loop re-indexing: use a finite-domain bijection to reverse iteration direction while preserving results and termination
- cached-record refinement: add derived fields, constrain them with an invariant, and incrementally maintain them in transformed mutators
- proof-hint fallback: try transformed hints, then instantiate old theorems through inverse conversions, with user hints as a final fallback
Polynomial invariants by linear algebra
- solvable-loop linearization: replace polynomial monomials with terminating affine updates after a dependency-graph solvability check
- bounded-degree elevation: add only monomials needed to seek invariants through a chosen degree, with a
choose(n+d,d)upper bound - dual-eigenspace invariants: compute eigenvectors of the transposed update matrix and normalize them with the initial state
- rationalization by products: elevate to monomial products so multiplicative eigenvalue relations produce rational invariants
- multiple-body intersection: intersect each loop bodyβs invariant eigenspaces to obtain invariants preserved by nondeterministic choice
Model-Guided Synthesis of Inductive Lemmas for FOL with Least Fixpoints
- systematic quantifier instantiation β enumerate bounded foreground terms and use SMT unsatisfiability to prove first-order obligations
- type-1/2/3 countermodels β distinguish target relevance, semantic falsity, and failure of inductiveness
- fossil synthesis loop β alternate target proof, grammar-bounded lemma synthesis, PFP checking, and countermodel accumulation
- least-fixpoint rank models β encode exact recursive predicate semantics in bounded SMT counterexamples
- ground Boolean synthesis β turn finite grammar production choices and model constraints into a quantifier-free solver query
Primrose: Selecting Container Data Types by Their Properties
- refinement property types: combine trait interfaces with semantic predicates so application code names behavior instead of an implementation
- model-based library contracts: specify concrete containers with Hoare triples over an abstract list and an abstraction function
- forward simulation and completeness: require concrete operations to correspond to deterministic abstract model operations
- non-vacuous SMT selection: check every operation for property preservation and require a satisfiable precondition/property state
- property-based contract validation: test concrete implementations against model specifications with generated inputs
- verified-then-benchmarked generation: generate one program per valid implementation and rank only after semantic filtering
Refinement Type Contracts for Verification of Scientific Investigative Software
- executable refinement types: define scientific value predicates and check them on function entry and exit
- relational contracts: state cross-argument, input/output, and prior-call hyperproperties in Python predicates
- reservoir-sampled hyperproperty monitoring: retain a uniform sample of calls to bound memory while checking relational behavior
- refinement-driven test generation: generate valid inputs from type predicates and run each functionβs contracts
T2: Temporal Property Verification
- llvm transition extraction: compile C through LLVM and translate basic blocks into integer guarded transitions
- horn-clause safety proving: reduce locations and assignments to constrained Horn clauses solved by Impact, GPDR, or Spacer
- lexicographic termination synthesis: alternate safety checks and rank-function synthesis using counterexamples
- recurrent-set nontermination: witness an infinite execution by finding a set that can return to itself
- CTL precondition synthesis: compute location predicates bottom-up and verify the reduced formula
- fairness and CTL-star reduction: use prophecy or prediction variables to reduce richer temporal logics
Towards a Mathematics Formalisation Assistant using Large Language Models
- input-dependent few-shot prompting: retrieve semantically and by keyword relevant library examples and place them before the target declaration
- elaboration filtering: parse and elaborate many candidates, then retain valid outputs for correctness review or deterministic selection
- commented proof translation: interleave natural-language proof steps with formal steps to improve repairability
- proof outlines with premises: expose intermediate
have-style obligations and their supporting lemmas before filling details - multi-sample repair workflow: sample at several temperatures, grade candidates by formal validity and repair effort, and keep the best verified result
- library-aware postprocessing: translate version-specific identifiers, apply constrained corrections, and reparse before checking
Ilinva: Using Abduction to Generate Loop Invariants
- theory-generic implicant abduction: search bounded conjunctions of abducible literals that entail a failed verification condition
- lazy assertion-directed strengthening: start loops at
β€and strengthen only invariants needed for a selected assertion - induction repair: use abduction plus forward strongest-postcondition propagation to make strengthened invariants inductive
- path back-propagation: transport an assertion-site hypothesis to earlier loops with weakest preconditions
- search control: order literals by complexity and use bounds, pruning, disjunction limits, and iterative deepening
Diffy: Inductive Reasoning of Array Programs using Difference Invariants
- Q-and-peel transformation β replace N-bound loops by Nβ1 loops plus a lower-depth peeled fragment
- cross-product difference invariants β relate corresponding variables of two synchronized executions with dataflow equalities
- inductive strengthening β prove base cases, eliminate old-state variables, and iterate weakest-precondition strengthening
- parametric array verification β evaluate the transformed proof on symbolic-size safe and unsafe benchmark suites
Structural Invariants for the Verification of Systems with Parameterized Architectures
- parameterized Petri-net semantics: instantiate each universe as a 1-safe net whose transitions are minimal interaction models
- ILΞΊ-to-WSΞΊS translation: encode successor-based interactions and component-place sets in decidable weak monadic second-order logic
- structural trap invariant: derive a universal invariant from preset/postset preservation without fixed-point iteration
- parameterized trap query: prove every instance by unsatisfiability of marking, trap-invariant, and negated-safety formulas
- structural one-invariant refinement: use initial and unique-intersection conditions to add linear invariants
- combined trap/one-invariant checking: intersect both overapproximations before testing the safety property
Formal Modelling, Testing and Verification of HSA Memory Models using Event-B
- refinement hierarchy: prove increasingly concrete weak-memory models preserve an abstract Issue/Observe specification
- po/co/hb observation ordering: encode program, coherent, and happens-before constraints on memory observations
- litmus refinement and model checking: generate fixed-thread Event-B instances and exhaustively check register outcomes
- coverage-guided test generation: track legal register combinations and use ProB to emit regression sequences
Automated verification of practical garbage collectors
- ghost abstract/concrete simulation β map physical addresses to an abstract object graph and preserve the mapping invariant
- tri-color mark-sweep proof β maintain no-black-to-white edges through mark, sweep, and allocation loops
- region-based copying proof β use monotone source/target regions to localize moving-pointer invariants
- trigger-directed SMT automation β choose and assert quantifier triggers to control useful instantiation
- verified subset translation β verify an x86-like source subset, then translate while rejecting unsupported ghost behavior
- specification testing β test the ghost model with smoke proofs and runtime assertions to expose specification bugs
Satisfiability Modulo Transcendental Functions via Incremental Linearization
- uninterpreted-function abstraction loop β replace transcendental terms by UF applications and add sound axioms until the model is eliminated or satisfiability is lifted
- Taylor remainder envelopes β compute rational lower and upper polynomials to a requested precision
- concavity-guided tangent and secant refinement β add local piecewise-linear lemmas oriented by function curvature
- periodic canonicalization β reduce sine arguments to a bounded base period with symbolic Ο bounds and shift lemmas
- three-way solver outcomes β preserve SAT, UNSAT, UNKNOWN, and budget exhaustion as distinct results
Learning to Prove Theorems via Interacting with Proof Assistants
- interactive proof-state corpus: serialize goals, contexts, environments, proof trees, and tactics from compiled projects
- synthetic intermediate proofs: turn subgoals into standalone short proofs with earlier goals as premises
- AST tactic generation: decode grammar-constrained tactic trees with semantic argument selection
- verifier-in-loop search: execute candidates, backtrack on failures, and replay successful proof scripts
- portfolio proof automation: combine learned tactic proposals with external automated tactics
Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation Logic
- dependent separation protocols: attach dependent send/receive streams and resource propositions to channel endpoints
- resource-carrying delegation: transfer references, functions, or channel endpoints by placing their ownership assertions in message propositions
- guarded recursive protocols: use contractive recursive protocol states to verify repeated services
- asynchronous subprotocols: prove safe send-before-receive reorderings and extensional protocol composition
- protocol-indexed invariants: index a fine-grained protocol by sent and received histories to preserve sortedness and permutation facts
- lock and ghost accounting: share endpoint protocols with lock invariants and authoritative contribution tokens
Explaining Counterexamples with Giant-Step Assertion Checking
- model-guided counterexample generation β turn a failed SMT model into source-location values for replay
- giant-step assertion checking β replace calls and loops with oracle-supplied writes while checking contracts and invariants
- two-stage failure classification β use ordinary RAC for non-conformance, then giant-step RAC for weak contracts or invalid models
Rusty Variation: Deadlock-free Sessions with Failure in Rust
- dual session types: encode message direction, payload, and continuation in nested
Send,Recv, andEndtypes with an involutiveDual - affine cancellation: interpret endpoint drop as cancellation, propagate disconnection through
Option, and warn on accidental drops with#[must_use] - typed branching: encode choices as enum-labelled continuation sessions and cancel the consumed continuation after asynchronous selection
- homogeneous selection: select among same-typed receiving endpoints while removing the chosen continuation from the vector
- one-shot channel implementation: send each continuation endpoint with its payload and emulate synchronous close with two unit channels
On Deciding Local Theory Extensions via E-matching
- local-theory restriction β decide quantified extensions using only instances over existing ground subterms
- incremental E-matching β emit new equality-aware axiom instances during SMT search and stop when saturated
- hierarchical extensions β compose local theory layers for arrays, reachability, framing, and program facts
- staged instantiation β delay auxiliary terms and prioritize cheap equality cases to reduce blowup
- EPR hybrid solving β reduce a local theory to EPR with E-matching, then use complete model-based instantiation
Computer-Assisted Verification of Four Interval Arithmetic Operators
- layered numeric contracts β verify validity, enclosure, tightness, and exceptional cases as separate postconditions
- solver-supporting lemmas β add triggered real-number lemmas for nonlinear floating-point VCs and prove hard ones interactively
- NaN-aware extrema β define min/max operators and case predicates that make all-NaN behavior explicit
- VC splitting β compare unsplit, exhaustive, and cost-optimal decomposition of generated proof obligations
- proof extraction boundary β separate verified WhyML logic from trusted runtime rounding and extraction code
Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers
- finite-domain monomial linearization: abstract each nonlinear product with a fresh variable and add value-by-value case clauses
- core-guided relaxation: enlarge bounds selected by unsatisfiable cores, with fixed increments
- Max-SMT model guidance: minimize violated artificial bounds and enlarge each selected domain to the modelβs value
- OMT distance guidance: minimize summed distance outside artificial intervals before extending bounds
- lexicographic Max-SMT: solve artificial-bound consistency before minimizing original soft-clause cost
- Motzkin certificate reduction: eliminate restricted existential-universal polynomial arithmetic with nonnegative multiplier witnesses
Verified Rust Monitors for Lola Specifications
- dependency-driven monitor compilation: analyze shifts, memory bounds, phases, and evaluation layers before emitting Rust
- ghost-memory correspondence: relate a bounded executable ring buffer to an unbounded semantic history with a loop invariant
- generated proof scaffolding: emit function contracts, loop invariants, and local assertions for every lookup and update
- phase-specialized execution: separate prefix, steady loop, and postfix code so statically known missing accesses use defaults
- layer-based parallel evaluation: run pure, incomparable stream computations concurrently and join before committing a layer
- solver-backed validation: treat successful verification, timeouts, and exposed arithmetic assumptions as separate measured outcomes
An Update on Deductive Synthesis and Repair in the Leon Tool
- recursive-call introduction β generate one structurally smaller recursive argument and expose its result to later synthesis rules
- attributed term grammars β canonicalize size, associativity, commutativity, groundness, and neutral-element choices before generation
- symbolic term exploration β enumerate candidates by size, test concretely, and validate symbolically with SMT
- counterexample-guided test growth β add solver counterexamples to a prioritized concrete test base
- specification-driven repair β synthesize or repair code only when the resulting candidate satisfies formal contracts
Verifying C11-Style Weak Memory Libraries via Refinement
- operational weak-memory semantics β combine thread steps, per-thread observations, and abstract or concrete library transitions
- observation assertions β express possible, definite, conditional, covered, and hidden method observations
- Owicki-Gries stability β prove local Hoare triples and that every concurrent command preserves other threadsβ assertions
- contextual refinement β require every concrete client trace to be matched by an abstract trace with no new client observations
- forward simulation β relate abstract and concrete states and classify implementation steps as stuttering or matching
- weak-memory object specification β use timestamped operations, matching relations, and view transfer for queues and stacks
- invariant-guided Treiber verification β preserve linked-order, address-set, and view invariants and map concrete nodes to abstract operations
Proving and Disproving Programs with Shared Mutable Data
- dynamic effect sets β specify recursive mutable methods with ghost read/write representations and termination measures
- functional abstraction contracts β connect in-place mutation to a pure sequence/list result using old-state postconditions
- quantifier-free heap encoding β translate mutable references to pure heap maps and Z3 array combinators
- modular frame checking β use wrappers and map-merge equations to enforce caller/callee footprint inclusion
- disjoint-task specification β require cross-read/write disjointness before replacing sequential fork-join models with parallel execution
Verifying Safety Properties With the TLA+ Proof System
- hierarchical proof decomposition β break system invariants and refinements into named intermediate steps and leaf obligations
- obligation dispatch β flatten modules, resolve definitions and references, and route each leaf to an appropriate backend
- certifying backend chain β have a proof-producing prover emit scripts checked by a trusted proof assistant
- explicit non-certifying boundary β record SMT and decision procedures that automate obligations without a checked proof
- finite model-checking preflight β test bounded instances and assumptions before investing in an unbounded proof
Verifying C11-Style Weak Memory Libraries
- modular timestamp semantics β separate client and library states while propagating release-acquire views across components
- abstract synchronizing methods β specify lock operations with timestamps, return values, and cross-state view updates
- observation assertions β encode possible, definite, conditional, covered, and hidden weak-memory observations
- Owicki-Gries stability β combine local Hoare reasoning with interference-freedom checks
- contextual trace refinement β compare stutter-free concrete client traces with abstract traces by observation inclusion
- forward simulation β classify concrete steps as stuttering or matching abstract operations
Hemiola: A DSL and Verification Tools to Guide Design and Proof of Hierarchical Cache-Coherence Protocols
- serializable protocol DSL: restrict topology, channels, and rule templates so every legal protocol has a sequential transaction explanation
- implicit directional locks: replace transient-state combinations with automatically managed uplocks and downlocks
- predicate messages: attach state predicates to live messages and prove them as atomic invariants
- transaction-level invariant proof: prove one transaction preserves the invariant, then lift through serializability
- verified protocol compilation: compile a single-line protocol to a multiline Kami implementation and synthesize hardware
Future-based Static Analysis of Message Passing Programs
- future protocol abstraction: write process-algebra terms that predict each processβs communication actions and compose them in parallel
- FIFO network process: model one queue per rank pair with guarded enqueue, head check, and dequeue transitions
- future Hoare linkage: consume a future prefix when verifying the corresponding concrete send, receive, broadcast, or barrier
- permission-based future splitting: divide a parallel future and its permission among threads, then prove each local fragment
- parameterised global check: model
Ncopies of a process with the network, broadcast, and barrier processes and check safety or liveness
Refining Existential Properties in Separation Logic Analyses
- abduction diagnosis: compute a missing precondition backward from an abstract error to expose the fact needed for safe execution
- multiset-parametric abstraction: refine a finite heap abstraction by adding selected values or addresses while preserving soundness and termination conditions
- forward/backward mismatch selection: compare sufficient backward states with forward states and select equalities whose symbols were erased
- ART recomputation: delete the subtree below a refinement point and recompute it under the stronger abstraction
- value-refined list domain: preserve lower bounds for selected list values while abstracting other data
- address-refined list domain: protect selected heap locations from list folding
- sorted-list refinement: combine interval sortedness with selected-value multiplicities
- conditional progress/completeness: require exact forward transfer, precise backward transfer, and a sufficient selector for termination guarantees
TacticToe: Learning to Reason with HOL4 Tactics
- tactic-call recording β transform existing scripts into goal-associated tactic training examples
- feature-based k-NN prediction β rank tactics from TF-IDF similarity of goal features
- A*-guided tactic search β explore tactic proof trees with learned costs and reconstruct with
THENL - small-hammer integration β combine tactic prediction with premise selection and Metis
Deadlock-free asynchronous message reordering in rust with multiparty session types
- asynchronous-subtype AMR: optimize participant FSMs by reordering queued actions, then prove each is an asynchronous subtype with a bounded, terminating, sound checker
- Rust linear session API: encode states, labels, continuations, and
Endin affine Rust types so process code cannot reuse or discard a session - k-MC bottom-up verification: serialize developer APIs to FSMs and globally check compatibility when no global type is supplied
- hybrid protocol workflow: combine global projection with developer-written APIs and local subtype checks
AutoProof: Auto-active Functional Verification of Object-oriented Programs
- auto-active contracts β combine push-button SMT proving with user-supplied contracts, loop invariants, and variants
- semantic collaboration β maintain invariants over collaborating heap objects with ownership and framing annotations
- mathematical model library β specify abstract sets, sequences, bags, maps, and relations separately from implementation
- two-step diagnostics β use bounded under-approximation after failure to suggest missing inductive invariants
- translation pipeline β lower an annotated object language through an intermediate verification language to SMT conditions
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives (full version)
- randomized local search β mutate code choices and retain candidates selected by target-machine timing
- bet-and-run budgeting β explore many short starts, then spend the main mutation budget on the best run
- verified translation validation β prove an independent checker that relates source IR and generated machine code
- symbolic execution with shared E-graphs β execute both programs into canonical expressions and compare representatives
- bounded assembly semantics β restrict syntax, pointers, and control flow so the equivalence theorem remains tractable
Horn-ICE Learning for Synthesizing Invariants and Contracts
- Horn implication samples β return multi-premise counterexamples when a verification condition fails
- decision-tree invariant learning β synthesize Boolean predicate combinations consistent with Horn samples
- Horn-Solve propagation β test partial labels and compute forced true/false points before splitting
- constraint-aware attribute gain β penalize tree splits that cut Horn premises from conclusions
- predicate enumeration β grow a finite predicate set until a consistent invariant is found when expressible
- concurrent Horn contracts β encode rely/guarantee, stability, and OwickiβGries obligations as Horn clauses
Insider threats and auctions: formalization, mechanized proof, and code generation
- inductive trace closure: specify all protocol executions as the least event-set closed by normal and attacker rules
- inversion security proof: prove trace properties by induction, splitting on each constructor and eliminating impossible cases
- insider framework: model colluding rational actors with explicit state predicates and economic assumptions
- constructive predicate refinement: replace abstract keys and infinite existential choices with a finite key list and a computable winner function
- proof-carrying code extraction: prove the executable checker refines the inductive specification before exporting Scala code
A Tool for the Certification of PLCs based on a Coq Semantics for Sequential Function Charts
- certificate-producing semantics compiler β generate a human-readable formal state machine, property, and independently checkable proof from an SFC model
- inductive reachable-state invariant β prove the initial state and every allowed transition preserve the desired property
- transition-case proof decomposition β split logical structure, normalize arithmetic, enumerate guards, and discharge each control-flow case
- generic-plus-generated proof infrastructure β reuse static semantics and tactics while generating model-specific transitions and lemmas
- trusted-base separation β trust only the checker and model representation while treating proof hints and proof generation as untrusted inputs
- non-arithmetic reachability lemmas β prove impossible guards prevent states or force a specific successor under system preconditions
Contract Strengthening through Constrained Horn Clause Verification
- contract-to-CHC translation: encode function behavior and contract violations as constrained Horn clauses whose satisfiability implies validity
- ADT elimination by catamorphism transformation: remove recursive data terms with a sound
Tcatatransformation to basic-sort clauses - model-guided postcondition strengthening: translate solver models of introduced predicates into stronger function postconditions
- partial model strengthening: keep only a sufficient subset of model facts to reduce proof time while documenting the precision tradeoff
- cross-verifier contract repair: use CHC/SPACER to derive contracts that a primary verifier such as Stainless can prove
- soundness-conditional extraction: require valid original contracts, sound transformation, and a satisfiable model before accepting strengthened contracts
Exploiting Hierarchy in the Abstraction-Based Verification of Statecharts Using SMT Solvers
- hierarchy-preserving bit vectors β encode composite states, descendants, and parallel regions with prefix and segment bit vectors
- SMT transition encoding β translate source, target, event, guard, action, and initial state into k-step first-order formulas
- state and variable abstraction β hide descendants and variables while preserving an over-approximating abstract chart
- counterexample concretization β constrain bounded search to an abstract path and locate the first impossible prefix
- targeted CEGAR refinement β expand hierarchy at the failure state, then expose guard variables only when needed
- solver strategy comparison β combine MON, MOP, OAO, and BMC with Z3 to explore abstract reachability
Disjunctive Interpolants for Horn-Clause Verification (Extended Technical Report)
- counterexample-driven Horn predicate abstraction: initialize a weak ARG, extract a recursion-free counterexample, interpolate it, and repeat until closed or genuine
- disjunctive interpolation: assign shared-variable formulas to conjunctive/disjunctive subformulas so multiple paths refine together
- body-disjoint Horn reduction: normalize relation arguments and inline recursion-free clauses into an interpolation problem
- lazy and/or-dag expansion: expand only enough of shared counterexample structure to expose an unsatisfiable fragment
- and/or restructuring: factor common sub-dags below disjunctions before interpolation
- ARG-based recursive verification: maintain hyperedges over predicate sets and refine error edges with interpolant-generated predicates
Verification of Distributed Quantum Programs
- ownership-constrained rendezvous model β represent distributed processes with pairwise-disjoint mutable state and two-party matching channels
- probabilistic interleaving semantics β separate scheduler interleavings from probabilistic measurement branches with distribution-valued transitions
- schedule commutation and sequentialization β prove all legal interleavings share one denotation, then verify a deterministic sequential transformation
- cq assertion expectations β express classical predicates and quantum observables as operator-valued assertions with expectation-based Hoare triples
- partial-correctness distributed Hoare rule β verify initializers and every matched communication branch before concluding a
TERM-guarded postcondition - ranking-based total correctness β combine a preserved invariant with a decreasing assertion sequence or integer rank and a deadlock-to-termination implication
Scalable Verification of GNN-Based Job Schedulers
- forward-backward refinement β alternate sound forward transformers and LP-guided backward conditioning until the bad set is excluded or a complete solver is needed
- node abstraction refinement β verify many disjunctive node constraints through one embedding abstraction, then split the group on spurious counterexamples
- trace enumeration β enumerate feasible action prefixes and stop on a matching bad trace
- proof-transfer encoding β reuse unchanged graph/network structure across time steps while encoding only local feature updates
Break-It-Fix-It: Unsupervised Learning for Program Repair
- critic-filtered self-training β retain fixer outputs only when an external critic accepts them, then fine-tune on those pairs
- breaker-fixer cycle β train a bad-example generator and a repair model in alternating critic-checked rounds
- critic-guided ablation β measure separate value of real bad data, generated bad data, and acceptance filtering
Hammer for Coq: Automation for Dependent Type Theory
- learned premise selection β rank a small, goal-relevant fact set from statements and previous proofs
- dependent-logic encoding β translate CIC declarations and goals into untyped first-order ATP input
- checked reconstruction β replay ATP dependencies with proof-assistant search, rewriting, congruence, and forward reasoning
PA-Boot: A Formally Verified Authentication Protocol for Multiprocessor Secure Boot
- two-phase processor authentication: validate certificate chains, then authenticate AP identity and derive an encrypted session key
- abstraction refinement: prove concrete low-level traces refine a small high-level transition system before proving security properties
- trace-property induction: decompose normal, tampered, and man-in-the-middle guarantees into lemmas over all concrete runs
- model-to-code validation: extract executable model code and compare it with a reviewed implementation on matching attack scenarios
Statically verified refinements for multiparty protocols
- refinement-typed MPST: attach logical predicates to payloads and recursion state, then statically reject data-dependent protocol violations
- callback linearity: hide channels behind generated state callbacks so the runtime owns exactly-once communication
- erased latent facts: preserve unknown third-party values as proof-only refinements while preventing their computational use
- generated CFSM executor: generate hidden per-state runners that perform labels, payloads, callbacks, state updates, and termination
Katara: synthesizing CRDTs with verified lifting
- ordered sequential lifting β specify a sequential type plus
opOrderand synthesize CRDT behavior for ordered executions - bisimulation state equivalence β synthesize an inductive relation preserving transitions and query results
- semilattice convergence by construction β compose join-semilattices so merge is associative, commutative, and idempotent
- query-parameterized equivalence β compare only state projections relevant to a quantified query
- bounded-log pruning β reject candidates with finite operation logs before unbounded invariant synthesis
- typed SMT grammars β constrain generated expressions by specialized types and lower supported APIs to solver theories
- node-owned non-idempotent state β use node-keyed maps and reductions to synthesize counters and related operations
Desfuncionalizar para Provar
- closure datatype conversion: replace each known function value with a constructor storing its free variables
- apply dispatcher: interpret closure constructors by a first-order pattern-matching function with a translated postcondition
- state-indexed effect contracts: represent pre-state and post-state explicitly when closures mutate shared state
- continuation termination measures: prove transformed mutual recursion terminates with measures over data and continuation datatypes
- context defunctionalization: encode evaluation contexts as a datatype and prove composition properties by structural induction
How the Analyzer can Help the User Help the Analyzer
- first-aid diagnostics: show exact location, failed property, minimal sub-property, reason, and a concrete trace
- probable-cause tracing: walk backwards through modified variables, calls, and loops to identify missing frame facts
- pattern-based repair: suggest contracts, invariants, short-circuit guards, or quantifier rewrites for recognized cases
- proof-frame disclosure: explain unrolling, contract abstraction, and unavailable recursive definitions when they affect proof
- VC inspection: expose a proof tree, source-mapped goal, and commands for searching the logical encoding
- initialization invariants: state and prove that every progressively written element is initialized before it is read
Skipping Refinement
- skipping path matching: partition concrete and abstract fullpaths so one abstract state can cover many concrete steps
- well-founded skipping: discharge local successor obligations with stuttering ranks and bounded reachability
- reduced WFSK: use a rank-decrease or positive-length path rule equivalent to full skipping simulation
- buffered-system refinement: verify stack machines and memory controllers whose batch steps skip abstract operations
- translation validation: check scalar-to-SIMD compiler outputs by a bounded skipping relation
Model Checking in Bits and Pieces
- split invariants β conjoin per-process predicates and check only local and pointing-neighbor transitions
- auxiliary-state strengthening β expose history predicates such as the last owner when local pieces are too weak
- least-fixpoint generation β iterate monotone component transformers to obtain the strongest compositional invariant
- balance-based symmetry β compute one representative invariant for recursively matching neighborhoods
- local abstraction β map irregular concrete neighborhoods to small abstract domains and prove abstract-to-concrete safety
- parametric lifting β generalize a local invariant on a small abstract network to all process instances
Checking Data-Race Freedom of GPU Kernels, Compositionally
- access memory protocols: model each shared locationβs thread-indexed reads and writes as synchronized or unsynchronized behavioral types
- barrier aligning: normalize synchronized loops so barriers delimit iterations, preserving and reflecting DRF
- symbolic trace splitting: split aligned barrier intervals into independently checkable traces with quantified thread and loop variables
- SMT DRF reduction: translate traces to quantified index/mode constraints and require distinct indices whenever a write is present
- front-end well-formedness: infer protocols from SSA-sliced CUDA, normalize loops, and reject unsupported synchronization forms
HyperTree Proof Search for Neural Theorem Proving
- hypergraph proof search: recursively select a partial hypertree, expand valid tactics, and back-propagate all-child values until the root is solved
- online proof-search training: train policy and critic models continuously from minimal verified proofs and solved, invalid, and internal search nodes
- minimal-proof filtering: retain shortest proofs under an environment-specific step or CPU-time metric for policy training
- soft critic targets: train internal nodes on their final search value
W/Nrather than hard zero/one labels - stochastic search parameters: sample decoding and HTPS budgets per goal to balance depth, breadth, and model drift
- dependency-aware environment setup: use exact token formats, theorem DAGs, forbidden dependencies, and fixed evaluation versions before online search
A Concurrent Constraint Programming Interpretation of Access Permissions
- permission-flow lcc encoding β translate AP references, counts, method guards, and synchronization into linear constraints and processes
- adequacy invariants β prove reference-count, state-ordering, conflict, and concurrency correspondence between AP programs and lcc
- focused ILL reachability β translate lcc to ILLF and prove deadlock, concurrency, and method-contract properties as sequents
- most-general-choice consumption β make guarded linear-store transitions consume only the minimal information needed for entailment
- animator-plus-prover analysis β inspect one executable trace with Alcove, then use the theorem prover for all reachable configurations in the encoded model
A Short Counterexample Property for Safety and Liveness Verification of Fault-Tolerant Distributed Algorithms
- threshold-automaton abstraction: model replicated fault-tolerant processes with counters, monotone shared variables, and threshold guards
- canonical ELTLFT syntax: normalize temporal counterexample formulas into nested eventuality and invariance obligations
- cut-graph lasso enumeration: enumerate formula witness orders and threshold-guard orders
- steady-schedule decomposition: split lassos at guard-context changes into portions amenable to acceleration
- representative schedule shortening: reorder threads and accelerate repeated rules while preserving intermediate formula conditions
- parameter scaling: use a finite multiplier to handle conjunctions of disjunctions of nonzero-location tests
- SMT lasso checking: encode bounded schedules, loop closure, guards, and acceleration factors as linear integer arithmetic
Verifying that a compiler preserves concurrent value-dependent information-flow security
- compositional CVDNI: prove a per-thread strong-low-bisimulation under lock and environment assumptions, then compose the thread theorems
- secure-refinement decomposition: replace a cube-shaped relational proof with paced square refinement plus termination, timing, and coupling side conditions
- lock-based stability tracking: cache shared expressions only when the variable and every policy-control variable are protected, rejecting unstable accesses
- compiler pacing and coupling: classify target instructions with an abstract-step function and relate paired concrete runs at equal program counters
Thor: Wielding Hammers to Integrate Language Models and Automated Theorem Provers
- special-token hammer invocation: label hammer-solvable proof states during preprocessing and call the hammer when the model emits a dedicated token
- skeptical ATP filtering: use external provers to rank premises, then reconstruct and kernel-check the proof
- context-conditioned proof search: include recent proof actions and full current state when sampling candidate steps
- separated responsibilities: train the model to decide when to invoke automation while the hammer decides which premises to use
- diversity ablation: tune sampling temperature and report success with explicit theorem and trial denominators
- hybrid evaluation: compare model-only, hammer-only, their union, and the combined system to expose complementary coverage
Formal Mathematics Statement Curriculum Learning
- persistent proof-search REPL: expose initialization and tactic-application operations over a stateful formal environment for distributed workers
- proofstep objective: condition next-action generation on declaration context and current formal goal state
- proofsize value objective: predict discretized proof-length buckets and use their weighted value to guide search
- bootstrapped dual-objective training: build a value dataset from successful and visited failed searches, then fine-tune a base model
- deduplicated expert iteration: aggregate verified traces across rounds, retain minimum proof sizes, and retrain on accumulated data
- synthetic difficulty curriculum: generate statements with independent depth and obfuscation controls, then train from easy to hard
- curated transfer curriculum: add manually formalized statements that match the target distribution while checking split disjointness
KRust: A Formal Executable Semantics of Rust
- executable rewrite semantics: define language statements as K rules over nested state cells and generate an interpreter
- ownership-state modeling: track locations, mutability, moves, references, borrow status, and lifetimes in explicit configuration cells
- generated formal analysis: derive debugging, symbolic execution, model checking, and verification tools from the executable semantics
- contract instrumentation: add a resource or time cell and prove a Hoare-style bound with pre- and postconditions
- differential conformance testing: compare the generated interpreter with compiled Rust over counted official and hand-crafted tests
- semantic-state debugging: step rewrite rules and inspect configuration cells to explain program behavior
Invariant Synthesis for Incomplete Verification Engines
- cd-npi invariant synthesis β extract weakening, strengthening, or inductivity constraints from models of failed reduced verification conditions and iterate candidates
- cd-npi to ice reduction β map disjunctions, conjunctions, and inductivity pairs to positive, negative, and implication ICE examples
- houdini conjunction learning β compute the strongest conjunction consistent with propagated ICE examples and stop in at most n + 1 rounds when one exists
- natural-proof heap templates β instantiate shape, key, size, and heaplet predicates over program variables before learning heap invariants
- bounded-quantifier invariant learning β reduce quantified obligations to finite ground instances, then feed failed models into the same CD-NPI learner
Bounded Refinement Types
- bounded refinement bounds β constrain abstract predicates with logical relations so higher-order specifications remain modular
- ghost-function elaboration β translate each bound into a first-order ghost function and materialize it at use sites
- closure, witness, and induction bounds β specify composition, filtering, and folds through reusable relational obligations
- monotonic refinement inference β synthesize call-site predicates by solving positive Horn constraints with abstract interpretation
- schema-refined relational algebra β preserve database key and value invariants through typed dictionary and table operators
- RIO FloydβHoare indexing β encode stateful pre/postconditions, branches, and loops as bounded refinements
- capability framing β track resource privileges and preserve stable facts across recursive state transformations
IC3-Evolve: Proof-/Witness-Gated Offline LLM-Driven Heuristic Evolution for IC3 Hardware Model Checking
- slot-restricted code evolution β constrain each patch to named verifier heuristic slots with a small auditable diff
- proof/witness-gated promotion β independently check SAFE certificates and replay UNSAFE traces before scoring performance
- Compass&Jump search β rank evaluator moves by confidence, risk, and cost, then explore one or a few slots adaptively
- instrumentβgateβadapt heuristic design β measure progress, skip stalled work, and allocate budgets by observed yield
- regression-aware champion loop β benchmark under fixed timeouts, promote only improvements, and revert all failures with provenance
Towards SMT Solver Stability via Input Normalization
- ideal canonical normalization β enumerate permitted equivalent forms, erase names into patterns, and choose the lexicographically minimal form
- pattern/super-pattern normalization β sort assertions by name-independent patterns, tie-break with super-pattern roles, rename symbols, and sort again
- uniqueness and similarity evaluation β compare distinct normalized outputs and identical-line similarity across ten mutated versions per benchmark
- penalized-runtime stability β combine solved time and twice-timeout penalties into PR-2 and use MAD over ten seeds to measure variability
- DAG pattern compression β hash-cons repeated subterms so formula patterns retain sharing instead of expanding trees
- indexed super-pattern computation β index each symbolβs assertion occurrences and compute roles only where the symbol appears
- sparse super-pattern compression β store nonzero roles and zero-run counts to reduce memory and lookup cost on large formulas
Precise Reasoning about Container-Internal Pointers with Logical Pinning
- write classification for pointer stability β classify container writes as in-place or full and require in-place behavior for every exposed location that remains valid
- borrowable representation lifting β lift a base predicate to an option-plus-location state with Owned, Offered, Borrowed, and Missing cases
- explicit logical borrow and return β detach a selected subpart for local reasoning and restore its ownership at the same pinned location
- alias-list pinning β record every exposed alias and enforce equality with the canonical representation location
- compositional indirection β compose borrow and indirection transformers to model links, pointees, or both as borrowable
- borrowable recursive substructures β lift lists and trees so elements, tails, and subtrees can be independently exposed and transferred
- non-separating overlapping views β use a shared logical precondition for repeated lookups whose subtrees may overlap
- offered ownership for sharing and rotation β let one container retain ownership while another treats the same pinned subpart as borrowed
VASO: Formally Verifiable Self-Evolving Skills for Physical AI Agents
- semantic skill contracts β couple global/local temporal rules, proposition labels, and a reusable plan template
- feasibility filtering β model-check a universal proposition system to reject contradictory local rules before planning
- plan-to-automaton compilation β map ordered executable steps to labeled states and transitions for model checking
- textual-gradient refinement β convert violated formulas and traces into contract updates without changing model weights
- proposition-alignment auditing β measure and verify the mapping from concrete API behavior to symbolic propositions
Foundational Constraint Solving for Expressive Refinement Typing
- foundational CHC encoding β represent unknown refinements and loop invariants as existential Horn predicates interpreted by Lean
- Zap acyclic elimination β compute strongest acyclic solutions, rewrite constraints, and emit kernel-checkable certificates
- Fix predicate abstraction β instantiate qualifier templates and prune cyclic candidates with a sound oracle
- certificate construction β certify every solver rewrite with Lean proof terms rather than trusting a solver result
- Imp VC generation β synthesize loop-invariant obligations from entry, body, and exit conditions
- refinement CHC generation β derive universal subtype implications from dependent refinement types
- quantified memory invariant β define non-SMT invariants such as initialized ring-buffer indices in Lean
Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference
- validated specification benchmark β manually align executable programs with natural-language intent before model evaluation
- semantic-preserving robustness set β transform programs while preserving behavior and measure success flips
- three-outcome verification metrics β separate verifier pass, failure, and unknown, then report success and failure rates
- mutation completeness proxy β detect non-equivalent mutants to estimate whether specifications cover behavior
- structured prompting β compare zero-shot, few-shot, chain-of-thought, and least-to-most prompt controls
- diagnostic self-repair β classify verifier errors, provide targeted feedback, and iterate with bounded repair and mutation checks
Lessons Learned From Microkernel Verification β Specification is the New Bottleneck
- three-phase iterative verification β formalize requirements, add interface and loop annotations, verify modules locally, and repeat to a fixed point
- explicit concurrency requirements β model preemption and interference instead of treating sequential documentation as an exact contract
- requirement/auxiliary separation β keep externally promised contracts distinct from proof-support annotations for certification and maintenance
- bounded counterexample guidance β use inlining and bounded loops for early traces before complete deductive proofs
- abstraction with coupling invariants β define abstract state from client needs and prove its relation to concrete state
- local proof debugging β split proofs with assertions and control triggers, ordering, and preserved facts
- annotation refactoring β package recurring specifications and reduce annotation volume without hiding requirements
- evolution and regression β choose a change policy and rerun proof harnesses as production code evolves
Verified Code Transpilation with LLMs
- verified lifting pipeline β search for a semantic target summary, prove equivalence for all inputs, then generate concrete DSL code
- Python semantic IR β expose target operators in a familiar intermediate language to make LLM synthesis domain-independent
- parser-constrained generation β reject summaries that use operators outside the supplied DSL vocabulary
- few-shot invariant synthesis β prompt the model with operator semantics, source specification, and an invariant example
- two-phase summary/invariant generation β generate PS first and use it to guide loop-invariant synthesis
- prover-gated lowering β translate candidates to an automated prover and rewrite only verified summaries into executable target syntax
F-IDEs with Features and VCs Designed to Assist Human Reasoning When Verification Fails
- syntax-directed sequent VC generation β eliminate assertive code backwards, simplify sequents, and dispatch atomic obligations to a prover
- parsimonious assume with free-variable closure β retain only transitively relevant assumptions for each VC
- equality folding β substitute top-level equalities before final proving
- contradiction-aware stipulation β retain branch predicates so unreachable contradictory paths are visible
- interactive VC provenance β link each obligation to source constructs, statuses, and a derivation trace
Gobra: Modular Specification and Verification of Go Programs
- quantified separation permissions β specify heap access and functional updates with quantified permissions,
oldvalues, and loop invariants - structural interface implementation proofs β refine abstract interface contracts with concrete predicate definitions and ghost unfold/fold steps
- permission-carrying concurrency predicates β encode channel, lock, goroutine, and wait-group protocols as resource-transfer invariants
- modular intermediate encoding β hide representation through Viper-style abstractions, case-split interface predicates, and first-class predicate values
- annotation and verification measurement β report annotation/code ratios, per-example verification times, and seeded specification/implementation failures
Goedel-Code-Prover: Hierarchical Proof Search for Open State-of-the-Art Code Verification
- constructive lemma decomposition β check a parent reconstruction before spending effort on child proofs
- counterexample filtering β reject an entire decomposition when any proposed lemma fails randomized checking
- structural decomposition ranking β use operator footprints to reward smaller proof obligations
- hybrid proof policy training β reinforce decomposition while replaying verified completion trajectories
- hierarchical bounded search β decompose difficult goals, then refine leaf proofs with compiler diagnostics
Developments in Formal Proofs
- typed theorem kernel β make every theorem an abstract typed value constructible only through a small checked kernel
- end-to-end trust chain β verify kernel implementation, language semantics, compiler, and runtime assumptions down to machine code
- constructive proof refactoring β replace contradiction, choice, and nonconstructive algebra with induction, explicit constructions, and isolated classical predicates
- formal libraries and interfaces β encode implicit domain knowledge as reusable typed structures and closure lemmas
- proof-producing premise selection β rank a bounded set of relevant library facts and replay the generated proof in the assistant
- SMT case reduction β reduce symmetric finite cases to quantifier-free constraints and transcribe solver results into checked proofs
- reflective algebra automation β certify polynomial, linear-program, and nonlinear-inequality reasoning with proof-producing decision procedures
Sharpen the Spec, Cut the Code: A Case for Generative File System with SYS SPEC
- multi-part functionality specification β combine Hoare-style pre/post conditions, invariants, and algorithm intent for each module
- rely-guarantee modular synthesis β constrain context with module interfaces and regenerate dependents when guarantees change
- two-phase concurrency generation β synthesize sequential behavior first, then instrument and validate locking behavior
- DAG specification patches β evolve leaves through dependency nodes to roots whose unchanged guarantees permit atomic replacement
- compiler-validator-assistant loop β generate code, review it with a separate model, retry with feedback, and run regression tests
Lyra: Orchestrating Dual Correction in Automated Theorem Proving
- tool correction β retry a failed tactic with a fixed, verifier-tested heuristic list
- conjecture correction β append verifier diagnostics and the prior proof to a fresh repair instruction
- reset-round refinement β periodically regenerate from the original prompt to avoid compounding a bad proof
- dual-correction ablation β measure tool and conjecture repair alone and together on fixed validation/test denominators
A Learning Method for Symbolic Systems Using Large Language Models
- per-tactic strategy mining β explain each proof step, abstract reusable strategies in natural language, and formalize them later
- checked autoformalization β translate strategies into symbolic proof procedures and reject anything the prover cannot compile
- held-out generalization testing β insert each candidate into many external proof states, retain only non-no-op applications above a measured threshold
- theorem-indexed retrieval β retrieve source theorems with BM25 and use their associated tactics to overcome sparse tactic text
- And-Or tactic search β alternate ATP solving with candidate tactic application, requiring every generated subgoal to close
Improving Debugging in Verification-Aware Languages Through Automated Fault Localization: A Case Study in Dafny
- contract-derived independent tests β split contracts into solver-satisfiable cases, add boundary and anti-trivial constraints, and separate passing from failing executions
- snapshot fault localization β rank predicates at program locations when they hold in failures but not passing tests, combining dynamic and structural scores
- structure-aware counterexample ranking β augment traced lines with enclosing control nodes and rank by frequency, depth, and node type
- iterative multi-trace localization β block each discovered failing path, collect independent counterexamples, and rank their aggregate line evidence
- verifier-native versus LLM diagnostics β compare deterministic counterexample rankings with strict-output LLM line rankings under identical localization metrics
Verified Low-Level Programming Embedded in F*
- region-indexed state monad β model stack and heap ownership with liveness preconditions and postconditions
- Stack effect β require frame restoration and unchanged memory domain to rule out leaks
- refined buffer and struct views β encode lengths, slices, fields, and interior pointers in types
- pure-model refinement β relate optimized stateful code to mathematical functions through ghost interpretations
- abstract secret types β prevent secret-dependent branches and accesses while retaining ghost reasoning
- idealization flags β verify real and ideal cryptographic paths together, then erase ideal code
- trace reinterpretation β preserve side-channel traces across memory-layout transformations
- proof erasure and verified lowering β erase ghost code and prove a sequence of semantics-preserving translations
BlueprintRepair: Typed Local Edits for Failed Lean Proof Blueprints
- typed local blueprint repair β expose one schema-checked operation at a time for statement, node, edge, or proof edits while preserving untouched source
- graph-aware acceptance β require elaboration, target immutability, proof completion, no forbidden shortcut, and Actual(v) β Declared(v)
- post-run dependency audit β repeat compiled-proof dependency extraction on stored endpoints and record unused edges separately
- typed-versus-free-form evaluation β compare typed edits, atomic patches, and rewrites under matched source, feedback, model, and token/cost budgets
- trajectory artifact β retain accepted and rejected actions, diagnostics, graphs, tokens, costs, and final certificates for reproducibility
Next-Token Prediction Task Assumes Optimal Data Ordering for LLM Training in Proof Generation
- dependency-aware proof ordering β place each stepβs intermediate supervision before the step it explains
- verifier-backed intermediate-state scoring β validate tactics and every generated state in Lean rather than checking text
- order ablation β compare sequential, partially reversed, and fully reversed serialized proofs under matched data
- masked and curriculum controls β remove error snowballing and test whether bad order creates persistent spurious dependencies
Automated Verification of CountDownLatch
- paired latch resource predicates β split input/output ownership around countdown and await, with a separate abstract count
- thread-local counter abstraction β reason on per-thread lower bounds and normalize them into a precise shared count
- inconsistency-lemma race checking β flag remaining input resources or invalid zero-count operations as race errors
- wait-for graph deadlock checking β add latch ordering edges and reject cycles as deadlocks
Predicate Abstraction for Linked Data Structures
- alias/refinement separation β reason about heap shape and data predicates in independent type components
- path-sensitive Horn generation β turn branch environments, calls, returns, and heap updates into refinement constraints
- predicate-abstraction inference β solve unknown refinements as a least-fixpoint Horn solution over predicate templates
- fold/unfold recursive summaries β expose one list cell for updates and fold it back into a verified recursive invariant
- strong heap updates β propagate a calleeβs logical refinement to a uniquely owned mutable location
- inferred intermediate contracts β reduce annotation for helper procedures while preserving top-level specifications
- separation-logic soundness translation β interpret typing derivations as proofs of memory safety and assertion success
The Design and Algorithms of a Verification Condition Generator
- staged VC pipeline β normalize source through typed transformations and preserve inspectable intermediate representations
- passivation β replace assignments with versioned variables and assumptions to prevent exponential VCs
- weakest/strongest predicate transformers β compute backward or forward proof obligations with memoized flowgraph formulas
- hash-consed SMT backend β share terms, sort-check encodings, and unshare only with validity-preserving rewrites
- incremental VC pruning β simplify a new obligation using common structure with an old valid obligation
- semantic reachability β use satisfiable preconditions, dominators, and adaptive queries to detect dead, doomed, inconsistent, or unsound code
Dafny as Verification-Aware Intermediate Language for Code Generation
- contract-first dialogue β refine a formal Dafny specification through natural-language summaries before implementation
- verified intermediate representation β reject implementations until Dafny proves the agreed contract, then compile to the target language
- verifier-feedback loop β feed errors, warnings, invariants, and assertions back into bounded regeneration
- generated contract tests β use
generate-testsand inlined block coverage to exercise verified methods - opaque proof backend β filter Dafny artifacts while retaining verifier-backed internal state and diagnostics
LeanPlan: Optimal Planning with LLM-Generated Heuristics and Admissibility Proofs
- certificate-gated synthesis β reject generated verified code unless Boolean input assumptions pass
- local admissibility proof β prove goal awareness and transition consistency, then derive global optimality
- action-count lower bounds β count unavoidable operations and prove each transition decreases the count by at most cost
- max-combined relaxations β combine overlapping lower bounds with
maxto preserve admissibility - checked distance tables β use BFS tables only after verifying the distance properties the proof consumes
- automated candidate acceptance β rebuild code, proofs, certificates, and performance before accepting an agent artifact
Selene: Pioneering Automated Proof in Software Verification
- lemma isolation β build a target theory beside a cached dependency theory so each generated proof verifies quickly
- project-level proof benchmark β sample real-system lemmas by proof style and enforce a real prover check
- similar-lemma retrieval β use BM25 chunks while withholding the targetβs ground truth
- dependency-fact retrieval β expose source locations of facts used by a known proof
- diagnostic fixing β feed prover errors into a second proof-generation round
Ax-Prover: A Deep Reasoning Agentic Framework for Theorem Proving in Mathematics and Quantum Physics
- role-separated verifier loop β orchestrate a Prover and an independent final Verifier with bounded feedback
- incremental formalization β turn a natural-language sketch into checked intermediate obligations one step at a time
- MCP environment grounding β expose file, goal, search, and diagnostic tools through a controlled interface
- conservative verdict policy β accept only compiled, placeholder-free artifacts under explicit diagnostic rules
- domain-shifted benchmarks β test custom scientific or systems definitions absent from training data
- researcher-in-the-loop verification β let experts set assumptions while agents handle formal proof engineering
ProsaBuddy: Assisting Mechanized Real-Time Schedulability Analysis with LLM-based Agents
- retrieval-backed ReAct β iterate LLM reasoning with codebase retrieval and structured verifier feedback
- DAG subgoal delegation β decompose lemmas into mechanically checked terminal obligations and assign isolated proof regions
- trace-derived proving skills β mine failed and successful proof traces into reviewed, reusable tactics guidance
- stagnation detection β compare proof states and block repeated attempts that add no evidence
- independent proof audit β compile in a clean process, restrict proof commands, and compare theorem source outside the proof body
Principles for Verification Tools: Separation Logic
- convolutional separation algebra: model splittable heaps as partial monoids and separating conjunction as power-series convolution
- local predicate transformers: derive Hoare and frame rules from monotone local transformer algebra
- layered correct-by-construction tools: connect abstract algebra, intermediate semantics, and concrete heaps with soundness theorems
- concrete mutation laws: discharge assignment and heap-update obligations through verified substitution and frame rules
- refinement-based construction: refine specification statements into loops and pointer updates while preserving resource frames
Towards Trace-based Deductive Verification (Tech Report)
- local event trace semantics β model calls, returns, state updates, and context switches as adequate traces joined by state-matching chop
- least-fixed-point trace contracts β specify recursive procedure behavior and intermediate events with positive Β΅-calculus formulas
- symbolic update calculus β reduce code to substitutions and event updates, splitting paths and unfolding contracts with sequent rules
- recursive trace abstraction β prove procedure contracts by induction and replace recursive calls with their verified trace summaries
- event-level abstraction β expose only selected interface events while keeping implementation states hidden unless a contract names them
VeriSkill: A Self-Evolution Framework for Program Verification Skills
- four-way failure attribution: classify each failed attempt as unsatisfiable task, prover limitation, guidance not followed, or guidance missing, and learn only from the last two
- three-part diagnostic signature: describe a failure by where the proof broke, which proof duty was missing, and what was wrong with the guidance text
- pattern-level clustering: group failures with matching signatures and write one lesson per group, never per failure
- duty-not-route reading of reference proofs: take from a reference solution the kind of proof duty it discharges and discard its particular invariant, assertion site, lemma text and constants
- scoped lesson format: every lesson states when it applies, the concrete proof steps, and when it does not apply, and contains no task identifiers, file names, variable names or constants
- controlled revision: integrate a lesson by editing the matching part of the guidance instead of appending to it
- attribution and transfer split: hold back some failures of the same pattern and require the revised guidance to fix them too
- revise and test loop with a per-pattern budget: on a local failure, rewrite the lesson from the new evidence and retest until it passes or the budget ends
- strict-improvement admission on a frozen validation set: admit a candidate only if its validation pass rate rises and no validation artifact changes executable code
- executable-projection check: accept an annotated artifact only if erasing annotations, comments and whitespace gives back the input program and no bypass construct was added
- evolution memory: log every accepted, rejected and skipped revision with its pattern and outcome, and consult the log before attributing or writing again
- unchanged-skill transfer test: give the final guidance to other models without further tuning to check that it is knowledge and not a model-specific prompt
CounterExample Guided Neural Synthesis
- informative training-data generation β remove equivalent mutants and generate examples that cover conditional branches
- Example-Guided Neural Synthesis β convert a logical specification to SMT-labeled examples, generate candidates, and verify universally
- invariant-label heuristics β combine definite labels, over- and under-approximation, and random labels for unknown states
- CounterExample-Guided Neural Synthesis β add verifier counterexamples as new labeled examples in a CEGIS loop
- candidate pre-verification β filter beam candidates against known examples before invoking the full verifier
- bounded counterexample memory β discard duplicates and old examples to control non-monotonic neural refinement
Ivy: A Multi-modal Verification Tool for Distributed Algorithms
- modular isolate specifications β hide implementation state behind ghost interface contracts and refine abstract models into implementations
- decidable inductive invariants β audit VCs for a decidable fragment, prove initialization/preservation, and use finite counterexamples to strengthen invariants
- eager abstraction β strengthen transitions, Boolean-abstract predicates, model-check, and refine with terms or invariants
- liveness-to-safety β encode fair-cycle exclusion with saved state and dynamic abstraction, then prove a safety invariant
- explicit quantifier instantiation β remove problematic alternation by manually specializing an explicit axiom
- compositional specification testing β generate assumption-respecting randomized tests and check guarantees before proof
Rtl2lean: Automated RTL-to-Lean Translation with Hierarchical Theorem Generation and Lemma Reuse
- RTL semantic compilation β parse SystemVerilog, normalize updates, optimize, and emit a pure Lean state-transition model
- four-layer theorem framework β generate combinational, sequential, step-level, and reachability/invariant lemmas bottom-up
- kernel-gated lemma reuse β propose intermediate lemmas from context and diagnostics, retain only Lean-accepted terms, and reuse them
- explicit reachability induction β fold
stepover finite input sequences and prove one-step closure before higher-level invariants - Verus adaptation β map state/step and layer lemmas to
spec fn,proof fn,requires,ensures, and invariant proofs, with translation fidelity as a separate obligation
Open-Source LLM-Driven Formal Verification: A Multi-Agent Pipeline for RTL Repair
- typed property IR: separate LLM property reasoning from compiler-generated assertion syntax
- inline contract injection: place generated assertions in the DUT when binding can be dropped by the frontend
- counterexample-guided repair: analyze formal traces, make a localized code edit, review it, and re-prove
- prove-plus-cover acceptance: require k-inductive safety and reachable cover properties before PASS
- multi-run feasibility evaluation: run each benchmark independently several times and report pass denominators and API exclusions
Code2Inv: A Deep Learning Framework for Program Verification
- checker-in-the-loop synthesis β sample grammar-constrained invariants, accumulate checker counterexamples, and update a neural policy with fractional reward
- graph-conditioned search β encode task control/data flow and grammar nodes with GNN message passing to transfer across structurally similar programs
- grammar-controlled generation β separate candidate language from policy so invariant forms and domains can change without rewriting the learner
- policy transfer β save successful weights and initialize related program variants from them after a 90/10 training/test split
- checker-independent CHC extension β reuse the policy with a minimal node representation and a different checker, including non-linear grammars
- naturalness-aware output β simplify trivial expressions or penalize overfitting to instance constants while retaining checker validation
Efficient Verification of Optimized Code: Correct High-speed X25519
- succinct crypto contract: specify scalar multiplication, reduction, clamping, and infinity behavior mathematically
- validated instruction model: prove compact instruction contracts from a bounded machine model and the official ISA
- blockwise assembly proof: partition optimized code and compose local functional and frame contracts
- ghost address instrumentation: supply solver-visible address and intermediate-value facts without changing execution
- cross-layer refinement: translate C and assembly through one primitive model and preserve alias and calling conventions
- ladder and memory proof: combine projective-coordinate invariants, scalar preconditions, and explicit memory footprints
Verification Modulo Tested Library Contracts
- observer-based contract synthesis: infer first-order library contracts and client invariants over pure pre/post observer functions
- contextual contracts: synthesize call-site summaries tested only on states reached by one client
- ICE-CHC learning: alternate candidate invariant/contract learning with positive, implication, and negative counterexamples
- tested-contract loop: run a bounded modular or contextual tester and feed violating valuations back into synthesis
OpenJML: Software verification for Java 7 using JML, OpenJDK, and Eclipse
- contract-to-VC pipeline β lower specifications and single-assignment blocks to SMT obligations with source mappings
- vacuity and multiple-failure analysis β check feasible paths and iteratively block already-found assertion failures
- source-level counterexamples β map solver models and branch paths back to expressions and editor locations
- modular proof-status IDE β track per-method attempts, prover, time, status, dependencies, and runtime checks
- definedness and frame policies β reject undefined specifications and make arithmetic, purity, visibility, and mutation assumptions explicit
ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs
- fractional ownership strong updates β assign a writable ownership-1 view and force all mutable aliases to ownership 0 with
β€refinements - refinement and permission splitting β use type addition to divide ownership and conjoin or discard value refinements across aliases
- destructive assignment β require ownership 1 and replace a pointee refinement while preserving reference shape
- must-alias shuffling β redistribute permissions and refinements after a proved alias assertion
- context-polymorphic summaries β specialize one function contract by bounded call-string predicates
- ownership and CHC inference β generate templates and constraints, solve ownership with Z3, then solve refinement CHCs
- recursive and indexed structures β infer restricted recursive types and per-index array refinements
- preservation soundness β prove assertion safety through progress, preservation, and machine-state ownership accounting
Scaling Self-Play with Self-Guidance
- guide-gated self-play β generate tasks for unsolved targets and multiply intermediate-difficulty reward by a relevance/clarity Guide score
- verifier-backed curriculum β use Lean or Verus to accept each generated solution and derive solve-rate rewards from checked outcomes
- entropy-safe Solver training β choose an objective such as REINFORCE1/2 that preserves intermediate solve rates and avoids reward starvation
- collapse diagnostics β monitor disjunction frequency, conclusion length, entropy, and solve-rate histograms to detect generator or Solver collapse
- scaling-law audit β fit cumulative solve-rate curves, stress-test fits by data removal/dropout, and treat asymptotes as estimates rather than proof
Regression verification of unbalanced recursive functions with multiple calls (long version)
- bottom-up summary abstraction: replace already-equivalent callees with shared uninterpreted summaries
- synchronized path equivalence: unroll recursive calls until paired paths satisfy equal-output conditions
- bounded synchronization search: instrument calls, increase unwinding, and validate a candidate with model checking
Temporal Prophecy for Proving Temporal Properties of Infinite-State Systems
- abstract-lasso reduction: freeze a finite footprint and prove no fair repeated projection exists
- temporal prophecy tableau: add future-sensitive FO-LTL formulas to refine the product state space
- prophecy witnesses: add immutable ghost constants witnessing existential temporal formulas
Automated Repair of Declarative Software Specifications in the Era of Large Language Models
- analyzer-oracle repair loop: generate edits, rerun the formal checker, and retain only candidates that satisfy the assertion oracle
- prompt-factorized repair: vary bug locations, fix hints, and assertion instructions as explicit repair factors
- repeated-run consistency testing: repeat identical prompts in fresh sessions, compare outputs, and verify every candidate
- typed repair-error taxonomy: classify wrong operators, types, arities, unsupported logic, and hallucinated identifiers from verifier failures
QCP: A Practical Separation Logic-based C Program Verification Tool
- obligation ledger β list every verification condition in one generated file and make the checker confirm each has an automatic or a manual proof
- auto-then-manual split β try each obligation with fast incomplete automation and export only the leftovers as isolated goals
- assumed declared-only contracts β verify a module against the stated contracts of functions implemented elsewhere, and track those as assumptions
- primitive and derived contracts β verify a body once against a low-level contract and prove each abstract contract follows from it
- annotation-driven unfolding β assert the unfolded form of a predicate just before the statement that needs it, so the prover only checks an entailment
- partial-statement execution β check an unfinished function prefix statement by statement, keeping Normal, Break, Continue and Return assertions per open block
- three-outcome feedback β distinguish verified, state-is-wrong, and state-may-be-right-but-unproved, and react differently to each
- demand-triggered strategy with soundness lemma β a user rewrite rule that fires only when the goal needs a field, each rule backed by a proved lemma
- heap entailment in four moves β normalise, apply an unfolding lemma, introduce and instantiate existentials, cancel the frame
- refinement through an abstract program β prove the algorithm on a pure model and prove the code consumes that model, leaving only its result
- checker soundness contract β for a decision procedure, prove only that a positive answer is correct, with one postcondition case per return code
A Complete Approach to Loop Verification with Invariants and Summaries
- loop contract: specify a loop by a safe precondition plus a relation from any loop-head state to the exit state, proved by an exit case, a backward step, a break case and a use at entry.
- safe/correct split: keep in the loop precondition only what rules out runtime errors and put functional correctness in the summary; summaries alone are complete for correctness.
- invariant from contract (Proposition 1): the invariant says every final state the summary allows from here is allowed from the entry state; for functional summaries it simplifies to remaining-work value equals whole-work value.
- contract from invariant (Proposition 2): the canonical summary says that entering with the invariant yields the invariant and the negated test, or the postcondition, at exit.
- LoopContract rule: verify body followed by a specification statement standing for the remaining iterations, which reduces a loop with a contract to straight-line code.
- suffix specification for right-fold properties: when the specification function recurses from the front and the loop index moves forward, state the property over the remaining range to avoid an end-unfolding lemma.
- frame equations in summaries: for loops that write, add to the summary that the remaining iterations leave the already written region unchanged.
- break obligations: prove the postcondition or summary at each break and never assume the negated test after a loop that has one; model early return as flag plus break.
- Horn-clause inference of contracts: encode both styles as constrained Horn clauses and let Eldarica or Z3 find the predicates; contracts solved 232 against 237 (Eldarica) and 201 against 234 (Z3) of 459 tasks.
AIProver: Agentic Auto-Formalization of Mathematical Research via Certificate-Driven Evolving Harness
- semantic-alignment fine-tuning β contrastive alignment of informal and formal theorem representations alongside supervised generation
- graded verifier reward ladder β ordered type, completeness, semantic-equivalence, and length checks with diagnostic certificates
- HarnessEvolve β UCB-guided evolutionary mutation of the agent harness while retaining rejected designs and their verifier certificates
- Agentic RLSF β multi-turn GRPO post-training from symbolic verifier rewards inside a frozen harness
Supporting Software Formal Verification with Large Language Models: An Experimental Study
- two-stage LLM specification β create a reviewable formal requirement document, then generate implementation assertions from it
- explicit variable mapping β connect every abstract requirement quantity to concrete code variables and timing state
- auxiliary-state generation β introduce previous-value, event-counter, and related ghost or executable variables for requirements beyond basic LTL
- counterexample witnesses β execute generated counterexamples against original code to distinguish real failures from modeling errors
- logic-equivalence checking β compare generated and reference preconditionβfunctionβpostcondition tuples with an explicit denominator
- bounded ESBMC triage β use finite-depth verification to expose safety errors while reporting state-space and timeout limits
- floating-point semantic checking β verify with IEEE-754 behavior to detect errors hidden by rational-number abstractions
- human review of ambiguity β inspect intermediate specifications and assumptions before trusting generated properties
Predicate Subtypes in VerCors
- predicate-to-contract rewriting: turn subtype annotations into parameter preconditions, result postconditions, and assignment assertions
- composable subtype logic: combine reusable predicates with conjunction, disjunction, implication, and negation
- strict arithmetic subtypes: require every intermediate expression to remain within machine bounds
- verifier rewrite pipeline: parse subtype AST nodes, normalize nested predicates, generate checks, and send ordinary contracts to the backend
Scalable Deductive Verification of Data-Level Parallel Programs
- quantifier inverse rewriting β replace arithmetic-indexed quantified accesses with an equivalent single-index domain so
A[x]can trigger SMT instantiation - immutable sequence modeling β encode never-written arrays as immutable mathematical sequences after releasing mutable permissions
- uniqueness classes β assign pointer and field uniqueness numbers so non-overlapping arrays use separate heap fields
- kernel-body extraction β verify a GPU body under its own contract to reduce solver context and proof time
Towards Language Model Guided TLA+ Proof Automation
- recursive hierarchical decomposition β recursively split a failed obligation into normalized children, verify the implication with TLAPS, and prove every child
- symbolic auto-proof synthesis β inspect definitions and emit
OBVIOUSorBY ... DEF ...before asking an LLM - normalized claim prompting β constrain LLM output to assumptions plus one goal and translate it into
ASSUME-PROVE - verifier-feedback retries β pass TLAPS errors to later candidate generations under bounded retries
Reviving DSP for Advanced Theorem Proving in the Era of Reasoning Models
- concise draft generation β derive ordered mathematical subgoals from the formal statement and filter reasoning tokens before sketching
- hypothesis-hinted sketching β autoformalize a hierarchy of subgoals with explicit supporting hypotheses
- error-line masking β comment out malformed dependent lines or replace failing proof lines with
sorryfor later repair - integrated step proving β combine model-predicted tactics with symbolic tree search under bounded budgets
- ensemble buffering β cache phase outputs and try diverse model configurations to increase cumulative coverage
The Faithfulness Gap: Certifying Semantic Equivalence Between Natural-Language and Formal Mathematical Statements
- BPF β compare forward and backward entailment fingerprints of a candidate with probes predicted from the natural-language statement
- CPG β synthesize probes contrastively against mechanically drifted twins for quantifier, hypothesis, conclusion, and coercion drift
- Equivalence Spectrum β turn weighted probe mismatches into calibrated ACCEPT, REVIEW, and REJECT regions
- APBA β allocate entailment queries by expected information gain across drift classes
- FGD β rerank sampled formalizations by the spectrum and re-prompt with witness probes to repair drift
An In-Context Learning Agent for Formal Theorem-Proving
- stepwise LLM depth-first proof search: ask the model for one proof action, execute it in the checker, recurse on success and pop after a fixed number of failed tries
- failure dictionary in the prompt: store per state the actions that errored or made no progress and list them to the model as steps not to regenerate
- stack progress check: reject an accepted step when the resulting obligations are at least as hard as those of a state already on the search stack
- grammar-bound prompt protocol: serialize goals, hypotheses, past steps, failed steps and the last error under fixed keywords, and re-ask until the answer parses as one action
- single-action rule with no admit: forbid whole proofs and placeholder tactics in the system prompt so that every step is checked before the next is written
- BM25 lemma retrieval per state: search a lemma library with the current state and print name and statement of the hits in the prompt
- informal proof as global context: generate a prose proof once and include it in every search prompt, where an informal statement exists
- cheap-first staged ensemble: run the shortest-prompt configuration first and spend the remaining shared budget on retrieval and hints only for unsolved goals
- pass@k-with-n-queries: report attempts times model queries with the time limit beside each success rate
- proof-overlap leakage audit: compare each found proof with the published one by exact match, first step and shape, and report the share that is not a copy
Evaluating the Architectural Reasoning Capabilities of LLM Provers via the Obfuscated Natural Number Game
- closed-theory test bed: evaluate a prover on a self-contained axiom set with no library and only primitive proof steps, with the whole theory in the prompt
- graded identifier obfuscation: corrupt every identifierβs characters with probability P = Ξ»^2.5 (substitute P, insert 0.4P, delete 0.3P) at several Ξ» to plot success against name quality
- draft-and-code JSON grading: require a plan field and a code field, and pass only the code to the proof checker
- latency ANOVA: record response time per query and test it across noise levels as a second measure of difficulty
- post-rename revalidation (not in the paper): rerun the checker on reference proofs after renaming, since solver-based proofs can break under renaming
Numina-Lean-Agent: An Open and General Agentic Reasoning System for Formal Mathematics
- tool-grounded coding agent β connect a general coding agent to goal, diagnostic, compilation, parallel-attempt, and theorem-retrieval tools
- verifier-driven refinement β generate an informal proof, critique it, revise from feedback, and require repeated independent checks before formalization
- discussion partner β consult other models for alternative proof paths at bottlenecks, then test suggestions in the prover
- subgoal subagents β isolate a context-heavy lemma, obtain a hint, formalize it independently, and compose it into the parent proof
- recursive blueprint β maintain a dependency DAG of definitions and lemmas and revise it from compiler and proof-state feedback
- human-guided self-correction β permit reviewed hints and contract revisions when formalization reveals a false or degenerate statement
SCAFFOLD-CEGIS: Preventing Latent Security Degradation in LLM-Driven Iterative Code Refinement
- semantic anchor mining β mine function, pattern, data-flow, and invariant anchors; assign hardness, priority, TTL, and migration checks before iterative edits
- four-layer gated verification β accept only candidates passing tests, non-increasing safety metrics, diff budgets, and anchor integrity, with retry or rollback
- CEGIS failure assimilation β turn structured gate failures into reusable repair knowledge and feed it into subsequent candidate generation
- latent-security evaluation β use an independent semantic reviewer to detect defensive-logic loss that SAST misses, while reporting the reviewer and benchmark limits
LEAP: Supercharging LLMs for Formal Mathematics with Agentic Frameworks
- fallback decomposition β attempt direct formalization, then create compiler-checked helper subgoals in an AND-OR DAG
- DAG lemma memoization β share verified intermediate lemmas across branches while preserving acyclic dependencies
- informal-formal interleaving β use natural-language plans to guide formal code while accepting only checker-verified artifacts
- decomposition review β have an LLM reject subgoals that are irrelevant, cyclic, or no simpler than their parent
- compiler-feedback refinement β repair one proof for a bounded number of turns using exact diagnostics
- verified benchmark construction β balance difficulty and categories, and expert-check every formal statement before evaluation
Modal Verification Patterns for Systems Software
- transition modalities β encode a command or system transition as a relation between worlds and place the postcondition under that relation
- resource-context decomposition β separate atomic ownership facts from the address space, snapshot, actor, or execution context that gives them meaning
- nominalization choice β explicitly name contexts for cross-context proofs or inherit them implicitly for concise single-context proofs
- context-indexed taxonomy β map virtualization, fences, actors, reference counts, and crashes to dedicated context modalities and steps
- shallow modal embedding β lift separation-logic predicates pointwise so modal assertions can compose ownership and interactive proof rules
Usability of AutoProof: a case study of software verification
- contract triple with old: write the invariant first, make the constructor establish it, give each mutator a precondition that excludes the arguments breaking it and a postcondition equating the new state with
oldstate. - constructor status annotation: tell the verifier which routine creates objects so it is checked without assuming the invariant on entry; in Verus the constructor signature already expresses this.
- model queries with frame clauses: name the abstract state of a class and list per routine which part may change; in Verus a view
spec fnplus explicit unchanged-field postconditions. - contracts from a formal specification, clause by clause: turn each schema equation into one postcondition, unchanged-state marks into frame equalities, enumerated real-world types into a constants type with a membership invariant.
- three-way obligation count: report proved, unproved and tool-error obligations separately, with the total, when stating how automatic a verifier was on a code base.
- no object construction inside contracts: keep contracts to pure expressions, since AutoProof answers a contract that creates an object with an internal error.
Does the Proof Prove It That Way? Faithful Formalization of Elements Proofs
- Pistis map stage β split natural-language proofs into atomic ordered segments and map each segment to an explicit formal claim with assumptions and citations
- OrderDecompose β fill mapped goals in order using recursive helper decomposition constrained by sufficiency, suppliability, and soundness checks
- formal refutation β prove a stepβs negation or find a satisfying counterexample configuration that violates its assertion
- assumption-gap detection β materialize assumptions and discharge them with a fixed tactic sequence, marking unclosed obligations
- citation-gap detection β enforce backward-only proposition dependencies and flag unavailable or incorrect cited results
- immutable proof structure β lock approved map objects and prevent agents from skipping ahead or rewriting prior steps
VERITAS: Verifier-Guided Proof Search for Zero-Shot Formal Theorem Proving
- structured verifier signals β preserve syntax, type, progress and completion diagnostics as search state
- two-phase verifier-guided MCTS β run Best-of-N first, then search only failures with errors as negative examples
- role-specialized proof agents β separate strategy, retrieval, critique and tactic generation over one proof state
- semantic premise retrieval β rank lemmas by weighted goal/signature tokens and feed the top five to generation
- batched proof validation β check six isolated candidates in one verifier invocation and map diagnostics by source range
- failure-directed evaluation β split easy/hard benchmarks and use deepest verifier signals to target improvements
Deductive Verification of Unmodified Linux Kernel Library Functions
- source-derived contracts: extract validity, frame, behavior, and functional postconditions from existing implementations
- loop invariants and variants: preserve pointer, range, and prefix facts while proving termination
- per-operation modulo annotations: distinguish intentional machine wrapping from arithmetic that must not overflow
- region separation: use conservative disjoint heap regions to simplify framing and non-interference
- explicit pointer memory model: encode allocation validity, pointer offsets, and same-block comparison limits
- logical-function specifications: pair pure mathematical views with ordinary executable contracts
- VC normalization: split, inline, and Skolemize obligations before comparable solver runs
Towards a Deductive Verification Infrastructure for Weighted Programming
- weighted weakest-preweighting β compute quantitative or symbolic trace aggregates backwards over a monoid-module
- wHeyLo/wHeyVL dual contracts β encode lower and upper bounds with quantitative assertions and procedures/coprocedures
- specification statements β abstract modified variables with pre/post weightings and modular frame reasoning
- local Park induction β prove loop bounds on a state space closed under local-variable reachability
- ΞΊ-induction and Ο-rule β establish finite-step and infinite-family loop bounds
- quantifier elimination β prenex, strip, and recursively remove supported quantitative quantifiers before SMT solving
Agentic Specification Generator for Move Programs
- compositional clause agents β generate postconditions, abort conditions, state effects, and loop invariants with separate specialized prompts, then ensemble them
- prover-guided repair β run the verifier after each candidate and feed diagnostics and counterexamples into bounded regeneration rounds
- random-deletion specification coverage β mutate AST code and verify mutants to locate behavior not constrained by a candidate specification
- dependency slicing and best-effort inlining β build bounded LLM contexts from interprocedural dependencies and compare normal and inlined forms
- abstract specification fallback β emit uninterpreted-function templates for expert completion when concrete proof generation fails
The Fusion of Large Language Models and Formal Methods for Trustworthy AI Agents: A Roadmap
- solver-mediated LLM reasoning β generate SMT constraints, debate and mutate them, self-correct from solver feedback, and translate checked models back
- factual metamorphic testing β derive fact triples with logical rules and compare parsed model graphs with authoritative ground truth
- runtime formal monitoring β check execution traces against temporal properties as a lower-cost layer between testing and proof
- outline-and-tool autoformalization β make a proof outline, delegate symbolic gaps to a CAS, and submit every step to a prover
- semantic premise selection β index natural-language lemma descriptions and retrieve premises by meaning rather than syntax
- intention-aware proof agents β pair each proof step with an intention, retrieve definitions dynamically, and repair from verifier errors
- model-checking agent loop β plan from natural language, complete tool code, verify, and refine from counterexample feedback
- refinement-law backtracking β generate code through proof-preserving laws, discharge provisos, and retry from the last failed refinement
Different Maps for Different Uses. A Program Transformation for Intermediate Verification Languages
- last-write relation: trace which map write can supply each read, using execution semantics and a conservative overapproximation
- ghost last-write instrumentation: stamp writes in auxiliary maps so reachable-state analysis exposes dependencies
- dependency partition: group writes that may affect a common read using an equivalence closure over an overapproximated relation
- split-map transformation: replace one map with per-group maps and prove bisimulation equivalence
- solver-scaling benchmark: compare transformed and untransformed verification on a controlled map-index family
TLA+-Bench: An Execution-Grounded Benchmark and Dataset for Natural-Language to TLA+ Specification Generation
- two-stage execution oracle β separate parser validity from full-state model-checking correctness
- correctness envelope β report interface-aware, default, substantive, and mutation-surviving rates with fixed denominators
- mutation pass-quality probe β replace checked safety properties with
TRUEand require the checker to fail - reproducible dataset pipeline β parse, model-check, clean, checksum, and ship runnable configurations
- checker-grounded failure taxonomy β classify failures from deterministic tool outcomes and preserve the category counts
Compositional Safety Verification with Max-SMT
- conditional inductive invariant β synthesize a predicate that is inductive under an explicit entry condition
- Max-SMT template solving β use hard consecution/safety constraints and weighted soft initiation constraints
- bottom-up SCC propagation β turn each componentβs inferred precondition into a predecessor postcondition
- narrowing after failure β remove states already covered by successful conditional invariants and search another disjunct
- compositional CheckSafe β return
Safeonly after recursively proving all component-entry obligations - proof-search memoization β cache failed and successful local calls to avoid repeated analysis
- parallel and incremental analysis β try template sizes and independent SCC obligations concurrently and reuse summaries after changes
On Reasoning-Centric LLM-based Automated Theorem Proving
- validation with reflection β execute generated proof steps, selectively ask an LLM to detect misapplied branching tactics, roll back, and preserve a structured failure record
- retrieval with planning β generate a natural-language proof plan, embed plan steps and semantic lemma descriptions, and retrieve strategy-aligned lemmas and proof examples
- per-goal failure history β feed the full failed tactic sequence and reason back into the next proof-generation prompt
Beyond Type-checking: Towards Holistic Evaluation of Formal Specification Generation
- four-family SpecGen evaluation β combine formal validity, reference similarity, reference equivalence, and behavioral adequacy
- coverage-aware evidence records β attach scope, denominator, runtime, and availability to every metric
- required-input recall β score precondition coverage independently of positive and negative postcondition tests
- authored calibration controls β use known contracts to expose metric blind spots before evaluating models
- joint-measurability comparison β rank agents on task intersections with comparable evaluator evidence
- extraction and harness audit β inspect selected declarations and treat evaluator errors or placeholders as unresolved
Ave: Guiding Agentic GPU Optimization Using Data-Flow Invariants
- symbolic data-flow tags: assign coordinate-derived ghost labels to values and assert conformity at transformation boundaries
- tile-layout algebra: model memory as shape/stride tiles and require size-preserving views for reinterpretation
- path-insensitive SMT validation: merge tags in a bottom/concrete/top lattice and solve compile-time assertion constraints
- invariant-guided optimization loop: retrieve recipes, lower transformations with instantiated contracts, validate, profile, and feed witnesses back to the planner
Neurosymbolic Auditing of Natural-Language Software Requirements
- requirement-level SMT audits β query consistency, vacuity, violatability, and redundancy on one shared model
- bidirectional ambiguity checking β compare independent formalizations in both implication directions and use witnesses for clarification
- counterexample-guided repair β feed concrete solver witnesses and violated requirements into bounded LLM regeneration
- round-trip semantic validation β re-formalize reconstructed natural language and require bidirectional equivalence
- mutation stress testing β inject requirement faults and detect semantic differences under the shared schema
Modular Verification of Heap Reachability Properties in Separation Logic
- footprint-local reachability β parameterize edge and path predicates by a method footprint so contracts depend only on owned heap fragments
- snapshot and path axioms β abstract heap edges with snapshots and control recursive reachability axioms to remain SMT-friendly
- first-order update formulas β expose exact path changes for edge insertion/removal through internal verified update methods
- relative-convex call framing β partition caller paths across callee footprint and frame when no path leaves and re-enters the callee
- frame reachability localization β recover frame-local paths with the last-reaches and first-does-not-reach split
- z-opg preservation β prevent four alternative-path configurations to verify cyclic graphs with at most one path modulo cycles
Proof Strategy Extraction from LLMs for Enhancing Symbolic Provers
- offline NL proof planning β prompt an LLM with definitions and file context to expose intermediate proof steps
- generalized lemma formalization β convert each step into a reusable, verifier-proved lemma
- typed proof-agent repair β classify proof errors and retry with specialized repair prompts under a round limit
- online lemma-context augmentation β expose the mined library to a symbolic prover with fixed candidate retrieval
- induction bypass by lemmas β summarize recursive reasoning so a prover can finish with supported rewriting or arithmetic
- multi-backend and RAG integration β union complementary lemma sets and retrieve them for symbolic or LLM agents
Graph Based Reduction of Program Verification Conditions
- constant dependency traversal β breadth-first graph reachability from goal constants selects relevant terms
- predicate dependency traversal β weighted implication paths select predicates connected to the goal
- comparison-predicate handling β typed order/equality nodes add relation edges without bloating the SMT context
- strongest clause filtering β keep clauses whose constants and predicates are all relevant
- incremental constant-first selection β retry the prover with increasingly broad constant then predicate depths
Interpolation and SAT-Based Model Checking Revisited: Adoption to Software Verification
- large-block interpolation model checking: summarize loop-free control flow, derive interpolants from unsatisfiable unrollings, and union them to an inductive reachable-state overapproximation
- fixed-point interpolation loop: shift each interpolant to the initial-state variables, enlarge the image, and stop when the new interpolant implies the image
- backward interpolant derivation: swap interpolation partitions and negate the result to bias invariants toward the safety-property side
Exploiting Pointer Analysis in Memory Models for Deductive Verification
- pointer-analysis-guided memory partitioning: map disjoint abstract blocks to separate logic arrays before generating verification conditions
- partitioning by dereference overlap: merge cells whose pointer targets overlap, minimizing blocks while preserving soundness
- conditional array load/store compilation: encode symbolic block selection and updates with guarded array reads and stores
Modular Verification of Recursive Programs
- modular recursive contracts: prove generic-call contracts from body proofs, then reuse them as assumptions in later proofs
- property-first decomposition: prove permutation or another auxiliary property before the stronger functional property
- ranking-function termination: choose a nonnegative bound and prove every recursive call strictly decreases it
Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language (extended version)
- forward-simulation certificates: prove that every source failure has a corresponding failing target execution
- semantic-effect decomposition: split source constructs into small effects and compose generic simulation lemmas
- parameterized simulations: reuse one generic judgment across alternative translation encodings
- contextual hypotheses: carry non-local well-formedness facts in state relations and specialized rules
- per-run proof production: generate an independently checked Isabelle certificate from each concrete translation
CaMeLoT: CaMeL orchestrated with Temporal logic for static verification and liveness
- AST-to-FSM abstraction: convert restricted agent plans into finite control-flow models with labelled effects
- provenance taint lattice: conservatively propagate trust levels and expose taint propositions to policies
- CTL temporal policies: express safety, ordering, next-step, until, and liveness requirements over plan states
- counterexample-guided plan repair: feed model-checker traces back to the planner and repeat verification
- typed obligation grounding: compile constrained LLM proposals to CTL through trusted vocabulary checks
ImProver: Agent-Based Automated Proof Optimization
- explicit proof metrics β define correctness-preserving scores for length, declarativity, mixed style, or completion
- chain-of-states prompting β extract symbolic intermediate proof states and place them before tactics in the model context
- structured output and diagnostics β constrain model output to parseable proof structures and feed verifier errors into repair
- best-of-n and iterative refinement β sample multiple candidates, select correctness first, and forward prior attempts for correction
- retrieval-augmented proof rewriting β retrieve relevant examples and library documentation with MMR before generation
- optimization-to-proving reduction β use the completion metric and an empty input proof to turn rewriting into theorem proving
Resource-Guided Program Synthesis
- refinement-potential types β attach logical refinements and dependent potential to values so resource bounds are checked with functional correctness
- round-trip resource-guided synthesis β propagate goal types during search and prune partial programs as soon as a refinement or budget fails
- incremental resource CEGIS β solve guarded coefficient inequalities by SMT counterexamples and update only clauses invalidated by each example
- potential-based termination β use finite potential consumed by recursive calls as both a resource bound and a termination argument
- constant-resource synthesis β place potential on public inputs only to constrain generated codeβs resource use independently of secret input size
Interpolant Tree Automata and their Application in Horn Clause Verification
- trace finite-tree automata β represent CHC derivations as automata and test accepted AND-trees for feasibility
- tree Craig interpolation β label an infeasible derivation tree with shared-variable interpolants bottom-up
- interpolant automaton generalization β turn one interpolant-labeled trace into an automaton recognizing many spurious traces
- polyhedral CEGAR β combine convex-polyhedron invariants, trace feasibility, automata difference, and clause refinement
Safety Verification and Refutation by k-invariants and k-induction (extended version)
- unified kIkI search β alternate k-inductive invariant synthesis, error reachability checks, and increasing unwinding so proofs and counterexamples reinforce one another
- guarded SSA unwinding β encode loops with guarded feedback variables, then constrain havoc with inferred invariants and incrementally merge unwound exits
- template-based invariant synthesis β reduce second-order invariant search to SMT checks over guarded template parameters and accelerate bound discovery with binary search
- solver-backed refutation β use satisfiable error formulas as concrete length-k counterexamples and unsatisfiable formulas as proof evidence under the transition model
Automated Testing and Repair for Verified Compilers Generated by a Coding Agent
- certificate-aware differential execution β compare executable machine semantics with printed-and-executed code and retain reproducible seeds
- credible-compilation rejection repair β classify certificate failures, localize transform/generator/checker causes, and re-prove checker changes
- typed AST round trips β print and parse generated ASTs, compare equality, and repair parser/printer mismatches
TLA-Prover: Verifiable TLA+ Specification Synthesis via Preference-Optimized Low-Rank Adaptation
- four-tier verifier ladder β grade syntax, model checking, and mutation sensitivity as separate Bronze, Silver, Gold, and Diamond gates
- mutation-sensitive anti-triviality check β mutate a passing invariant and require TLC to expose a counterexample
- diamond-curated corpus β retain only verifier-passing, mutation-sensitive examples for supervised training
- repair-based GRPO β train on failed specifications with dense tier-transition rewards and verifier feedback
- reward-variance monitoring β detect GRPO collapse when all sampled repairs receive the same score
- best-of-k verifier sampling β use repeated checked candidates to raise usable-specification yield while preserving a greedy benchmark
Seeking Specifications: The Case for Neuro-Symbolic Specification Synthesis
- intent-directed contract prompting β tell the generator whether to describe implementation or intended behavior and expose suspected bugs
- PathCrawler neuro-symbolic prompting β append concolic input/output rows to guide abstract postconditions
- path-coverage evidence review β require full path coverage and multiple examples per path before generalizing contracts
- EVA alarm prompting β append abstract-interpretation alarms to elicit runtime-safety preconditions
- safety/function separation β inspect whether analyzer context improves safety while displacing functional postconditions
- contract-count caution β treat annotation quantity as a measurement, not as proof of specification quality
A Programmer-Centric Approach to Program Verification in ATS
- indexed proof-carrying values β encode a relation in static indexes and return a proof/value pair
- abstract props with external lemmas β state reusable data-structure properties and justify each implementation branch with named proofs
- ghost bounds and multiset accounting β verify partition algorithms by carrying lower/upper bounds and exact multiset equations
Verification of Programs by Combining Iterated Specialization with Interpolation
- CLP safety encoding: encode program transitions, initial states, and errors so safety is unsatisfiability of
unsafe - widening specialization: unfold, generalize with a widening-stable operator, and fold to obtain terminating verification clauses
- interpolating Horn solving: derive interpolants from failed derivations and use them to subsume recursive descendants
- CLP reversal: swap initial/error roles and reverse transitions when forward propagation times out
Can LLMs Write Correct TLA+ Specifications? Evaluating Natural-Language-to-TLA+ Generation
- progressive specification prompting β generate module structure, state, operators, and temporal properties in staged messages, then validate globally
- two-stage formal validation β run a parser gate first and a semantic checker second, separating infrastructure failures from genuine semantic failures
- completion baselines β compare half-completion and fill-in-middle with exact context proportions and textual metrics
- hallucination taxonomy and repair β classify lexical, cross-language, reasoning-leakage, length, and structural errors, then apply grammar constraints and deterministic cleanup
- model-selection by proof outcome β compare model families and sizes using per-strategy semantic pass denominators rather than parameter count
Automated Verification of Integer Overflow
- logical-infinity contracts β represent finite, intentional-overflow, and error cases with β/ββ in separation-logic specifications
- infinity normalization β rewrite infinity formulas to equisatisfiable finite formulas before invoking existing arithmetic solvers
- checked-operator translation β replace primitive arithmetic with contract-bearing overflow methods so forward verification checks every operation
miniCodeProps: a Minimal Benchmark for Proving Code Properties
- proof-only micro benchmark β cut self-contained program properties from an existing inductive problem set, translate by hand, and split by the kind of proof needed
- self-contained task record β ship each property with the full text of its dependencies, its initial goal and the file prefixes that define it
- induction with the other argument generalized β induct on one list, case-split the other, unfold once and apply the hypothesis to the tails
- branch-following induction β repeat the functionβs own conditional in the proof and use the hypothesis only in the recursive branch
- termination lemma as a task β state the decrease of a size measure across a helper call as a lemma, cite it inside the definition, and treat its proof as a separate obligation
- four-property sort specification β ordered, per-element count preserved, permutation, and equality with a reference insertion sort
- many-to-one refinement β show the model all failed candidate proofs at once and sample a new batch, for two rounds
- pass@k with a checker β count a property solved when any of k sampled whole proofs is accepted
ProofEvolve: Neuro-Symbolic Evolution for Formal Automated Theorem Proving
- kernel-gated proof DAGs β retain only Lean-checked typed edges and assemble closed AND-OR subgraphs into proof terms
- verified closure fitness β score partial proofs by weighted child closure so kernel-certified progress guides search before root completion
- behaviorally diverse archive β keep one candidate per strategy descriptor cell and sample parents by closure-weighted softmax
- typed schema extraction β generalize newly closed sub-DAGs into explicit-premise theorem schemas with checked proof terms
- residual-premise recombination β instantiate a schema only when its conclusion matches and expose missing premises as new subgoals
- verifier-guided repair β feed rejected proposals and Lean errors back to the model while leaving the trusted state unchanged
- frozen-contract Verus port β map reusable schemas to
proof fns and let agents edit proof bodies while preservingrequiresandensures
Gradually Verifying Unfolding Expressions & Pure Functions
- unfolding expressions β temporarily expose a recursive predicateβs owned fields to evaluate a heap-dependent expression, then restore the predicate
- pure-function symbolic evaluation β snapshot a functionβs framed heap footprint, evaluate once, and axiomatize its result and postcondition
- gradual optimistic heaps β track precise and imprecise ownership separately and emit runtime checks for assumptions introduced by
? - recursive visited-set cutoff β stop recursive symbolic unfolding or pure-function evaluation at visited instances and retain sound postcondition constraints
- progress-preservation soundness β prove that matching static and dynamic states preserve validity and only halt when a generated runtime check fails
Agentic Model Checking
- top-down contract inference β derive per-function pre/postconditions from callers in a restricted DSL with deterministic backend translation
- per-function bounded checking β replace callees with postcondition-constrained stubs and run selected arithmetic checks compositionally
- witness validation tiers β classify counterexamples by reachability, callee feasibility, dynamic replay, and realism before reporting
- specification-level CEGAR β tighten contracts for spurious witnesses, guard the refinement, persist it, and recheck callers
- persistent compositional knowledge β reuse approved contracts and witness patterns across parallel call-graph sweeps
Program Synthesis from Polymorphic Refinement Types
- polymorphic refinement specifications β express recursive behavior as dependent, parametric result refinements checked in decidable logic
- round-trip type checking β propagate goal types down and inferred types back up to reject candidates locally
- liquid condition abduction β infer weakest qualifier-bounded branch predicates from a branchβs required postcondition
- incremental liquid solving β interleave type-shape unification with refinement constraints for early rejection
- MUSFIX greatest-fixpoint solving β enumerate minimal unsatisfiable subsets to solve liquid Horn constraints efficiently
- measure-based termination β attach well-founded datatype measures and require strict decrease on recursive calls
- polymorphic invariant inference β use recursive type instantiation and Horn constraints to infer data-structure invariants
Review of Recent Heap Specification and Verification Techniques
- Hoare loop invariants β prove a stable assertion before and after every loop iteration
- heap-to-stack transformation β rewrite bounded heap lifetimes into stack or region storage when aliases and sizes permit
- abstract shape and alias analysis β propagate conservative graph shapes and alias classes through transfer functions
- pointer-rotation primitives β encapsulate list mutations in specified rotation operations with explicit corner-case preconditions
- separation-logic framing β describe disjoint heap predicates and preserve untouched resources with the frame rule
Verification of the Tree-Based Hierarchical Read-Copy Update in the Linux Kernel
- source-aligned C modeling: adapt production C with stubs, reusable environment macros, removed irrelevant paths, per-CPU arrays, and assertion-bearing harnesses
- explicit concurrency environment: encode CPU ownership, context switches, interrupt state, and atomic spin locks with a small executable scheduler model
- bounded weak-memory checking: run CBMC under SC, TSO, and PSO with precise loop unwinding and reduced-width encodings
- fault-injection validation: mutate safety and progress paths, run 1,000 randomized user-space trials, and compare failures with CBMC results
- formula engineering: simplify thread and list structure, specialize tree traversal, set per-loop bounds, and use
--ILP32to make bit-precise checking feasible
Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems
- socket-protocol invariants β specify each address as a message predicate carrying payload and logical resources
- protocol ownership transfer β enforce distributed mutual exclusion by transferring a linear key through protocol branches
- node/thread composition β prove components locally and combine them with frame, bind, thread-parallel, and node-parallel rules
- fractional TPC ghost state β track coordinator and participant transitions with fractional views joined by an invariant
SCOPE: Certified Theorem Proving with a Language Model as the Policy Planner
- operator-vocabulary planning β predict typed proof operations instead of unrestricted proof text
- exact symbolic execution β compute numerics externally and return a checkable state/certificate
- template proof compilation β render verifier code deterministically from validated chains
- legality-constrained decoding β restrict arguments with per-operator admissibility sets
- version-frozen audit β replay, checksum, independently recheck, and reverse-test accepted proofs
- state-visible decision loops β feed each engine result into the next policy decision
Case study: solving P-99 with LPTP and an LLM
- artifact contract β one directory per task with implementation, normalized representation, tests, proofs, instructions, and an experiment report
- property portfolio β test edge cases and prove type, groundness, termination, uniqueness, existence, and functional correctness separately
- strengthened induction β prove an auxiliary stronger invariant when the direct induction hypothesis cannot close the recursive case
- verifier-native MCP loop β expose grammar, tactic, lemma, and whole-file checking tools and iterate until the proof checker certifies the file
Escaping the Quicksand: A Call to Arms
- executable test-oracle specifications β compute whether observed behavior is allowed and check it during ordinary tests
- executable abstraction functions β map concrete states to abstract states and diff them step by step
- partial-specification assurance ladder β move from concrete tests to property tests, symbolic execution and proof
- specification-driven design clarification β use mechanized contracts to expose ambiguity and contradictory intent
- cross-layer semantics infrastructure β relate Rust, compilers, intermediate languages and hardware with tested and proved semantics
Optimization of Lyapunov Invariants in Verification of Software Systems
- transition-graph abstraction: attach state sets and edge maps to program locations before proof search
- convex Lyapunov synthesis: parameterize an invariant template and solve LP, SDP, or SOS constraints
- decrease certificates: prove edge-wise Lyapunov decrease to certify boundedness, unreachability, or finite-time termination
Automatic Error Localization for Software using Deductive Verification
- quantified expression repairability: replace each candidate with a placeholder and prove
β inputs : β replacement : contractto rank likely error locations - causality-safe quantifier ordering: quantify inputs before candidate values and keep later program-point auxiliaries universally quantified
- verifier instrumentation: protect placeholders from simplification and map normalized temporary expressions back to source lines
Lean Workbook: A large-scale Lean problem set formalized from natural language math problems
- active-learning autoformalization β iteratively add corrected verifier examples to improve translation
- persistent compile filtering β run fast parallel statement checks in a reusable verifier process
- back-translation NLI β compare source and reconstructed natural language before human acceptance
- error-pattern diagnosis β convert recurring type, quantifier, extrema, and missing-assumption errors into training examples
- sampled semantic audit β estimate correctness by tag while recording denominators and residual failure modes
- proof/data separation β use placeholders for statement data, never as evidence of a completed proof
SpecLoop: An Agentic RTL-to-Specification Framework with Formal Verification Feedback Loop
- structured RTL specification β generate fixed fields for ports, behavior, control, clocks, resets, and exceptional cases
- reconstruction verification β reconstruct RTL from prose and check it against original RTL with formal equivalence
- diagnostic classification β distinguish specification inaccuracy, ambiguity, reconstruction limits, invalid RTL, and inconclusive checks
- incremental feedback loop β revise only affected specification fields until equivalence passes or retry budgets end
- pass/fail versus rich diagnostics β compare binary feedback with counterexamples and mismatch reports
- bounded equivalence setup β use Yosys EQY SAT checking with an explicit depth bound and report its limits
Large Lemma Miners: Can LLMs do Induction Proofs for Hardware?
- few-shot invariant prompting β retrieve similar verified examples and sample candidate lemmas from a fixed prompt
- agentic verifier feedback β iterate proposal, formal checking, and diagnostic-guided repair until a strengthening appears
- bounded candidate filtering β reject lemmas with short counterexamples before expensive inductive checks
- inductive subset search β classify candidates, order them deterministically, and test prefixes for a strengthening
- initiation and consecution checking β prove that a candidate holds initially and across every transition
- sampled neurosymbolic mining β aggregate multiple model responses while retaining formal verification as the acceptance gate
Development and Verification of a Flight Stack for a High-Altitude Glider in Ada/SPARK 2014
- co-verification design loop: run modular checks during implementation and reshape code around proof obligations
- false-positive and contract audit: preserve warnings, prove contracts themselves, inspect assumptions, and validate runtime models
- units and criticality types: encode physical dimensions and isolate high-criticality tasks with deterministic scheduling
- denominator-aware VC accounting: report proof fractions and solver time by component and obligation type
Borrowing Safe Pointers from Rust in SPARK
- permission lattice β track
RW,R,W, andNOfor every pointer path to enforce exclusive writes - CREW soundness β prove that aliased paths cannot include a writable path and another readable/writable path
- ownership-transformer assignment β use
move,cut,block,drop, andliftto transfer deep pointer ownership - borrow and observe calls β freeze read-only arguments and temporarily revoke caller ownership for mutable arguments
- policy joins β merge branches by minimum permission and require loops to preserve entry permissions
- lazy permission trees β represent infinitely many recursive paths on demand in an implementation
Scaling up Multi-Turn Off-Policy RL and Multi-Agent Tree Search for LLM Step-Provers
- step-level MDP proving β model verifier states as environments and tactic or proof edits as actions with compiler transitions
- expert iteration with best-first search β turn successful tree-search trajectories into training data for the next prover
- adaptive tactic filtering β train on middle-perplexity verified steps while dropping obvious and noisy tails
- periodic soft-reset retraining β re-solve, aggressively curate, and retrain from a base checkpoint after plateaus
- planner-prover replanning β decompose a theorem into verified subgoals and revise the plan after stuck subgoals
- focused parallelism with cache β run parallel agents on one subgoal and commit the first valid proof in a shared status cache
Relational Verification via Invariant-Guided Synchronization
- bounded product construction: under-approximate paired executions by bounding recursion and enumerate proof paths
- invariant-guided synchronization: synthesize invariants and use them to choose synchronization points, then generalize
- CHC relational synthesis: encode all path obligations as constrained Horn clauses and solve for relational predicates
CoProver: A Recommender System for Proof Construction
- normalized proof-state tokens β preserve logical symbols, normalize names and types, mark sequent regions, and encode recent commands
- transformer command recommender β fine-tune RoBERTa/T5 on proof traces and return a top-N next-command window
- Siamese lemma retrieval β encode sequents and library lemmas separately, train positive/negative pairs, and rank by cosine similarity
- short-history conditioning β append recent proof actions so recommendations reflect what has already been tried
- structural baseline comparison β test n-grams and TF-IDF to measure the value of sequence structure over symbol counts
- advisory prover service β return JSON suggestions through a web endpoint while leaving proof checking in the local assistant
CIll: CTI-Guided Invariant Generation via LLMs for Model Checking
- CTI-guided helper synthesis β generate or revise helper invariants from minimized counterexamples until the target becomes inductive
- parallel bounded correctness β run BMC at multiple bounds and return short traces before expensive inductiveness proof
- IC3/K-Induction portfolio β let IC3 learn invariants first and use K-Induction for complementary proofs, longer CTIs, and filtering
- local proof β prove each assertion under the others as constraints to share pruning without a large opaque conjunction
- trace minimization and MCP inspection β extract UNSAT-core-relevant signals and query only needed waveforms
- invariant migration β seed related properties with mapped helpers, then revalidate and refine them
Putnam 2025 Problems in Rocq using Opus 4.6 and Rocq-MCP
- compile-first fallback β compile complete proof files, then use interactive goal tools only for targeted debugging
- sandboxed proof verification β re-prove the original theorem in a module and reject custom or unapproved axioms
- role-specialized subgoals β delegate lemmas, error repair, completion, and independent verification to separate workers
- formalization-gap attack β test successful proofs for vacuous encodings and strengthen the model before repairing proof scripts
ShannonProver: Towards Automating Formal Cryptographic Proofs
- hierarchical lemma decomposition β split a main theorem into intermediate games and lemmas, then revise the decomposition from proof feedback
- proof-state projection β recompute a state-centered view of current goals, errors, and relevant facts
- typed resource exposure β match applicable lemmas structurally and show state-instantiated resources
- binding analysis β fill mechanically determined arguments while leaving semantic premises as explicit goals
- multi-agent tree search β backtrack, spawn parallel branches, prune stalled paths, and retain negative memory
- checker-gated proof assembly β accept only tactic paths and final scripts that the proof assistant verifies
An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification
- first-order VC countermodeling β reduce invariant inductiveness to satisfiability of pre-state, transition, and negated post-invariant formulas
- symbolic infinite models β use regular and integer-indexed summary nodes with LIA-defined functions and relations
- LIA model checking β translate quantified formulas over a symbolic structure into decidable quantified LIA
- template-based symbolic search β encode choices of bounds and interpretations with Boolean and integer auxiliaries, then extract a model
- OSC completeness boundary β use a syntactic fragment with a small symbolic model property to obtain a decision procedure
- finite diagnostic explanations β attach FESTβs compact model to a timeout or unknown result to expose missing induction assumptions
Scratchy: Visual-Scratchpad Multimodal Reasoning for Cryptographic Proof Generation in EasyCrypt
- six-field proof sketch β write facts, obligations, rules, goal and directed relations in fixed fields with identifiers copied verbatim, before any proof text is generated
- no-inference sketch-to-graph compiler β turn each sketch item into a typed node and each stated relation into a justification-to-claim edge, adding nothing
- structure-preserving proof-state image β render the graph so roles, formulas, edge directions and the path to the goal stay readable; left and right programs side by side for relational goals, games in hop order with bounds for reductions
- fragment-only generation with harness reinsertion β the model returns the proof body, the harness splices it into the unchanged file and the checker decides
- synchronized-state invariant first β for two-loop equivalence, state which variables stay equal across iterations before calling automation
- proof-hole benchmark with preflight β blank one proof in a pinned official file, keep its dependency prefix, and compile every reference proof and answer option before any model call
- acceptance over exact match β score by checker verdict; here 44 of 54 accepted proofs differed from the reference
- wrong-structure control β ablate with a shuffled-edge graph and a generic diagram so that structure fidelity is separated from image presence
- source-group bootstrap β resample by source project, not by task, when tasks share dependencies
ProofOptimizer: Training Language Models to Simplify Proofs without Human Demonstrations
- verifier-gated proof simplification β generate alternatives and retain only those compiled by the proof assistant
- proof-sketch obligation extraction β split high-level sketches at unresolved subgoals to create scalable theorem data
- expert iteration β train on verified candidates that beat a fixed reduction threshold
- verifier-rewarded online RL β reward valid reductions with a normalized metric and verifier feedback
- iterative shortest-candidate search β repeatedly sample, verify, and continue from the shortest candidate
- cost-aware simplification β optimize heartbeat or execution cost when token length is not the product objective
Static and Dynamic Verification of Relational Properties on Self-Composed C Code
- self-composed wrapper reduction β inline renamed calls, assert the relational predicate, and discharge it with ordinary deductive verification
- effect-separated composition β duplicate globals from frame specifications and relate labeled pre/post states across calls
- pointer-disjoint products β require separated footprints before composing pointer-using calls and carry separation into the logical lemma
- recursive relational induction β control inlining depth so a wrapper proves base and smaller-argument induction cases
- dynamic relation checking β feed generated wrapper assertions to runtime instrumentation and testing-based counterexample search
Formal Proof of SCHUR Conjugate Function
- legacy-function isolation β extract a critical routine, simplify data types, and prove callees or inline them before writing its contract
- predicate-based contracts β define reusable partition/count/result predicates and state validity, initialization, modified region, and postcondition explicitly
- loop proof structure β combine variants, invariants, ghost pre-state, and boundary assertions for nested loops
- prover escalation and cross-checking β use multiple SMT provers, then Coq to diagnose missing or incorrect annotations and guard against a faulty prover
Deductive Verification via the Debug Adapter Protocol
- symbolic proof state: represent assignments, path conditions, residual code, and obligations as a small-step configuration
- invariant debugging: expose loop initialization, preservation, and exit obligations as separate navigable branches
- DAP proof navigation: map launch, thread, variable, step, continue, back, and evaluate requests to symbolic transitions
- verifier retrofit: add a DAP server and LSP/IDE extension around an existing symbolic verifier
- branch-aware inspection: show path, heap, security labels, and solver-backed expression evaluations at proof states
AutoDeduct: A Tool for Automated Deductive Verification of C Code
- entry-contract-guided functional inference β infer helper
requiresandensuressufficient to prove a supplied module contract - Horn-clause contract solving β encode calls as pre/post predicates and extract a satisfying interpretation as contracts
- auxiliary abstract-interpretation inference β derive value ranges, pointer validity and frame conditions with Eva-like analysis
- staged annotation and verification β run functional inference, auxiliary inference and final proof as inspectable stages
- state-summary specification inference β use weakest/strongest summaries and counterexamples to strengthen contracts across calls
Process-Verified Reinforcement Learning for Theorem Proving via Lean
- tactic-level verifier reward β parse proof ASTs and convert local elaboration plus whole-proof outcomes into scalar rewards
- first-error propagation β penalize the first verifier error and every later tactic generated from its invalid prefix
- first-token credit β attach process advantage to the first token that chooses each tacticβs strategy
- combined outcome/process GRPO β optimize global proof success together with dense verifier-grounded local feedback
- verifier as process oracle β use the proof assistant during training, not only for final evaluation
Practical Deductive Verification of OCaml Programs (Extended Version)
- model-state contracts β specify mutable APIs through abstract views, preconditions, postconditions, and pre-state values
- VC task splitting β translate annotated code to solver tasks and split conjunctions into focused obligations
- variants and proved lemmas β ensure recursive termination and discharge automation gaps with induction-proved facts
- exceptional postconditions β specify normal and exceptional outcomes separately and verify both
- prefix loop invariants β reason about scanned array prefixes with exact strict bounds
- counting-function invariants β use recursive range counts, arithmetic-friendly inequalities, and decomposition lemmas for majority proofs
Reducing the Number of Annotations in a Verification-oriented Imperative Language
- assertion-carrying semantics β make contracts, loop invariants, variants, and runtime assertion behavior part of the language definition
- contract inference β derive procedure preconditions and postconditions with specialized strongest/weakest predicate calculi
- frame-based annotation strengthening β propagate facts about variables outside a statementβs modification set
- verified
forexpansion β synthesize a bounded loop invariant and decreasing variant from the iteration postcondition - declarative map iteration β generate array prefix/suffix invariants for independent element updates
- parallel verification conditions β split obligations and combine early-failing results from multiple SMT solvers
Automatic Verification of Iterated Separating Conjunctions using Symbolic Execution
- quantified permission chunks β represent an unbounded ISC with a receiver-indexed value map and permission function under an injective receiver condition
- inhale and exhale β add, check, and remove quantified permissions using inverse constraints and exact permission accounting
- remove β greedily subtract requested permissions across all matching chunks and require zero residual demand
- value-map summarise β combine value and permission maps from all chunks for a field before symbolic evaluation
- partial snapshots β frame heap-dependent functions with first-order partial value maps and defunctionalized apply/domain operations
- trigger control β choose SMT quantifier triggers to avoid spurious failures, unpredictable search, and matching loops
- predicate integration β fold and unfold predicate instances through the same inhale/exhale machinery used for ISCs
Paxos Made EPR: Decidable Reasoning about Distributed Protocols
- uninterpreted protocol modeling: encode unbounded domains, sets, and maps in many-sorted first-order logic with valid axioms
- quantifier-alternation analysis: use the sort graph to locate cycles that block decidable checking
- derived relations: materialize existential facts as ghost-like state with maintained representation invariants
- checked transition rewrites: prove guard equivalence under an auxiliary invariant before replacing formulas
- semi-bounded debugging: bound selected sorts to obtain finite counterexamples while preserving other unbounded domains
- EPR invariant checking: finish with decidable, finite-model verification conditions and finite counterexamples
- safe overapproximation: alter difficult protocol rules, then prove the expanded model still preserves safety
Bounded Quantifier Instantiation for Checking Inductive Invariants
- bounded-horizon instantiation β cap Skolem-term depth, check the finite ground set, and accept only unsatisfiability as a sound proof
- derived-relation instrumentation β encode existential predicates in maintained relations and prove a simpler universal invariant
- low-bound completeness criteria β use instrumentation polarity and existential structure to justify bound 1 or 2
- local witness instantiation β add havoced witnesses for selected program variables and iterate to simulate deeper terms
- partial-model diagnosis β compare finite bounded models to infer an infinite counterexample or missing induction axiom
- guarded bound-1 encoding β restrict quantified variables to existing constants and rely on terminating model-based instantiation
Generative Compilation: On-the-Fly Compiler Feedback as AI Generates Code
- sealor-based prefix checking β close partial Rust with typed placeholders and query the existing compiler during generation
- mechanized completeness β define partial syntax and realization, then prove valid completions are never rejected by the FR sealor
- selective soundness β retain stronger rejection guarantees at statement boundaries while keeping other rules lightweight
- typed placeholders and scoped suppression β use divergent/value placeholders and suppress only errors that later tokens can resolve
- bounded feedback harness β combine early restarts with a fixed post-generation repair budget and deterministic diagnostics
Verification of PETSc with CIVL using LLM-generated ACSL contracts and deterministic driver generation
- restricted contract generation β constrain an LLM to a small ACSL/PETSc profile derived from documentation
- human contract certification β inspect model clauses against docs, API and implementation before acceptance
- deterministic driver compilation β translate certified contracts into finite CIVL cases and assertions
- aliasing-case derivation β generate same-handle and distinct-handle drivers from profile rules
- contract-only oracle checking β use a certified postcondition when no reference model exists
- profile evolution β extend parser and compiler when unsupported recurring semantics are identified
Efficient verification of imperative programs using auto2
- saturation proof search β repeatedly apply scored proof steps to a shared fact list until contradiction
- rewrite and property tables β index equalities, invariants, and well-formedness facts for E-matching
- well-formed arithmetic normalization β normalize natural subtraction only under proved side conditions
- difference logic β derive transitive inequalities and detect negative cycles
- guided inductive functional proofs β supply an induction proposition while automation proves routine cases
- forward separation refinement β match each imperative command against spatial and pure preconditions
- inductive heap assertions β expand recursive list/tree predicates to expose frame components
- abstraction-layer contracts β derive abstract Hoare triples and hide concrete representation proofs
MUSTARD: Mastering Uniform Synthesis of Theorem and Proof Data
- concept-conditioned synthesis β sample educational and mathematical concepts, then generate problem, informal proof, and formal proof together
- verifier-feedback repair β line-number failed formal code, send prover diagnostics back to the model, and iterate until validation passes
- valid/invalid/random strata β compare verifier-passing data with equal-sized failed and random controls
- human alignment audit β score factuality, concept relevance, question type, and informal/formal alignment separately
- verifier-filtered fine-tuning β train downstream models on accepted proofs and report split-specific pass rates
Extending concurrent separation logic to the hardware level to verify the xv6 OS kernel on RISC-V with AI agents
- ownership and framing β compose per-function proofs by transferring protected resources and preserving disjoint state
- continuation weakest preconditions β specify safe continuation of an infinite CPU loop instead of ordinary postconditions
- hardware-state invariants β assign registers, TLBs, devices, DMA, and page tables explicit ownership and invariants
- tiered translation abstraction β index virtual-memory facts by initialization regime and current HART capability
- adequacy bridge β initialize every invariant and connect CSL proofs to concrete machine executions
- agent proof maintenance β use machine checking and diagnostic reruns to repair generated proofs after binary changes
Neuro-Symbolic Proof Generation for Scaling Systems Software Verification
- state and step pairs by replay: replay each existing proof in the prover, record the state before every step, and fine-tune a small model to predict the next step from the state alone
- best-first proof-state search with length-normalized log probability: expand the highest-scoring states, score a state by the sum of its stepsβ log probabilities divided by path length to the power Ξ±
- tactic repair: take the premises cited in a rejected step and recombine them with a short list of the corpusβs most frequent tactics
- premise repair by edit distance: on an undefined-fact error, substitute the nearest existing fact names among a relevance-filtered set of 128
- counterexample filtering of proof states: run a random tester and a finite model finder on each new state and drop refuted states
- duplicate-state detection by mutual direct solving: treat two states as the same when each is solved directly from the other
- hammer on the best partial states: after search fails, give the 16 highest-scoring intermediate states to the automated prover for 60 seconds each
- counterexamples as benchmark audit: a real counterexample at a search node marks a benchmark item whose extraction dropped an assumption
- rejected-step error census: classify every rejected step by prover error to find where the budget goes; here 60.1% were nonexistent facts
- search-ready prover interface: per-step execution with time limits, state clone and restore, and caching that skips unrelated theories
Less Effort, Shorter Proofs: Reinforcement Learning for Security Protocol Analysis in Tamarin
- reusable verifier API β expose initial obligations, one-step execution, and final proof checking to an external client
- AND/OR MCTS graph search β search proof-method choices and case splits with PUCT, value backup, and duplicate-state merging
- learned policy/value guidance β encode applicable methods with a Transformer and predict priorities plus state values
- heuristic interpolation β combine learned logits with existing heuristic ranks through a tunable bias
- proof-cost reward shaping β penalize steps, branching, soft execution time, and hard timeouts
- online subproof reinforcement learning β train from resolved subproofs in a replay buffer while searches continue
- multi-worker proof search β run independent verifier workers with centralized neural updates across lemmas
- checked-proof boundary β use learning only to propose steps; accept results only after the underlying verifier validates the proof tree
Generating correctness proofs with neural networks
- two-stage proof-action ranking β predict a tactic-like action and its argument separately, then combine scores with argument selection dominant
- recurrent term argument model β score goal tokens, hypotheses, and lemmas with recurrent encoders over their sequential representations
- proof-trace normalization β desugar multi-argument and higher-order commands into learnable atomic sequences where behavior permits
- prediction-guided search β explore high-scoring branches under width/depth limits and prune states harder than prior states
- solver composition β combine learned proof search with CoqHammer-style solver calls and measure their union
- cross-project transfer β apply weights learned on one proof project to rank commands in other projects
Generating Loop Invariants for Program Verification by Transformation
- weakest-liberal-precondition search: work backward from a loop postcondition and guard to generate successive invariant approximations
- distillation normalization: fold and unfold predicates and normalize operators before structural comparison
- embedding-triggered generalization: use homeomorphic embedding and renaming to detect convergence while avoiding clause explosion
- obligation-driven variable solving: solve initialization, preservation, and exit constraints for generalized invariant variables
- inside-out nested-loop analysis: derive inner-loop invariants before using them in outer-loop WLP calculations
- well-quasi-order termination: prove generator termination from finite functors and homeomorphic embedding
- failure diagnosis by shape: detect lost updated variables and adjust expression orientation or candidate generation
Automatic Abstraction in SMT-Based Unbounded Software Model Checking
- under-approximation safety loop β solve finite loop unfoldings and generalize only after checking proofs against the concrete program
- proof-based abstraction β extract maximal inductive lemmas and drop transition facts irrelevant to a safety proof
- counterexample-guided refinement β validate abstract traces concretely and refine with unsatisfiable assumption cores
- automatic loop-counter transformation β add bounded counters while preserving safety equivalence
- incremental SMT abstraction β use assumption literals, MUS/unsat-core extraction, and persistent solver contexts
- combined PBA and CEGAR β alternate proof generalization and spurious-counterexample elimination until SAFE, UNSAFE, or resource exhaustion
Predicting SMT Solver Performance for Software Verification
- AST feature extraction β count static logical and syntactic features of each proof obligation before solver invocation
- cost-labelled solver ranking β convert answer classes and timed runs into a timeout-penalized cost and sorted solver order
- regression portfolio prediction β predict all backend costs with a multi-output model and derive an obligation-specific ranking
- pre-solving β try a strong default backend briefly to discharge easy obligations before feature extraction and ranking
- timeout cost threshold β suppress predicted-expensive retries to balance proof coverage against cumulative latency
- reproducible evaluation split β separate files, not individual goals, into training and held-out test data
Inferring Invariants with Quantifier Alternations: Taming the Search Space Explosion
- breadth-first quantified IG β distribute quantifier-prefix separation across workers and refine each prefix with initialization and inductiveness counterexamples
- k-term pDNF β restrict quantified separator matrices to a compact negated-cube plus cubes form that fits alternating invariants
- multi-block generalization β accumulate same-frame blocking states so one lemma generalizes across several PDR preventers
- EPR edge control β preselect acyclic sort/function edges and reject prefixes whose Skolemization would leave the decidable fragment
- incremental SMT portfolio β assert lemmas incrementally while running solver instances in parallel with restarts
Enhancing Predicate Pairing with Abstraction for Relational Verification
- abstraction-based predicate pairing: unfold CHCs, abstract constraints, create paired predicates, fold, then solve the equisatisfiable result
- abstract-domain selection: use Bounded Differences or Octagons for cross-variable relations; Boxes are weaker and Convex Polyhedra costlier
- specialization composition: instantiate the same APP framework with one-atom partitions to propagate abstract constraints through CHCs
Safety Verification of Declarative Smart Contracts
- relational executable specifications: define contract state, updates, and properties as tables and rules
- transition-system encoding: compile rule dependencies and updates into atomic state transitions
- induction over transactions: prove initial safety and preservation for every transition
- predicate extraction: derive candidate invariant atoms and matching conjunctions from rule bodies
- Houdini elimination: generate template candidates and remove those refuted by base or induction checks
- compiler boundary accounting: separate proof of the abstract contract from trust in generated Solidity
C*: Unifying Programming and Verification in C
- separation-logic contracts β specify heap ownership and functional behavior with preconditions, postconditions, and loop invariants
- forward symbolic execution β compute canonical symbolic heaps and apply frame-preserving updates at each statement
- operational state transformation β use justified proof lemmas to reshape symbolic state before a difficult memory access
- LCF proof kernel β expose abstract theorem values and primitive inference rules through programmable proof code
- derived proof libraries β package recurring heap normalization, lifting, reordering, and representation lemmas
- interleaved real-time checking β show symbolic and proof state after each implementation segment for interactive repair
Modular termination verification with a higher-order concurrent separation logic (Intermediate report)
- call-permission instrumentation β insert explicit burns that consume a permission at one well-founded level and create finitely many permissions at a lower level
- lexicographic burn checker β combine permission multisets, unprotected-call counts, and pseudo-size into a well-founded measure preserved by a syntactic check
- authoritative permission state β tie physical permission multisets to Iris weakest preconditions with an authoritative multiset camera and splittable fragments
- compensation for helping β register concurrent observations and mint retry permissions for every thread invalidated by a successful atomic update
Local Look-Ahead Guidance via Verifier-in-the-Loop for Automated Theorem Proving
- goal-delta step reward β score a proof step by softplus of open goals before minus after, and 0 if the verifier rejects it
- gold-augmented candidate group β per state of a human proof, sample 8 steps by beam search, append the human step if absent, and check each one separately
- teacher-forced state walk β advance training along the human proofβs states so that no full proof search is needed for a reward
- group-normalised advantage (GRPO) β turn the rewards of one stateβs candidates into advantages by subtracting their mean and dividing by their deviation, with no critic model
- online candidate refresh β resample candidates from the model under training every 50 iterations; sampling once from the starting model made results worse
- accept/reject preference pairs β pair each rejected step with an accepted step ranked below it; raised step validity and lowered theorems proved
- step-validity panel β Prec.@8, MAP, MRR, no-valid-step share and token length per state, to be read together with the proof rate, not instead of it
- paired proof-length table β cross-tabulate per theorem the proof lengths and failures of two provers to see where a change helps
Practical Range Refinement Types with Inference
- range refinement predicates β express integer bounds and value-dependent constraints as subtypes
- bidirectional candidate inference β back-propagate signatures and phi types, then validate candidates forward
- monotonicity loop analysis β infer increasing, decreasing, or constant ranges with SMT inequalities
- smart casts β use branch and loop path conditions to narrow types flow-sensitively
- purity enforcement β restrict refinement predicates to side-effect-free functions
- hybrid runtime casts β defer an unprovable refinement to a runtime check while preserving the base type
- SSA and e-graph implementation β analyze explicit control flow and propagate equal-variable facts efficiently
- solver-backed range checking β discharge refinement implications and interval arithmetic with Z3
Provably Complete Generalized Planning with LLMs
- semantic PDDL-to-Lean conversion β compile states, actions, goals, and validity constraints into a deterministic theorem-prover representation
- two-stage plan validation β require both Lean static acceptance and VAL success on six concrete debugging instances before proof generation
- fixed universal completeness theorem β prove valid input implies plan applicability and goal satisfaction, with the theorem statement protected from LLM edits
- explicit state invariants β supply reachable-state properties and generate one machine-checked preservation lemma per action schema
- anti-cheating kernel checks β reject theorem edits, nonstandard axioms, unsafe notation/macros, and incremental-build loopholes, then rebuild standalone
- declaration-level proof repair β debug generated definitions and lemmas one at a time while retaining accepted declarations
- Verus contract freezing β preserve
requires,ensures, and ghost predicates while agents modify executable code and proof bodies
Learning to Generate Formally Verifiable Step-by-Step Logic Reasoning via Structured Formal Intermediaries
- structured formal intermediates β JSON/YAML atomic steps with dependencies, formal conclusions, and rules
- asynchronous step verification β parse, translate, and check each step after generation, then assign graded reward
- GRPO with process rewards β train on group-relative rewards that distinguish answer, format, and per-step soundness
- verifier-based test-time selection β sample multiple paths and choose by verified-step reward
Automated and Modular Refinement Reasoning for Concurrent Programs
- layered atomic refinement β prove each concrete procedure simulates exactly one abstract atomic action and compose the simulation across layers
- mover-based yield sufficiency β replace preemptive reasoning with cooperative yields, mover commutativity, and a simulation automaton
- interference location invariants β attach predicates to yields and propagate procedure contracts across atomic specifications
- linear permission typing β use non-duplicable thread IDs and permission tokens to establish disjointness for interference checks
- modular ownership and hiding β assign globals to modules and hide representation variables so quadratic checks are local
AutoSOUP: Safety-Oriented Unit Proof Generation for Component-level Memory-Safety Verification
- scopeβboundsβenvironment triple β write down, for any agent-built proof, which code is verified, what is bounded, and what is assumed, as one auditable artifact
- five acceptance criteria β require structural validity, conclusiveness, coverage, result validity and small size, because passing alone can be bought with bad choices
- LLM-as-function-call β deterministic code owns the loop; the agent gets one bounded task per call; a mechanical validator gates every returned change
- no-regression gate β reject any agent change that lowers coverage or the count of covered or verified properties, even if it fixes the current failure
- type-directed permissive models β start inputs and out-of-scope callees as unconstrained values and valid pointers; add constraints only on demand
- resource-aware scope widening β grow the verified scope file by file from the entry point while the checker stays within time, memory and depth budgets
- coverage-gap taxonomy β classify each unreached property as loop bound, build configuration or callee side effect, and apply the matching local repair
- minimum bound to violate β raise a loopβs bound only to the smallest count at which a nearby property could fail, from sizes, strides and guards
- counterexample to precondition β propagate a violated condition backward to the input or callee model that supplies the value and propose it as an assumption
- caller validation with three outcomes β check an inferred precondition at real call sites: weaken it, record it, or report the caller path as a bug
- verified-count with coverage β never read a verified-property count without the covered-line count beside it
- fix-reversion benchmark β re-inject known bugs by reverting their fixes and score a method by whether its proofs fail at the recorded sink
Neuro-Symbolic Reasoning for Vulnerability Detection
- constrained fact editing β force the LLM to add or remove only numbered AST facts in immutable JSON
- source-backed reconciliation β accept additions only when exact source spans match and force-keep high-confidence facts
- CWE-specific auto-pairing β pair operations and protections with a deterministic strategy specialized to each weakness
- kernel-checked synthesized model β translate retained facts into Lean claims and classify every claim as proved, unproved, or error
- bounded neuro-symbolic refinement β retry once on verdict conflicts or empty lifecycle models
- evidence-aware adjudication β combine symbolic evidence quality, neural evidence quality, and obligation count conservatively
Source-to-Source Transformations for GPU Code Generation
- proof-preserving rewriting β transform a verified reference AST while checking contracts and resources after every step
- GPU transition contracts β model launch, setup, teardown, threads, and shared-memory ownership as explicit resources
- thread-for lowering β convert serial loops to collective thread loops with barrier obligations
- memory refinement β convert generic allocations to global/shared/register memory through checked transformations
- proof-carrying CUDA generation β print host and device code only after the intermediate proof certificate passes
Overcoming Restraint: Composing Verification of Foreign Functions with Cogent
- dual semantics: relate pure values to mutable stores while preserving uniqueness and frames
- refinement tower: connect shallow specifications to C through compositional forward simulations
- array abstraction proof: relate pointer-indexed C arrays to list models with bounds and frame cases
- verified higher-order loop: prove callback contracts, loop invariants, and fuel-based termination
- FFI composition: instantiate library refinements in system code and keep platform assumptions explicit
On Integrating Deductive Synthesis and Verification Systems
- validated relational deduction: decompose relational synthesis problems with one-point, ground, case-split, and recursion rules whose validity composes
- symbolic term exploration: encode typed nondeterministic term generators in SMT and eliminate candidates with verifier counterexamples and concrete execution
- condition-abducting CEGIS: rank typed expressions on examples, abduce branch guards that exclude counterexamples, and grow a correct partition
- anytime AND/OR synthesis: cost-guided search maintains the best partial derivation and can return code with unresolved synthesis holes
Debugging Program Verification Proof Scripts (Tool Paper)
- proof-state scripting: describe non-automatic proof actions as replayable commands over selected goals
- pattern-directed goal control: use foreach, cases, semantic matches, and bindings to route similar obligations
- offline replay debugging: set conditional breakpoints and step into, over, or backward through proof execution
- synchronized proof visualization: inspect script, goal, source program, and explicit proof tree together
- persistent interactive repair: manipulate open goals point-and-click and append the recorded commands to the script
- layered debugger architecture: separate interface, execution control, interpreter, matcher, and prover integration
Local refinement typing
- scoped refinement templates: create unknown predicates only for unannotated local or polymorphic terms
- nested NNF Horn constraints: encode subtyping implications while preserving lexical scope
- strongest scoped solutions: synthesize the most precise refinement from hypotheses defining a variable
- scope-based sharing: omit redundant outer binders to prevent exponential let-chain expansion
- acyclic elimination: remove refinement variables exactly in dependency order
- cyclic cut solving: leave a feedback set for qualifier-based predicate abstraction
- higher-order lifting: propagate inferred refinements through polymorphic functions and collections
FO-Complete Program Verification for Heap Logics
- support-based Frame Logic: represent each formulaβs heap footprint with Sp and verify exact or relaxed allocated-set conditions
- unique-heaplet SL-FL: use determined heaplets and translate separating formulas to FL with support disjointness
- cloud quantifier elimination: replace guarded location quantifiers with value-preserving, support-free terms
- strongest-postcondition VC generation: process SSA blocks while tracking transformations, heaps, allocations, frames, and recursive definitions
- FO-complete natural proofs: restrict VCs to one-way foreground functions and discharge them by systematic quantifier instantiation plus SMT
Position: Natural Language Should Not Fully Replace Formal Languages
- specification ladder: classify each requirement as overspecified, fully specified, pragmatically underspecified, or indifferent before choosing prose or a formal contract
- specificity measure: model acceptable outputs as a constrained set and estimate the information needed to reach it with a chosen error tolerance
- translation-gap accounting: add domain-to-language KL divergence to the information cost of a natural-language specification
- crossover hybridization: route low-specificity intent through natural language and high-specificity behavior through formal notation or direct artifacts
Verification of Threshold-Based Distributed Algorithms by Decomposition to Decidable Logics
- threshold-sort abstraction: encode βat least tβ sets with dedicated sorts and membership relations in FOL
- TIP decomposition: prove protocol-independent set intersections in BAPA and use their FOL translations as axioms
- A_IP inference: enumerate, subsume, and decide all valid simple threshold properties under resilience assumptions
- CTI-guided minimization: add only intersection lemmas that block counterexamples to induction
COBALT-TLA: A Neuro-Symbolic Verification Loop for Cross-Chain Bridge Vulnerability Discovery
- bounded LLM-to-TLA+ synthesis β generate finite
Init/Nextmodels and TLC configurations from protocol descriptions - TLC semantic-oracle loop β classify subprocess outcomes and use shortest breadth-first traces as deterministic feedback
- structured trace extraction β parse state blocks, variable assignments, and action labels into repair directives
- agentic REPL correction β alternate model generations and checker feedback until a bug, safe result, or budget limit
- small-scope vulnerability search β exploit short counterexamples while recording the finite-bound limitation
- architecture-to-code boundary β treat model findings as protocol evidence and require a separate proof or semantics link for deployed code
(Quantified) Horn Constraint Solving for Program Verification and Synthesis
- Horn obligation separation: generate logical proof obligations from program semantics and solve them with a reusable backend
- forward and backward invariants: encode reachable-safe regions, unreachable-bad regions, or both in one constraint system
- well-founded progress: add ranking or transition relations and
wfconstraints for termination and temporal reachability - relational self-composition: prove information flow by relating paired executions without source duplication
- quantified reactive synthesis: solve an adversarial environment game for an invariant-preserving system transition relation
- abstraction-based Horn solving: exploit recursion and Horn structure for iterative solver and invariant inference
Program Verification via Predicate Constraint Satisfiability Modulo Theories
- modular Β΅CLP fixpoint encoding β express termination, non-termination and temporal properties with nested least/greatest predicates
- Β΅CLP-to-pCSP reduction β replace fixpoints, quantifiers and recursion with predicate/function/well-founded clause variables
- stratified CEGIS β synthesize candidates from expanding template families and validate them with SMT counterexamples
- ranking-function templates β use piecewise affine and lexicographic well-founded relations for termination
- unsat-core template growth β increase only template parameters implicated by unsatisfiable cores
- primal-dual solving β solve a query and its De Morgan dual concurrently
Formula Slicing: Inductive Invariants from Preconditions
- selector-based weakening: annotate lemmas with Boolean selectors and remove those falsified by SMT counterexamples
- abstract postcondition weakening: compute strongest postconditions within a lattice of formula weakenings
- ART formula slicing: propagate and cover weakened candidates over CFA nodes until a fixpoint
- invariant-engineering optimizations: use live-variable filtering, caching, CFA reduction, and syntactic weakening
Verification of a Smart Contract for a Simple Casino
- record-state transition: represent mutable contract state as input/output records with relational postconditions
- bounded arithmetic: model fixed-width integers with explicit ranges and preconditions against overflow and underflow
- proof-guided repair: use failed verification conditions to correct code, invariants, and preconditions
A Contract-Grade Verifier for LLM-Generated GPU Kernels, and a Native Blackwell Backward for the Gated-Linear-Recurrence Family
- adversarial contract battery: test values, shapes, gradients, precision, ordering, determinism, exceptional values, device placement, and resource limits
- tolerance-free gates: compare masks or bytes exactly for non-finite propagation, repeatability, and aliasing
- derived numerical bounds: derive reduction tolerances from epsilon, length, and scale rather than a universal threshold
- positive-control validation: require broken-kernel rejection and independently correct-kernel acceptance before auditing a corpus
- differential benchmark audit: join the benchmark verdict with the stronger verifier in a 2x2 table and preserve denominators
- oracle-backed systems verification: establish an independent high-precision oracle and run the same contract battery on native code
Sound Gradual Verification with Symbolic Execution
- optimistic symbolic heaps β track precise and imprecise ownership separately, emitting checks whenever a proof relies on an optimistic field or permission
- guard-based dynamic checking β compute path-specific checks and exclusion frames before each concrete operation, then execute only after checks pass
- valuation correspondence proof β relate symbolic terms and heaps to concrete states and prove progress plus preservation
- exclusion-frame repair β prevent permissions represented by imprecise caller state from escaping to callees when recursive predicates and allocation can overlap
A Minimal Agent for Automated Theorem Proving
- iterative proof refinement β compile each candidate, return diagnostics, and repair the same theorem until a complete proof is accepted
- kernel plus reviewer gate β combine deterministic compilation and placeholder checks with an independent statement and cheating review
- self-managed proof memory β summarize durable lessons from prior attempts instead of replaying an unbounded transcript
- bounded library retrieval β search theorem libraries and documentation within a fixed tool budget before proposing proof code
- modelβscaffold separation β compare foundation models inside the same agent loop so architecture and model gains are measurable separately
ConVer: Using Contracts and Loop Invariant Synthesis for Scalable Formal Software Verification
- top-down contract derivation β synthesize only function contracts needed by a system assertion and check them compositionally
- SMART ICE CEGAR β classify system/function counterexamples and refine contracts with structured examples
- CEGIS fallback β synthesize contracts against accumulated positive, negative, and implication constraints
- inductive loop invariants β prove base, preservation, and exit obligations instead of unrolling loops
- complexity-scored pre-abstraction β route high-risk functions through conservative summaries before refinement
- property-preserving preprocessing β translate a richer model to a verifier language while retaining assertions
Verifying LLM-Generated Code in the Context of Software Verification with Ada/SPARK
- annotation-only completion with edit whitelist β give the LLM the fixed contract and code, allow only proof annotations and annotation-only control flow, and accept on a clean verifier run
- pre-compiled verifier failures in the prompt β run the verifier before the first LLM call and paste each unproved obligation with its source line and the next line
- n parallel samples β request n completions of one prompt and verify each independently
- retry with failed attempt and its diagnostics β reprompt with the rejected file and the verifier messages it produced, up to r rounds
- fixed-budget breadth/depth split β hold n(r+1) constant and compare splits; here 4β6 samples with 1β2 retries beat 12 samples and beat 2 samples with 5 retries
- explain-first preamble β ask for a prose diagnosis before the answer; measured as no gain over a prompt that already asks for step-by-step solving
- removal-schema benchmark β strip chosen annotation kinds from verified programs, keep only cases the verifier now rejects, and report per schema
- post-cutoff contamination control β include a source published after the modelβs training cutoff and report its solve rate separately
How Powerful Are LLMs in Generating Formal Program Specifications?
- concrete specification instantiation β substitute test input-output pairs into a formal predicate and prove the resulting obligations
- mutation-generated negatives β derive incorrect behaviors from implementation mutations and require the predicate to reject them
- staged filtering β filter syntax, first positive, all positive, and negative rejection in sequence
- verifier calibration β anchor prover choice on fixed human-written specifications and track evaluation duality
- executable recursive specifications β use Fixpoint-like ghost recursion when it reduces specification and proof complexity
Specula: Scaling formal specifications for autonomous model checking of system code
- evidence-linked invariant extraction β derive protocol and code invariants from repository artifacts while preserving source lineage and fault models
- reference plus scenario models β build an invariant-guided reference model and bounded projections that focus model checking on documented scenarios
- bidirectional conformance β validate code traces against the model and model-check repaired models to reject overfitted permissive behavior
- controlled counterexample reproduction β replay model traces through public APIs with staged timing and fault controls, then encode successful reproductions as tests
- self-evolving repair loops β feed model, invariant, instrumentation, and reproduction evidence back into bounded iterative repair
- breadth-first plus simulation search β combine short exhaustive counterexamples with long random traces under explicit depth and fault bounds
Towards Formal Verification of LLM-Generated Code from Natural Language Prompts
- user-checkable formal query β express natural-language intent in a precise, readable DSL and require user approval
- state calculus modeling β represent side-effecting code as symbolic initial/final state transformations
- symbolic interpretation β fork unknown conditions and track unknown attributes and collections over all relevant states
- unification-based verification β match program and query state pairs while reporting extra assumptions and actions
- module description compilation β specify DSL modulesβ types and state effects, then compile source tasks into the common calculus
- knowledge-base lowering β resolve high-level descriptions to system-specific package, file, and configuration facts
HybridProver: Augmenting Theorem Proving with LLM-Driven Proof Synthesis and Refinement
- whole-proof synthesis β sample complete theorem proofs to capture global induction and case structure
- mechanically verified sketches β preserve accepted subproofs while replacing failed parts with explicit placeholders
- tactic-plus-hammer refinement β solve each unresolved subgoal with an LLM and symbolic automation, then reverify
- proof-style dataset separation β train high-level and low-level models on cleaned Isar and apply proof corpora
- verification-guided reinforcement learning β use theorem-prover outcomes as rewards and penalize placeholders
- sampled component composition β combine diverse candidates, sketch refinement, and backtracking under final checker acceptance
BFS-Prover: Scalable Best-First Tree Search for LLM-based Automatic Theorem Proving
- verifier-backed state-transition search β execute each model-generated proof step in the proof assistant and branch on valid state, completion, or error
- length-normalized best-first search β rank proof paths by accumulated log probability divided by path length raised to a tunable exponent
- expert iteration with self-filtering β remove statements solved by beam search so later rounds train on harder obligations
- positive-trace SFT β accumulate accepted state-step pairs over rounds and fine-tune on the complete history
- compiler-error DPO β pair an accepted step with an error-causing sibling from the same state and optimize their preference margin
- distributed asynchronous proving β partition theorems across verifier workers and share a pool of asynchronous policy-model workers
A Generic Methodology for the Modular Verification of Security Protocol Implementations (extended version)
- global ghost trace β record protocol and attacker events in a shared trace whose invariant implies security properties
- local stable snapshots β retain trace-prefix facts with fractional ownership across concurrent extensions
- linear uniqueness witnesses β prove injective agreement by consuming a non-duplicable event resource
- secrecy labels β over-approximate attacker knowledge and reject sends that introduce unauthorized terms
- parametric verification library β verify trace, attacker, and cryptographic lemmas once and instantiate protocol-specific invariants
- custom mathematical theories β encode events, traces, terms, labels, and cryptographic equations for SMT reasoning
- wrapper-enforced modularity β route every protocol-relevant I/O/crypto operation through contracts that append trace events
Evaluation of LLMs for Mathematical Formalization in Lean
- stratified benchmark sampling β sample heterogeneous tasks proportionally and homogeneous tasks randomly, publishing the fixed task list
- standardized zero-shot prompting β hold prompt, format, temperature, and token budget constant for controlled model comparison
- verifier-safe extraction β reject bypass tokens and compile an extracted body against an immutable theorem statement
- pass@k β estimate at least one verifier-clean proof among k independent generations
- refine@k β iteratively repair a failed proof using exact verifier diagnostics, with a fixed turn cap
Draft, Sketch, and Prove: Guiding Formal Theorem Provers with Informal Proofs
- informal proof drafting β create one or many natural-language reasoning plans before formal generation
- proof-sketch decomposition β represent high-level intermediate conjectures while leaving low-level holes open
- aligned intent comments β copy relevant informal segments beside corresponding formal sketch blocks
- few-shot autoformalization β prompt a language model with paired informal/formal examples to generate a sketch
- hole-by-hole proving β run an automated prover on every open conjecture and accept only a fully checked result
- multi-sample drafting β sample 100 candidate drafts or sketches per problem to increase discovery opportunities
- ablation-guided pipeline design β measure the independent value of drafts, comments, sketches, and automation
- machine-checked acceptance β reject outputs containing bypass keywords or any statement the formal kernel cannot verify
LLM-Assisted Automatic Security Proofs for Cryptographic Protocols: How Far Are We?
- solve-tree coverage: normalize verifier solve obligations and score generated lemmas by covered target proof paths
- minimal-generator analysis: model sufficient proof-item sets and estimate predecessor-to-generator continuation probability
- few-shot property generation: prompt LLMs with protocol rules and example lemmas, then parse and autoprove outputs
- mutation-based metric validation: inject controlled protocol flaws and correlate proof-coverage scores with verification flips
- cost and saturation analysis: measure syntax yield, coverage by security family, repeated-sampling gains, and verification time
VeriEquivBench: An Equivalence Score for Ground-Truth-Free Evaluation of Formally Verifiable Code
- bidirectional equivalence score β prove code implies the contract and a constructed reverse checker proves the contract implies the code
- staged autoformalization β generate first-order contracts, repair syntax in bounded rounds, then verify code and tests
- tag-composition synthesis β combine domain, data-structure, and algorithm tags and filter generated tasks by executable and formal checks
- specification-to-language audit β translate a formal contract to natural language and compare it with the userβs query
Towards Autoformalization of Mathematics and Code Correctness: Experiments with Elementary Proofs
- grammar-aligned proof generation: sample theorem and proof skeletons from a controlled grammar while emitting paired formal code
- per-literal copy tokens: replace each distinct identifier or number with an indexed placeholder and learn to copy it
- relative-position recurrent Transformer: remove absolute positions, use relative self-attention, and add recurrent encoder/decoder passes for length generalization
- semantic verifier scoring: run the target proof assistant and score validity separately from exact proof-string match
Formal Verification of an Out-of-Order Multiprocessor against an In-Order Weak-Memory ISA
- serial core specification β abstract out-of-order hardware into a program-order list whose squash rules make excess behavior easy to remove
- compositional refinement chain β prove small module simulations, compose them transitively, and finish with system-level trace inclusion
- position-map simulation invariant β relate early-retired and squashed implementation events to abstract instruction positions
- intermediate specification β add temporary ghost state for a timing mismatch, then prove refinements into and out of it
- option-lifted preconditions β encode pure method preconditions by lifting specification state to
option - kernel-checked LLM proof workflow β keep human model design and use agents to elaborate proofs whose scripts must pass the kernel
- folded pipeline specification β relate a clean abstract transition to several internal pipeline steps with a ghost fold
- stable identifier reservation β preserve unique queue identities and reserve in-flight response identifiers to prevent ABA reuse
Staged Specification Logic for Verifying Higher-Order Imperative Programs
- staged higher-order contracts: record requirements, updates, unknown calls, and final results as an ordered trace formula
- biabductive normalization: compact staged flows by merging compatible stages and inferring missing frames across requirements
- forward staged verification: summarize each expression with sound rules and prove summary subsumption by entailment
- recursive staged summarization: unfold recursion and re-summarize at call sites to recover compact client contracts
Neuro-Symbolic Generation and Validation of Memory-Aware Formal Function Specifications
- separation-logic contract generation β generate pointer-shape preconditions, output postconditions, and disjoint heap assertions
- prompt-guided specification synthesis β use predicate documentation, few-shot examples, and negative error patterns
- compiler-feedback refinement β classify Coq/QCP diagnostics and iteratively repair generated annotations and imports
- counterexample-guided refutation β negate a postcondition and use concrete Coq tests plus hammer to prove one violating case
- anti-trivialization checks β reject missing input bindings and
admit,Parameter, orAxiomdeclarations in refutation tests - overlap-aware benchmark construction β normalize C data types for QCP and report overlapping structure categories with denominators
Goedel-Architect: Streamlining Formal Theorem Proving with Blueprint Generation and Refinement
- blueprint dependency graphs β plan a typed acyclic graph of small definitions and lemmas ending in one target theorem
- narrow-context parallel proving β prove each node using only declared parents with compiler and library feedback
- diagnosis-driven refinement β repair false statements from checked counterexamples and split hard lemmas into helpers
- proof reuse β preserve solved nodes across revisions when signatures and parents remain unchanged
- natural-language structural seeding β use an informal proof to guide initial decomposition while requiring formal proof afterward
LEGO-Prover: Neural Theorem Proving with Growing Libraries
- modular block proving β decompose an informal proof, retrieve or synthesize lemmas, and assemble a checked formal proof
- vector-store skill retrieval β embed verified lemma documents and retrieve nearest statements for each proof request
- directional skill evolution β generalize skills by dimension extension, key-concept extraction, parameterization, or complexity scaling
- request solving β turn pending decomposer subgoals into independently verified reusable lemmas
- library ablation β compare equal-budget proving with and without persistent skill storage
- dual informal-proof evaluation β hold formalization fixed while comparing model-generated and human-written plans
A Case Study on the Effectiveness of LLMs in Verification with Proof Assistants
- dependency-aware prompting: include imported contracts, notations, and theorem signatures used by the target proof
- in-file context prompting: provide preceding definitions and lemmas, then measure token cost against success
- structural proof patterns: use induction, simplification, rewriting, constructors, and existing contrapositives
- reflection-based reasoning: case-analyze inductive propositions that connect executable predicates to equality
- proof-size stratification: report success by tactic-count interval and test whether exact scripts are memorized
Predictable Verification using Intrinsic Definitions
- intrinsic data-structure definitions: characterize heaps with ghost monadic maps, local neighbor conditions, and entry-point correlations
- fix-what-you-break: augment mutations with ghost-map repairs and a broken-location set that is empty at method boundaries
- finite impact sets: derive bounded mutation neighborhoods and prove that all locations outside them preserve local conditions
- decidable VC engineering: encode heaps, allocation, calls, and ghost updates with quantifier-free maps, sets, and parameterized updates
Fast and Reliable Formal Verification of Smart Contracts with the Move Prover
- borrow-based reference elimination β convert ownership-safe references into value updates so the solver avoids aliasing
- dynamic mutation tracking β represent runtime reference origins with tagged mutation values and a borrow graph
- fine-grained global invariant injection β assume and assert invariants only at memory footprints that can affect them
- suspended invariant checking β defer temporary invariant violations to a caller that can establish the invariant at the boundary
- inductive and update invariants β prove one-state properties by induction and two-state properties from a saved pre-state
- generic invariant unification β specialize invariant instances when parameterized accessed and modified memories unify
- verification monomorphization β generate relevant concrete generic instances to obtain multi-sorted solver formulas
- continuous contract diagnostics β run fully automatic proofs in unit/integration workflows and report traces for missing conditions
Harnessing Code Agents for Automatic Software Verification
- whole-lemma kernel loop β give a general code agent a complete lemma, run the prover, return exact diagnostics, and retry with a bounded budget
- declarative event hooks β enforce imports, banned constructs, command safety, linting, coverage, and kernel verification through auditable pre/post hooks
- staged proof pipeline β separate extraction, first proof, error repair, and fresh-session style polishing while kernel-checking every accepted edit
- bounded session reuse β preserve retry history and nearby-lemma context for a small window, then reset to prevent context dilution
TensorRight: Automated Verification of Tensor Graph Rewrites
- aggregated-axis DSL: represent arbitrarily many uniformly treated dimensions with named and aggregated axes
- rank-class bounding: infer a sufficient rank per class, verify all lower ranks, and use k-induction for larger ranks
- symbolic SMT lowering: model tensors as uninterpreted functions and prove pointwise equality under symbolic accesses
- counterexample projection: lower a higher-rank failure to a lower-rank instance using rank-independent semantic factors
- preconditioned rewrites: include attribute and validity predicates in the equivalence obligation
Natural Language based Specification and Verification
- typed natural-language contract records: write each caller obligation or caller-visible effect as a small record with an enumerated kind, a target, an optional size or condition expression, and a prose description
- property-split summary passes: infer allocation, free, initialization, precondition, leak and integer-range summaries in separate passes rather than one
- callee-first SCC driver with summary cache: process strongly connected components of the call graph leaves first, rerun a recursive component, within a bound the paper does not give, while its summaries change, and store every summary for reuse
- discharge-or-propagate precondition inference: for each callee obligation decide whether the current function establishes it or must pass it to its own callers
- call-site PRE and POST annotation: paste callee contracts as comments at each call with actual arguments substituted, so the check is local to the call
- contract simplification after checking: drop every precondition the body discharges and expose only the remainder to callers
- block summaries for oversized functions: cut at syntactic boundaries, summarize each block as a named pseudo-function, and replace earlier blocks by their summaries
- name-only library summaries: obtain contracts for source-less library functions from the modelβs knowledge of their documentation, and treat them as trusted
- allocation-versus-free matching for leaks: decide leaks by comparing a functionβs allocation summary with its free summary and its calleesβ postconditions
Modular Responsiveness Verification of Rust Async Runtimes
- task-centric obligation β reduce a liveness property over many tasks to the fate of one arbitrary (waker, predicate) pair that must be handed over or discharged, never dropped
- pollable conditions P1βP3 β
Readyonly if the condition held,Readyif it held at entry, and onPendingthe waker is registered or already woken - reactor conditions R1βR2 β each iteration wakes every stored obligation whose predicate already holds and keeps every other one
- monotonic predicate abstraction β model each awaited condition as a fact that never turns false, so a stale positive observation remains valid
- monotone refinement pruning β treat a path that observes true and then false for one predicate as unreachable
- two-start-state pollable check β analyze
pollonce with the condition unknown and once with it true, and inspect the state before each return - two-symbolic-obligation reactor check β seed one obligation assumed ready and one unknown, run one iteration, and require the first to be woken and the second not to be left held locally
- locally-held obligation set β track an obligation as a resource that only insert or wake may remove, so an empty set at return proves it was not forgotten
- precedes relation for strict obligation transfer β record which predicates were true when another was observed false, and require registration to precede completion for one-shot notifiers
- terminating reactor β model a one-time waker such as a channel send as a reactor body without the loop, checked per invocation
- retry-loop fixpoint β admit a try-wait-retry loop in a pollable by computing the least fixpoint at the loop head and checking the same return-site conditions
- no-op annotation macros over MIR β mark model operations in unchanged Rust with macros that expand to markers and extract the model from the compilerβs intermediate representation
- seeded violation per verification condition β test a checker by breaking a real component once for each condition it claims to enforce
Prophecy-Based Automated Verification of Message-Passing Programs
- program-point functions: rewrite the program so each function performs one statement and then calls a continuation, with the live variables as arguments, and make one predicate per function
- channel as prophesied message list: give both channel ends the same guessed list of future messages; the sender proves each send matches the head, the receiver assumes it
- empty-sender-list at thread end: a thread may terminate or fail only if every sender it holds has an empty remaining list
- clone as interleaving: split a senderβs remaining list into two whose interleaving is the original, with a three-clause Merge predicate
- failure flag joined by disjunction at spawn: carry a flag for reaching failure and set the parentβs flag to the or of the two threadsβ flags
- thread-discard clause: allow any thread to be abandoned with flag false provided its sender lists are empty, so that one threadβs failure does not require running the others out
- timestamped prophecies: stamp each guessed message with its send time, keep each threadβs last event time, and require send time strictly before receive time and non-decreasing times within a thread
- sorted-on-creation: require a new channelβs guessed list to have strictly increasing stamps, which encodes first-in-first-out order across all senders
- exact-then-approximate portfolio: on timeout of the complete encoding, run the sound incomplete one and accept only its safe answer
- ordering variants by predicate swap: drop Sorted for per-sender order, use multisets and Union for no order, add receive times for a bounded buffer
- three-valued status for deadlock: extend the flag to failed, terminated or blocked, add a blocked clause for receive on an empty list, and make a blocked whole program the goal
- fold hint for list invariants: supply a counting fold over the message list when the invariant says all elements have a given value
- instrumented semantics as proof mediator: prove an encoding correct by a semantics that carries the guesses and steps only when they hold, matched step by step with resolution
- timestamp-ordered linearization: turn a tree-shaped refutation into a thread schedule by expanding nodes in increasing timestamp order
FormaTheoria: Constructing Large-Scale Lean Theories from Mathematical Literature Toward the Formalization of the Classification of Finite Simple Groups
- candidate/approved states β an itemβs statement is frozen on approval; later agents may replace proofs but not statements
- statement-hash immutability check β snapshot a hash of every declarationβs statement before an agent runs and reject any stop point where a hash differs
- review-gated agent loop β the loop returns only when a task-specific reviewer accepts; rejections are appended as diagnostics and the agent continues
- axiom-free success check β a claimed proof is accepted only if its dependency closure uses no axiom beyond the logicβs standard ones
- prove/refine proof graph β one agent proves a single node, another splits nodes judged too hard, over a persistent graph with proposed, proved and pruned states
- pruned-node memory β failed decompositions stay in the graph so they are not retried after context compaction
- TooHard versus NotProvable β separate statuses for split-this and this-looks-false, the second leading to pruning or escalation
- falsify-before-prove β try to refute a doubtful implication in a smaller setting before stating it as a helper lemma
- fresh-context semantic review β a reviewer with no access to the translatorβs reasoning compares statement and source against a checklist
- self-improved review checklist β recurrent translation failures and human interventions are turned into new checklist rules
- conclusion-in-assumption check β reject statements whose hypotheses already contain the conclusion, which prove trivially and cannot be used
- bridge lemma for misaligned definitions β prove the equivalence or the one valid implication between two formal definitions of the same notion and edit neither
- constrained reconciliation β a single globally exclusive agent may edit only the two conflicting declarations, must keep all downstream uses elaborating, and otherwise escalates
- DEF/MAL/INT issue taxonomy β classify a failed integration as source defect, cross-source misalignment or incorrect translation before choosing a repair
- recursive dependency discovery β an agent returns the missing item, the workflow formalizes it first and restarts the interrupted task
- dependency-aware batch parallelism β run a sectionβs items concurrently and make a worker wait when its dependency is already in progress
- section-level context sharing β start each task from the latest model context of the same source section
- independent root-statement comparison β check the proved theoremβs type against a statement written by another party and replay the proof in the kernel
- converse as sanity check β prove the reverse direction of a classification so that a short readable predicate vouches for elaborate constructions
Learning to Repair Lean Proofs from Compiler Feedback
- backward repair-data construction β mutate a verified proof, keep the mutant only if the checker rejects it, and use the original as the repair target
- lemma substitution by semantic search β swap one cited lemma for a near neighbour so the proof fails on a subtle premise or conclusion mismatch
- same-class tactic swap β replace a solver or rewriting tactic by another of the same role, one to three per proof
- LLM-refilled line redaction β hide one proof line, let a model fill it, and keep the cases where its completion fails to check
- tail-only multi-line redaction β redact at most the last half of a proof, never a middle block, so the refill has no following code to contradict
- answer-informed diagnosis labels β generate explanation and fix text from the correct and broken proof plus metadata, phrased as if only the broken side were visible
- diagnose-then-repair target format β train the output as explanation, fix suggestion, then corrected proof, given error, state, error line and failing proof
- split by original theorem with anonymized names β keep all mutants of one proof in one split and rename the theorem to a fixed identifier
- explanation handoff β pass a fine-tuned small modelβs diagnosis to a stronger general model as extra repair context
Re:Form β Reducing Human Annotations in Scalable Formal Software Verification with RL in LLMs: A Preliminary Study on Dafny
- verifier-filtered curation: crawl code, cleanse it, translate when needed, and retain only runtime-verified formal programs
- compositional benchmark assembly: combine verified functions into held-out call graphs and incrementally verify each node and composition
- specification cropping: crop
ensuresandinvariantclauses from the context so the model learns to regenerate them with the full program - regularized verifier RL: sample formal outputs, score verified subsets with weighted rewards, and update the policy while constraining drift from SFT
SemaPLC: A Project-Grounded, Verification-Gated Agent Harness for PLC Code Generation
- verification gate β the harness, not the agent, ends a task, and only when every required check has a logged verdict produced after the last edit
- edit invalidation β any change to the candidate clears all stored verdicts so each verdict attaches to exact bytes
- earned claims β a pass counts only if the tool-call log holds the matching check result; otherwise it is recorded as unchecked
- delivery hash gate β the delivered file must hash-match the input of the last successful build and contain no test-injection artifact
- first-diagnostic-only repair β feed the agent only the earliest compiler diagnostic, with at most two repair rounds per check
- layered checks in cost order β specification audit, compile, then live execution, each failure becoming the next repair prompt
- failure-shape repair targeting β map the kind of runtime mismatch (flat, wrong, late) to the part of the program to repair
- defect-class specification checklist β audit code against the requirement by coverage, boundary strictness, otherwise-case, global invariants and domain axioms
- project grounding with bounded edits β retrieve existing interfaces and declarations first and forbid redefining them
- reference-validated hidden oracle β accept a generated test oracle only if the hidden reference scores full marks on it
- inconclusive-as-failure scoring β count verifier timeouts and unsupported results as failures and keep failed generations in the denominator
- three-round oracle audit β flag, re-derive from scratch, adjudicate blind, and repair only defects confirmed twice
Machine-Generated, Machine-Checked Proofs for a Verified Compiler (Experience Report)
- logical-relatedness simulation: replace exact target-step matching with a reflexive, transitive relation that absorbs administrative redexes and alpha-equivalence
- relational ANF specification: prove a fresh-name relational judgment first, then show the executable stateful translator refines it
- continuation-parametric correctness: quantify over arbitrary fresh continuations so induction composes across contexts
- template-based proof adaptation: reuse a human-designed logical-relation proof architecture for related compiler passes
MiniF2F-Dafny: LLM-Guided Mathematical Theorem Proving via Auto-Active Verification
- ghost proof guidance: use
calc, cut-point assertions, and separately specified lemmas to steer SMT verification - contract-preserving validation: reject changed preconditions, weakened postconditions,
assume, and new axioms before scoring - bounded verifier feedback: run up to four independent attempts with three error-correction rounds driven by structured Dafny diagnostics
- compact trust accounting: report proved versus axiomatized lemmas and keep their denominators separate from solver pass rates
SpecGen: Automated Generation of Formal Program Specifications via Large Language Models
- conversational spec synthesis: ask an LLM for code-local specifications and feed verifier diagnostics into subsequent turns
- operator-family mutation: enumerate predicative, logical, comparative, and arithmetic substitutions around a near-miss specification
- refuted-candidate replacement: remove each failed candidate and replace it from the same template family until verification succeeds or the family is empty
- weighted variant ordering: assign mutation weights to prioritize likely-verifiable candidates while retaining deterministic search
Foundational Refinement Proofs for Deployed Bytecode, at the Price of Tokens
- post hoc bytecode refinement β relate deployed low-level execution directly to a high-level specification without trusting its compiler provenance
- compositional reach invariants β chain cursor-based opcode and loop lemmas while threading gas exhaustion through one invariant
- unknown-code call coupling β model external calls with the same semantic relation on implementation and specification sides
- agentic certificate production β have an LLM fill reusable proof obligations, replay every result in the kernel, and log cost and human intervention
The Prover Is the Judge: Verified Security Software from AI Coding Agents in Ada/SPARK
- verifier-driven loop β iterate agent edits through proof, tests, interoperability, and classified diagnostics with human specification oversight
- diagnostic skill evolution β store prover repair patterns in a reusable instruction file and escalate valid hard goals to a stronger proof engine
- anti-gaming feedback policy β reject assumptions and verification-scope escapes that silence obligations, while reviewing legitimate boundaries
- assurance stratification β label components Proven, Validated, or Tested and report the denominator and property for each layer
Agentic Verification of Software Systems
- agentic context search β decide between a tactic and a targeted Search/Print/Locate/About/Check query, then feed the result back into generation
- proof-tree-aware interpretation β maintain subgoal nodes and tactic edges so the agent chooses and updates open branches with whole-proof context
- error-guided repair and escalation β revise a failed tactic once, then query for missing context after persistent identical errors
- historical proof memory β archive complete successful state transitions and retrieve similar records for subsequent tactic generation
Lemma Functions for Frama-C: C Programs as Proofs
- lemma function: state a lemma as the contract of a pure terminating function and prove it by a body whose recursive calls are the induction hypotheses
- recursion-mirroring proof: give the proof function the same case split and recursive call as the specification function it is about, with the same measure
- explicit or implicit lemma use: call the lemma function with concrete arguments for control, or let the solver instantiate its generated axiom
- sound axiom generation: turn a proved contract into an axiom that is hidden from its own proof and from earlier code, and force purity and termination clauses onto the function
- loop generalisation: prove a per-value lemma, then obtain the bounded quantified statement from a loop that calls it under an invariant
- proxy with a body: wrap a logic expression in a function with an equality postcondition, and always give it a checked definition
- component ordering of lemmas: group mutually recursive lemma functions and order the groups topologically so no lemma is used before it is proved
- parametrised lemma module: prove one lemma over abstract condition and default functions and instantiate it, in place of near-identical proofs (proposed only)
- minimal lemma replacement: when converting a proof base with unproved lemmas, prove the smallest set the code proofs need, not each old lemma
VeriGuard: Enhancing LLM Agent Safety via Verified Code Generation
- paired policy and constraint generation: one LLM call writes an allow or deny function, a second writes prose IF-THEN constraints covering allowed and denied cases, and a verifier checks one against the other
- ambiguity analysis and arbitration: list unclear points, presuppositions and counterexamples in the request and constraints, then have the user or an LLM arbiter fix each as an explicit assumption or requirement
- generated tests before proof: filter a candidate with LLM-written unit tests and repair it from the test errors before spending verifier time
- prose-to-contract translation with verifier feedback: rewrite prose constraints as pre- and postconditions using a grammar reference and examples, and feed verifier counterexamples back for repair
- verified function as runtime guard: call the proved policy at each intercepted agent action, with arguments extracted from the agentβs text
- graded response to a denial: on a violation, combine telling the agent which rule it broke with halting only the offending tool call, which kept attack success at zero with the highest task success among the five rows of Table 3
The Verifier is the Curriculum: Precision Sets the Return on Search in Code Self-Distillation
- all-or-nothing execution gate: accept a candidate only on exit code 0 plus no error pattern in the toolβs output, and expose no score
- gameability probe: apply a cheap change that leaves behaviour fixed and see whether the signalβs score moves
- gated self-distillation with gold anchor: per round, sample 8 per task, keep at most two deduplicated passing candidates, add to gold, retrain a fresh adapter from the base
- matched controls for self-training: gold duplication, filter swap, generator swap and volume cut, each at the same fuel count
- precision ladder: at fixed admitted count, replace a known share of correct fuel with incorrect fuel and fit gain against precision; here gain is about precision times the clean gain
- error-direction ladder: mask true positives or inject false positives separately at a fixed count; for filtered fine-tuning only false positives cost
- optimizer-swap check: repeat the error-direction test with the gate as an RL reward, where false negatives push away from correct outputs; the clean reward falls to 0.608, against 0.629 with false positives and 0.696 clean (Appendix Table 3)
- search-by-gate crossing: vary candidates per task and gate strictness together; more samples pay only behind the strict gate
- unoptimized readouts with negative controls: an instrumented state-change score and a blind brief judge, each calibrated on gold and on known-bad or do-nothing artifacts
- task-clustered statistics: permute within task, bootstrap over tasks and seeds, use the unbiased coverage estimator, and resample hard tasks to separate efficiency from reach
Proof2Silicon: Prompt Repair for Verified Code and Hardware Generation via Reinforcement Learning
- RL prompt repair β train a small policy model with PPO to edit the prompt of a frozen code model, rewarding a verifier pass and penalizing each remaining error
- error-count shaped reward β give a success bonus at zero verifier errors and otherwise a penalty linear in the error count plus a constant, with a large penalty for empty output
- prompt-as-state loop β encode prompt, generated code and verifier feedback as the state and cap the repair at a fixed number of rounds (seven here)
- verification language as compiler front end β verify in Dafny, emit Python with the stock backend, strip the runtime, and hand the result to a domain compiler, accepting that the guarantee stops at the first unverified rewrite
- synthesis-readiness funnel β report counts at each stage (verified, compiled, synthesized) so that the loss per stage is visible
APE-Bench: Evaluating Automated Proof Engineering for Formal Math Libraries
- dual verification: accept an edit only if it compiles in the pinned environment and a three-judge majority accepts it on correctness, requirement alignment and scope
- task contract: state a task as environment pins, objective, path boundaries and a verification protocol, with no solving strategy, so any agent program can run it
- commit-mined tasks: filter file-level commits by size and compilation, have an agent write an intent-level instruction from the diff, and optionally check that the human patch passes
- blocked target and three workspaces: writable scratch, immutable library, read-only references, enforced by OS permissions
- compile-on-edit tool: the edit call returns checker diagnostics, removing separate compile calls
- content-addressed version store: key compiled files and declaration embeddings by hash so many library commits share them
- version-scoped retrieval: search declarations by name, description or keyword, filtered to the taskβs commit
- judge audit by expert labels: rate a sample of checker-passing solutions by hand and report the judgeβs false accepts and false rejects per criterion
- budget curves: record cost and turns per task and plot pass rate against each to separate price from ability
MAGS: Multi-agent Auto-formalization Guarantees Safety for Agentic Outputs
- frozen specification library β build and audit domain safety definitions and API semantics once, then make them read-only for all proof and repair agents
- safe and unsafe probe programs β accept an agent-written specification library only if known-safe clients verify and known-unsafe clients are rejected
- sampled human audit with a defect checklist β audit a random fraction of generated specifications for structural errors, too-strong preconditions, unchecked safety conditions, oversimplification and deviation from the core logic
- symbol-mirrored semantic embedding β model each API under the real APIβs name so that mapping verified code back to real calls is a fixed substitution
- parallel probed proof plans β generate several proof strategies with annotation sketches, test each sketch on the verifier, and run the survivors as independent repair processes
- annotation before code repair β first try proof-only edits that cannot change behavior, and allow executable edits only afterwards
- proof-bypass scan β deterministically reject candidates containing assumptions, axioms or disabled verification
- runtime checks for environment assumptions β state what the verified code assumes about its caller as executed checks at the boundary
- independent safety oracle on the final artifact β measure specification coverage by the share of verified programs that an unrelated dynamic checker still flags
- before-and-after held-out functional tests β detect certificates obtained by removing behavior, using tests the repair agents never see
- steering success conditions β add lightweight task-success constraints during repair to discourage trivially safe programs, kept outside the certificate
- tactic library extraction β after each success, store reusable invariant patterns and solver-stabilizing tricks for later programs
Spec-Harness: Measuring and Improving Behavioral Adequacy of LLM-Synthesized Formal Specifications
- concrete-pair harness β replace the body by one concrete input and output and let the verifier check the postcondition on it, giving a false-alarm rate over known-correct pairs
- output-mutation completeness β verify the postcondition against perturbed outputs and count how many it rejects, to expose contracts that accept everything
- precondition admit and reject scores β check the precondition on valid inputs and on boundary-violating inputs separately, since a reject-all guard maxes one and zeroes the other
- threshold reporting β report the share of accepted contracts whose adequacy score reaches 0.25, 0.50, 0.75 and 1.0 next to the verification rate
- graded verifier score β map verified, one verification error, several, and syntax error to 1.0, 0.3, 0.1, 0.0 so a prompt optimizer has a slope
- name normalization β rename classes and methods to neutral names so a model cannot read the intended behavior off the identifier
- adequacy-gated completion β give the agent a harness tool beside the verifier and allow it to finish only when both pass
- refutation-generator warning β treat any keep-what-is-not-refuted contract generator as acceptance-maximizing and check its preconditions for reject-all guards
Testing, Credible Compilation, and Verification in the Axon Verified Compiler in Lean and Claude Code
- prove-or-check split β prove components that are stable and simple by induction; leave volatile or theory-heavy ones unproved and validate each output with a proved checker, discarding rejects
- relational-invariant certificates β an unproved transformer emits per-point and cross-program invariants plus command, variable and transition maps that a proved checker validates
- twin checker with bridge theorem β keep a logical checker for proofs and an executable one for running, proved equivalent
- totality companion theorem β pair every theorem about returned results with one saying well formed input always gets a result, to exclude the reject-everything implementation
- upstream check instead of hard lemma β when a property of an intermediate form is hard or false, add a run-time check earlier that establishes it
- test before prove β differential and targeted tests first, to cut proof attempts and to catch environment constraints absent from the formal model
- plan-probe-revise-execute β per step, plan, run uncertainty-resolving experiments, revise, then execute items in fresh sessions each ending in a validation
- bail-out triad β watch for a weakened conclusion, an added assumption, or an unproved hole with a rationale
- minimal machine and language model β model only emitted instructions and drop human-convenience language features to cut proof scope
- checker-guarded agent audits β let the agent propose and apply performance changes unreviewed where a proved checker protects correctness
FORALL-LEAN-AGENT for Auditable Reasoning in Formal Mathematics and Software Verification
- layered acceptance check β screen for admissions, axioms and native-code escapes, compare the statement with the frozen one, reject shadowing declarations, compile, then audit the axioms the theorem depends on
- shadowing guard β reject any new declaration that changes what a name in the frozen statement resolves to, since the statement text can stay identical while its meaning weakens
- transcript-blind reviewer β a new read-only session that gets only the statement and the candidate, recompiles it, and returns approve or reject with the candidateβs hash
- hash-bound acceptance β accept only when the verifier result, the reviewerβs compile record and the file on disk carry the same SHA-256, with one directory per sample
- runtime blindness β remove proofs and reference copies from the workspace and enforce file and network limits with an operating-system sandbox and a provider-only proxy, logging refusals
- statement-only retrieval β lookup, search, usages and outline tools that return declaration kinds, statements and locations without proof bodies
- verifier-controlled continuation β the harness, not the agent, decides completion from a verifier pass and resumes the same session with diagnostics until then
- outcome taxonomy β record infrastructure interruptions and zero-spend turns apart from proof failures so they can be resumed, not counted
- independent re-check with its own denominator β rebuild the statement in a trusted environment, compare exported declarations, replay in a second kernel, and report over judged candidates only
- strict versus benchmark-rule counts β report success under the benchmarkβs rule and under a stricter allowed-axiom rule side by side, since dependencies can carry admitted lemmas
- sorry-skeleton proving β write the proof sketch as intermediate claims each left open, then close them one at a time with a compile after each
- proof-body-only upgrade repair β after a toolchain change, let an agent edit proof bodies only and recheck statement, axioms and compilation for every repair
- reference-similarity screen β flag accepted candidates nearly identical to the withheld reference for manual inspection of how they were produced
- validate the validator β test the acceptance check on a fixed set of bypass attempts and harmless look-alikes, then replay stored candidates to look for false rejections
Can ChatGPT support software verification?
- invariant infilling prompt β mark the loop with a placeholder annotation, ask for the invariant in the target annotation language, and require a fixed last line that a regular expression can extract
- valid-then-useful check β first test each candidate alone for being an invariant under a short limit, then test whether the verifier proves the program with it and fails without it
- disable the verifierβs own inference when measuring β restrict the verifier so that a proof can be attributed to the supplied invariant
- conjoin validated candidates β join all individually validated invariants for a loop into one, since a conjunction of invariants is an invariant
- copy-assertion candidate β propose the condition asserted after the loop as the first invariant candidate; in the paper it was valid for 23 of the 30 tasks where the model did so
- checker error feedback β return the validatorβs rejection message to the model and resample; shown on one program, proposed as an inner loop with the validator and an outer loop with the verifier
- annotation translation between verifiers β write invariants once in a common language and convert them into another verifierβs witness format to check them twice
3DGen: AI-Assisted Generation of Provably Correct Binary Format Parsers
- DSL as the agentβs output language β have the agent write a small declarative language with a checker, an executor and a verified compiler, and never the final code
- candidate-set refinement loop β keep all type-correct candidate specifications, grow a labeled test set, drop every candidate that misclassifies a test and feed the failing pair back
- three agents by visibility β a tool-running planner, a developer holding the language manual, and a domain expert holding the requirement document, so no context holds everything
- combinator-to-first-order SMT encoding β inline parser combinators into one state-to-state function per format and ask Z3 for an input that makes it succeed or fail
- branch-trace instrumentation β add an uninterpreted trace of branch tags to the encoding and enumerate traces depth-first to get one input per path
- two-way differential query β an input accepted by one specification and rejected by the other is a distinguishing test; unsatisfiable both ways is an equivalence proof
- prefer the stricter candidate β when one surviving candidate is proved to accept a subset of another, take the stricter one (supported by two cases only)
- legacy implementation as labeler, audited β label generated inputs with an existing tool, and on persistent disagreement decide from the document which side is wrong and correct the label
- tests from a reference specification β generate positive and negative inputs from a trusted specification so every one of its constraints is exercised
Trigger Selection Strategies to Stabilize Program Verifiers
- three hazard checks on a trigger term β reject a term whose instance recreates its own shape, reject a term containing arithmetic, and ask whether the surviving term will occur in the proofs that need the quantifier
- source-level trigger selection β pick triggers on the userβs expression before encoding, so helper functions added by translation never serve as triggers
- adequate and parsimonious candidates β enumerate sets of function-application terms that cover every bound variable and from which no term can be removed
- per-quantifier matching-loop check β a candidate is unsafe if the body holds another term it unifies with, apart from four listed harmless cases; remove unsafe candidates before choosing the least specific
- quantifier splitting β rewrite a quantifier over a conjunction, through at most one implication, into one quantifier per conjunct so each gets its own trigger
- trigger sharing β compute candidates on the unsplit quantifier and offer them to every piece, so a piece may fire on a term from its sibling
- extra-variable rewrite β replace a[i] against a[i+1] by a two-variable quantifier with trigger on a[i] and a[j], or by the transitive i < j form
- assertion repair after trigger tightening β when a stricter trigger breaks a proof, add an assertion naming the needed term; do not loosen the trigger
- seed-variation stability test β verify each file ten times with different solver seeds in three configurations and compare the standard deviations of time
FM-Agent: Scaling Formal Methods to Large Systems via LLM-Based Hoare-Style Reasoning
- caller-driven contract β write a functionβs pre-condition from what call sites establish and its post-condition from what callers consume, merging callers by disjunction and conjunction, so a buggy body cannot define its own contract
- layered call-graph schedule β collapse recursion cycles, sort the call graph into layers from the entry points, and generate contracts for a whole layer in parallel
- natural-language Hoare pass β carry a prose condition through each block from the pre-condition and flag any exit whose condition does not imply the post-condition
- post-condition-first loops β state what holds after the loop, then search for an invariant meeting the three classic checks, and replace the post-condition if none is found
- uninterpreted-function ambiguity test β translate a prose condition to a formula and treat any undefined function symbol as a sign the prose is too vague to formalise yet
- system-entry bug confirmation β report a suspected violation only after a generated whole-system input reproduces it within N tries, using a reference implementation as oracle where one exists
- goal-driven incremental re-check β after an edit, find functions whose contracts should change from the stated goal, update caller before callee, and re-check changed functions and their callers
Trustworthy Software Project Generation : a Case Study with an Interactive Theorem Prover
- pure core / effectful host split β put every deterministic computation the requirement makes a claim about into proved pure functions and leave I/O and allocation in a thin tested layer
- coding plan with ambiguity as blocker β fix types, signatures, host obligations and properties in one document before code, and ask the user instead of guessing any open representation choice
- computes clause plus frame lemma β for each state transformer prove what each written field equals and, separately, that every other field and the container sizes are unchanged
- composition theorems over a dispatcher β prove each structural invariant for the single
stepfunction by case on the instruction, reusing per-handler lemmas - repair ladder β route type errors to the coder, proof errors with the goal state to the prover, and after k failed patches re-read statement, body and types against the requirement before re-proving or handing the goal to the user
- backend chosen by failure feedback β prefer a checker whose failure names a concrete remaining goal; under SMT, keep obligations small so a timeout still localises
Evaluating LLM-driven User-Intent Formalization for Verification-Aware Languages
- test-as-triple correctness β replace a methodβs body by assignments of a testβs input and expected output and verify the unchanged postcondition, so a wrong specification is rejected without any implementation
- output-mutation completeness score β verify the same harness with up to five perturbed outputs per test and score the postcondition by the fraction it rejects
- positive-first failure reading β count a mutantβs failed proof as rejection only after the true output passed with the same harness, and treat it as a conjecture
- element-wise witness assertions β state each concrete array element separately so the solver has the terms to instantiate quantified predicates
- fuel sized to the test β for a recursive specification function on a concrete input, raise unfolding to the inputβs length
- forced-output check β prove from input and postcondition alone that the output equals the expected one, usable when the intended result is unique
From Noisy Traces to Root Causes: Structural Trajectory Analysis and Causal Extraction for Agent Optimization
- textual dependency prior β have an LLM read the agentβs code and write a short edge list of data and control dependencies between modules, plus the rule for which steps change shared state
- failure summarization map β generate a parser for the trace format and aggregate all traces into per-module failure rates, repeated-rejection runs and router choice patterns before reading any trace
- bottleneck and exemplar selection β choose up to five modules by failure frequency and downstream reach, and up to five traces per module that show different failure patterns
- state-change backward slicing β reduce a trace to the accepted state changes before a failing step plus that step and its routing decision, treating repeats under identical state as one segment
- router-first attribution β blame the routing decision by default, the executor only when its own approach is shown flawed, and an earlier accepted step when varied executors all fail after it
- trace-level gradient to general rule β write expected, actual and gap for each localized failure, abstract them into a few rules, and inject them only into the root-cause moduleβs prompt
- repair-agent stopping and switching rules β in a Verus repair loop, drop an action after 2 to 3 rejections in one proof context, switch strategy, and name concrete lemmas, split variables or induction structure in the guidance
Djinnlang: Higher-Level Programming by Unambiguous Specification with an LLM in the Compiler
- unambiguity obligation: prove that any two outputs satisfying the specification for the same input are equal, so the specification leaves the implementer no semantic choice
- existence obligation: prove that every input meeting the precondition has some output satisfying the specification, which rejects contradictory specifications before code exists
- derived postconditions: prove each exported postcondition from the specification predicate, not from the implementation
- pinned stubs: generate every obligationβs signature and contract mechanically and accept a solution only if each appears verbatim with only its body filled
- escape-hatch scan and retranslation: before verifying, regenerate the trusted specification file and reject solutions containing assumption or externalization markers
- relation plus tie-breaker: define a nondeterministic relation as vocabulary and make a function unambiguous by adding constraints that select one output
- domain test on a partial relation: branch a specification on whether a relation has any output for the input, without exhibiting one
- preimage specification: specify a parser as the inverse of a printer, or of a one-to-many printing relation
- deliberate redundancy: restate intent as range facts and concrete cases so a slip in one line makes existence or unambiguity unprovable
- step function with generated driver: express effects as a pure, uniquely specified transition function that the model implements and a mechanically generated loop that performs them
- canonical-answer specification: make search and optimization problems unambiguous by a least-element condition stated per position or by a recurrence for the optimum
- fuel-bounded totality: make an interpreter specification total by a fuel bound and require the exact stopping step
- verified performance pass: accept an optimization only if all proofs still pass and the result is faster on fixed workloads
- obligation guide for the agent: give an unmodified coding agent the stubs, a guide to each obligation kind and one verify command, and let it partition declarations among sub-agents
Agent-Driven Verification of Memory Safety for liblzma Decoder Components with VST
- model-spec-proof stages with a review gate: humans own executable models and contracts, agents own proofs, and every contract change returns through human review
- single-file frozen-statement prover: a proving agent edits one proof file, may add proved helpers, and may never change a definition, statement or contract
- banked admits: keep the file always checking by leaving open subgoals as explicit admits and never reverting checked work
- report-only contract fix: on an unprovable goal the agent reports why it is underivable, why the fact holds of the code, and one exact diff, without applying it
- forward-looking hand-off file: each session reads and updates a file of state, next steps and gotchas so a long proof spans many context windows
- orchestrator recheck before commit: a separate agent re-runs the checker on a stopped subagentβs file and only then commits
- worktree propagation of approved contract changes: apply the change aside, rebuild, spawn repair agents for broken proofs, open a merge request
- coupling invariant for nested state machines: state the allowed pairs of outer phase and child initialization stage, each clause named by the unreachable state it excludes
- goal extraction with a divergence marker: cut a mid-proof goal into a standalone lemma file for a separate agent and guard the cut with a hash of the parent goal until the lemma is applied normally
- workflow hooks: block reads of huge generated files, block the slow checker, and remind agents that a checking timeout is a proof defect
- proof-speed swarm: one optimize task per file, agents profile per sentence, refactor and file follow-up tasks
- solver pre-shaping: do the few needed rewrites before a heavyweight solver and extract single facts instead of running it on the whole goal
- execution-grounded model tests: record entry and exit states of real calls with a debugger, replay them through the functional model in the prover, and compare call by call
- build-intercepted translation: wrap the compiler in the projectβs build so each unit is translated for verification with its real defines and include paths
- source normalization to the verifiable subset: rewrite goto, struct assignment and unstructured switch, and account for the equivalence gap this opens
- per-field focus lemmas: parameterize a struct predicate by absent fields with focus and unfocus lemmas so one field can be used while the others stay framed
A Tale of 1001 LoC: Potential Runtime Error-Guided Specification Synthesis for Verifying Large-Scale Programs
- alarm-guided specification synthesis: use each analyzer-reported possible runtime error as the property the LLM must make provable, not the functionβs behaviour
- verification unit slicing: pair one guard assertion with its host function and direct callees as the whole context for one synthesis task
- placeholder call-site checks: create a precondition check at every call site up front with predicate true, so the work queue has fixed length before any contract exists
- bottom-up unit queue: process units of callees before callers and, within unrelated functions, by line number
- proof-obligation feedback with diagnose-then-generate prompt: give the LLM the verifierβs unproved obligation and make it explain the failure before writing annotations
- host/callee role split: generate preconditions and loop invariants only for the host without showing its callers, and only postconditions for callees
- discard-unproved rule: delete every generated non-precondition annotation the verifier cannot prove, so no unproved fact supports another proof
- precondition propagation: keep an unproved precondition and check it later at each callerβs call site, where failure marks a possible real error
- hypothesis set as output: record each goal that stays unproved, assume it, continue, and hand the list to a human as the residual review task
- bounded syntax repair: return ill-formed annotations to the LLM with the verifierβs error a fixed number of times, then drop them
Leanabell-Prover-V2: Verifier-integrated Reasoning for Formal Theorem Proving via Reinforcement Learning
- verifier-in-thought protocol: let the model wrap a whole candidate in code markers mid-reasoning, append the checkerβs verdict in interpreter markers, and continue from the concatenated history
- verified repair pairs for cold start: have a stronger model rewrite failed proofs from their errors, keep only rewrites the checker accepts, and format them as four input/output splits for fine-tuning
- feedback token masking: exclude checker-produced tokens from the loss in fine-tuning and RL so the model learns the repair, not the error text
- pass/fail trajectory reward: reward a multi-turn trajectory 1.0 for a compiling final proof plus about 0.2 for correct format, with group-normalized advantage
- mixed-outcome group filter: train only on prompts whose sampled group has both passing and failing trajectories
- token-level loss for long trajectories: average the policy loss over all tokens of the group, not per sample first, to avoid collapse when lengths vary widely
- pass-rate band selection: keep training problems the current model solves between 1 in 8 and 1 in 2 tries
- test-time feedback rounds with branching: repeat compile-and-rewrite beyond the single round used in training and optionally sample several rewrites per failure
- binary before graded reward: tactic-count, automation-level and goal-reduction reward terms did not reliably beat pass/fail in the paperβs test
Humanize Olympiad Agents: A Multi-Session Workflow for Olympiad Problem Solving with Solve, Review, Wiki, Verify
- blind reviewer over a frozen artifact: a second session sees only the task, the read-only candidate, the acceptance plan and a runner-written summary, and returns findings instead of fixes
- structured finding record: each reviewer finding carries a location in the artifact, an error type, evidence and the minimal repair requested, under a verdict of accept or revise
- separate semantic and objective gates: the reviewer judges whether the right problem was solved, a tool judges the machine-checkable condition, and acceptance needs both
- runner-held verifier evidence: the checkerβs exit status and log are kept by the controller, so no agentβs claim of success counts as proof
- statement-matching proof check: build in a sandbox, match the submitted theorem against the trusted statement, restrict axioms, and re-check with the kernel
- accepted-only lemma store: after acceptance a curation agent extracts lemmas into records with signature, description, source, imports, location and verification status, retrieved by focused query
- formalize, review, freeze: write the formal statement from a blueprint of laws, givens and claim, have a reviewer reject missing laws, omitted parameters, tautologies and answer-assuming statements, then freeze it before proving
- failures stay in the denominator: binary credit under the machine check, with timeouts and budget exhaustion counted as unsolved
Leveraging Large Language Models to Boost Dafnyβs Developers Productivity
- error-as-comment lemma request: mark the unprovable invariant with the verifierβs message in a comment and ask the model for lemma declarations and their call sites
- one lemma per loop branch: for an invariant over a shrinking suffix, state for each branch how the measured quantity changes under exactly that branchβs update
- axioms-first sufficiency check: verify the caller with bodiless lemmas to filter lemma sets, then prove each lemma, counting nothing until its own proof passes
- branch guard as lemma precondition: add the condition of the branch where a lemma is called to its
requires, since the one example had the model omit it (an inference from a single case) - sibling-proof and example-file prompting for calculations: put a file of calculational proofs and a finished proof of a similar lemma in the prompt before asking for a
calcproof - witness by such-that, not by computation: take an existentialβs witness with
:|(Veruschoose) instead of computing it by division - redundant proof steps for speed: keep intermediate steps the verifier does not need when they cut verification time (cited from Cassez, not tested)
Trust the Spec, Not the Code - A Specification-First, AI-Assisted Case Study in Online Banking
- six-step spec-first loop β review, resolve, prove the invariant, assert it at run time, fix contracts, generate code unread; the paperβs order, which it did not itself follow
- general-versus-instance split β when a requirement comes with a worked example, tell the model to separate the general specification from the exampleβs configuration
- restate then formalize β have the model put a formal text into plain language for the human to confirm, then formalize from that in a fresh session
- proof-or-objection prompt β ask for a proof βor why notβ so that the model lists what is ill-defined before proving
- seeded specification defect β delete one requirement and see whether review or proof notices it
- conservation invariant by operation β choose a preserved quantity, prove each operation preserves it including the refused case, and lift to all reachable states by induction
- compound operation as sequence β prove nothing new for an operation that is a sequence of already-proved ones plus changes to unrelated state
- invariant as run-time oracle β assert the proved equality before and after every operation in the unverified implementation
- invariant coverage obligations β define, per invariant, the outcomes, input diversity, life-cycle phases and multi-operation stages a run must exercise before βnever violatedβ counts
- paired success and failure contract β give every refusable operation an explicit no-change contract with the complementary precondition
- unconstrained-input review β check that every declared input of a generated contract is tied to the state by some predicate
- property-is-not-contract check β after an invariant is proved, list the requirements the invariant does not mention and review those separately
Can LLM Aid in Solving Constraints with Inductive Definitions?
- three-kind conjecture taxonomy: classify each proposed lemma as contradicting the definitions, true but insufficient, or sufficient but unproved, and apply a different check to each
- sufficiency before truth: first check that the goal follows with the proposed lemmas assumed, and only then spend effort proving each lemma
- recursive sub-goal tree with fixed budgets: treat every sufficient lemma as a new goal, to depth 3, with 2 prompts times 3 queries per node and all siblings required to succeed
- consistency filter: in one second ask the solver whether definitions plus the conjecture are contradictory, which needs only universal quantifiers, instead of asking whether the conjecture is valid
- goal-copy rejection: drop any conjecture syntactically identical to the goal so the search cannot recurse on itself
- stuck-step extraction by equational reasoning: make the model rewrite the inductive case step by step with a justification per step, and emit the one unjustified step as the conjecture
- common-term generalization with a bridge lemma: replace a term occurring on both sides by a fresh variable to get a simpler goal, and add a monotonicity-style lemma linking it back when needed
- labelled problem file: split the input into data types, function definitions and goal, each under a comment, before showing it to the model
- solver-first portfolio: give the unaided solver, in several configurations in parallel, the first 60 seconds before any model call
LAMP: Lean-based Agentic framework with MCP and Proof Repair
- import-driven source injection: resolve the target fileβs imports and paste the imported library source verbatim into every agentβs prompt, to stop invented lemma names
- domain ontology as a tool: serve per-entity records (statement, description, location, dependencies, related concepts) with family and prerequisite-chain queries, consulted after the pasted source and before general library search
- planner/builder dual loop: a prose plan naming lemmas, up to 3 build attempts per plan with error history, up to 3 plans with a failure summary carried between them
- two-gate acceptance: reject on a text match of the placeholder token, then require a compile with no errors, no placeholders and no placeholder warnings
- missing-definition fast path: on a βname not foundβ error reload the library context and retry the build without re-planning
- proof-body-only patching: the controller locates the proof region and replaces only it, stripping any re-emitted signature, so the statement cannot change
- existential sub-sequence definitions: define prefix, suffix and factor by the existence of surrounding pieces over the host list type, so proofs split on the pieces instead of on indices
- library growth from solved goals: after human review, add verified proofs to the library as lemmas for harder targets (proposed, not run)
Contract-Aware Rescue of a Drifted Isabelle Development: The Double-Tank Case Study
- declaration-level drift audit β take every named declaration of the earliest version, map it to its current form by machine, classify each non-identical one by hand, and report changed over total
- eleven-class correspondence map β label each old declaration preserved, renamed, specialised, generalised, split, merged, reformulated, superseded, missing, rejected or added
- conclusion-in-premises check β flag a theorem whose assumptions contain conjuncts of its own conclusion, especially under a name that suggests an unconditional result
- boundary-operator diff β treat any change between strict and non-strict comparison in a safety definition as a change of requirement
- seam-definition review β when a placeholder predicate that a headline theorem assumes receives a definition, check that the definition does not contain the theoremβs conclusion
- requirement traceability chain β link each top-level requirement from motivation through definition, assumptions, theorems, translations and monitor
- architectural invariants for layered proofs β require that added abstraction layers preserve source semantics, that transported results rest on a proved satisfaction condition, and that public claims expose unproved premises
- double contract check β run the conformance check before the prover to save prover time and again after it to catch edits made during patching or iteration
- named authority escalation β when a proof needs a change outside its region, issue a new contract that names the change and keeps the old obligation on record
- chained baselines in dependency order β make each accepted state the protected baseline of the next task and order tasks so the final theorem must use the earlier ones
- visible seam β leave an undecided layer as a named placeholder in the outline instead of filling it with a convenient definition
- named successor obligation β write an unproved link as an explicit theorem statement with an identifier, outside the accepted release
- two-source rescue β rebuild a drifted development from the original statements plus the drifted versionβs proofs, in a separate tree
- archive of broken states β keep failed candidates and diagnostics, since they explain why later statements and assumptions changed
- second-instance generality check β instantiate generic proof machinery with an unrelated model to show it was not specialised to the first
Fyan: A HumanβAI Harness with Semantic Auditing for Document-Level Formalization
- slot-paired statement audit β cut informal source and formal contract into binder, hypothesis, goal and definition slots by code, have a model relate paired groups, and let code score every unpaired slot as an omission
- source-first extraction β build and independently review the quoted formula tree of the requirement before the model sees any formal text
- meaning checklist β ask six fixed questions of the original text: hypotheses present, no hidden extra conditions, conclusion strength, notions realized by their bodies, domain and type edge cases, non-vacuity
- polarity rule β conclusions may be strengthened and assumptions weakened, never the reverse, with the sign flipping under negation and on the left of an implication
- omission as β€ or β₯ β model a deleted conjunct as true and a deleted disjunct as false so that omissions obey the polarity rule instead of a special case
- quantifier-domain adapter β accept a changed variable domain only with a map in the direction fixed by quantifier kind and polarity
- minimum-grade verdict β grade each row 0 to 3 and take the minimum, computed by code, so one unresolved item fails the statement
- closed conversion list β allow βtrivially equivalentβ only when the row names a conversion from a fixed list
- no re-vote, fail closed β repair a malformed recordβs form but never resample a valid unfavorable one, and treat no valid record as rejection
- bridge obligation β admit a non-identical statement only with a machine-checked proof that it implies an audited source-facing statement
- frozen signature β bind the accepted statement to its source and definitions so any later edit voids the certification
- completion gate without a model β decide βdoneβ by placeholder count, build, signature currency, bridges, certification and transitive axiom audit
- graph checked by code β let a model propose units and dependencies, then verify coverage and acyclicity and recompute the order deterministically
- statement scaffold β fix all planned lemma statements with placeholder bodies, reject vacuous targets, and lock them before proof search
- comment-only advice β route human, supervisor and mined-skill guidance through channels that cannot edit statements, proofs or state
NanoProof: Open and Efficient Automated Theorem Proving in Lean 4
- AND-OR goal search β pick one step per goal, require all resulting goals, run every candidate step in the checker at once and drop the invalid ones
- depth as reward β score a finished proof by negative tree depth so the search prefers short proofs that branch
- coupled-goal merging β keep goals that share an undetermined term in one node and split only after the term is chosen
- shared actor-critic with value bins β one model emits either a step or a value token, the value being a weighted average over discrete bins
- staged training plus replay loop β pretrain on text, fine-tune on extracted steps, then train on the proverβs own successful proofs with a 10% supervised fraction mixed in
- matchmaker scheduling β lower the priority of tasks always solved, never solved, or solved in one step
- edge-contraction pruning β drop one step at a time, recheck only the affected sub-proof, restart after each success
- rename-and-shuffle augmentation β rename hypotheses consistently and reorder them when reusing a stored proof
- path cycle rejection β discard a step whose resulting goal equals, up to renaming and order, a goal already on the path to the root
- first-token diversity cap β limit how many sampled candidates may begin with the same token
- proof-tree extraction β split human proofs into single-goal nodes and simple steps (nested blocks, calc chains, case branches, merged rewrites) and keep only trees that re-execute
- distance-to-end labels β store sub-proof size and depth at every node as supervision for a value estimate
- incremental step checking β kernel-check only the terms a step newly assigns, which stays correct across branches and is linear in proof length
- independent final recheck β accept a proof only after checking it as a standalone file outside the interactive harness
- hardware-time compute accounting β convert reported device-days to a common unit with fixed per-device factors and state what each total includes
MechMath: Sorrifier-Driven Formal Decomposition Workflow for Automated Theorem Proving
- innermost-error sorrifying β replace the smallest block around the first compiler error with a placeholder, recompile, repeat until the proof compiles with holes
- truncate-and-close β when an error is outside any structured block, cut the proof at that position and close the goal with a placeholder
- hole-to-lemma extraction β read goal and hypotheses at each placeholder, keep only relevant hypotheses, and emit a standalone lemma
- two-stage subgoal check β compile the lemma statement, then have an LLM test extraction fidelity and search for counterexamples before any proof attempt
- error-type routing β re-extract on syntax or extraction errors, send logic errors back to the parent proof for repair
- apply-back assembly β replace each placeholder with an application of its proved lemma
- no-progress termination β stop recursing when a subgoal reproduces itself, retry directly, and give up after a fixed number of retries
- unanimous triple verification β accept an LLM-judged artefact only when three independent evaluations all pass it
- step-mirrored formalization β make each numbered informal step one named intermediate claim so failures stay local
- bounded repair before decomposition β allow a fixed small number of whole-proof repair rounds, then switch to cutting
- search-and-comment repair aids β add library lookup for unknown identifiers and a strategy review by a second model on hard problems
- F1/F2/F3 failure tiers β treat true-claim leaf failures locally, false intermediate claims by regenerating the parent, skeleton defects by regenerating the plan
- informal-proof specification test β treat persistent verifier rejection of every informal proof as evidence that the formal statement is wrong
LLMSTEP: LLM proofstep suggestions in Lean
- three-class checked suggestion β run each model suggestion in the prover and label it complete (no goals left), valid (no error, goals remain) or invalid
- prefix-constrained step suggestion β the caller fixes the first tokens of the next step and the model completes only steps that begin with them
- proofstep fine-tuning format β train on strings
[GOAL]state[PROOFSTEP]next-stepextracted from an existing proof library - client/server suggestion split β a small prover-side client sends state to a separate model server so the model and hardware can be swapped
- search-based evaluation at fixed budget β score a step model by theorems closed under best-first search with budget attempts Γ expansion Γ iterations and a timeout
Adaptive Proof Refinement with LLM-Guided Strategy Selection
- four-field failure record β store failing tactic, error message, partial proof and stuck state, plus retrieved lemmas and one similar proof, as the input to every repair step
- LLM repair-move selection β one LLM call per round returns lemma discovery, context enrichment or regeneration with arguments
- two-stage lemma discovery β generate lemma statements, drop those the checker rejects, then prove each separately and keep only proved ones
- lemma adaptation β rewrite a nearly fitting existing lemma and its proof together for the stuck goal
- LLM-keyword context enrichment β retrieve lemmas whose statements contain names the LLM picks, not the whole proof state
- three-rule strategy selector β missing lemmas from the similar proof mean retrieve, definitions without lemmas mean discover, else regenerate
- same-commit masking benchmark β build tasks from commit diffs and hide every lemma introduced with the target proof
- sampled failure triage β read 100 failed tasks and split them into wrong move, failed execution of the right move, and failed proof generation
Lean-STaR: Learning to Interleave Thinking and Proving
- retrospective rationale generation β give a strong model the state and the known next step and have it write a two-sentence forward-looking reason, to build (state, thought, step) training data
- anti-hindsight prompt rules β require reasoning to start from the goal, not name the given step or its lemmas, and place the step last
- thought-before-step prediction β train or prompt the prover to emit a short informal thought before each formal step, sending only the step to the checker
- thought-augmented expert iteration β sample proofs with the current model, keep checker-accepted trajectories with their thoughts, de-duplicate, cap per problem, and fine-tune
- no-thought expert-iteration control β run the same self-training on (state, step) pairs alone to separate the effect of thoughts from that of self-training
- parallel sampling with illegal-step resampling β run K independent attempts, resample at the same state when the checker rejects a step, cap total generations at N
- reference-proof match table β classify benchmark reference proofs by length and count exact and first-step matches among generated proofs to bound memorisation
Building A Proof-Oriented Programmer That Is 64% Better Than GPT-4o Under Data Scarsity
- verifier-filtered synthetic tasks β have code LLMs write self-contained problem and answer pairs from seed snippets and keep only those the proof checker accepts, routing rejects with their errors to a repair set
- snippet recycling for proof tasks β reuse each verified answer as the seed snippet for a new task that asks to prove a property of it
- cross-language data mixing β add general code instruction data and proofs from another prover to the small target-language set before fine-tuning
- in-context statement synthesis β given a real definitionβs opened modules, premises and similar examples, ask for a different statement plus proof in that context and validate it with the checker there
- similarity and test-overlap filter β remove generated definitions that are near-copies of each other, of the prompt examples, or of test items
- mutation-made repair data β break correct proofs by syntax-tree edits that leave identifiers alone and keep the ones that fail checking; measured here as no help on its own
- model-made repair data β collect a modelβs own failed proofs with compiler errors and pair them with the known correct proof as target; measured here as the repair data that helps
- error-range markers in the repair prompt β print the failed proof with comment lines bracketing the failing span, followed by the error text
- sample 5 then repair one failure 5 times β split a 10-call budget into fresh samples and repeated repairs of one randomly chosen failed attempt, which beat repairing five failures once each
- small tuned repairer for a large drafter β send a large general modelβs failed proofs to a small fine-tuned model for repair
TheoremLlama: Transforming General-Purpose LLMs into Lean4 Experts
- informalize a verified library β have an LLM write natural-language statements and proofs for existing checked proofs, so the formal side of each training pair is correct by construction
- contrastive NL-to-formal retriever β fine-tune an encoder so matching informal and formal statements have high cosine similarity, with in-batch negatives, and use it to pick in-context examples
- comment-interleaved proofs (NL-FL bootstrapping) β train on proofs in which each informal reasoning step is a comment placed at the formal lines it explains; interleaving beat a single explanation block up front
- strip-comments equality check β accept an LLM-annotated proof only if deleting its comments gives back the original verified text
- block training β fill each training exampleβs context with the preceding records as few-shot examples so training matches the few-shot shape used at inference
- curriculum data sorting β order training records from short proofs to long ones before fine-tuning
- iterative proof writing β rerun the prover on a problem set using its own verified proofs from that set as the in-context examples, until a round proves nothing new
- harness-fixed header β write imports and file preamble by hand outside the modelβs output to keep stale-version syntax out
Goedel-Prover: A Frontier Model for Open-Source Automated Theorem Proving
- dual-style autoformalization β train two statement formalizers on pairs from different sources and keep one valid output from each per problem, so the prover sees more than one style of the same statement
- compile-with-hole statement check β accept a generated statement only if it compiles with its proof replaced by a placeholder
- four-judgment score for faithfulness β have an LLM judge each formal statement four times against its informal source and drop those with fewer than two approvals
- expert iteration from the base model β each round sample 16 whole proofs per statement, keep one random checked proof per solved statement, add to a cumulative set, and retrain from the original base model
- staged statement pool β enlarge the pool of statements between rounds, which in this paper accounts for the large jumps in solved count
- held-out slice plus cross-benchmark correlation β hold out a random sample of the generated statements and correlate scores across test sets over rounds to detect that two test sets need different training data
- pass-ratio band for RL problems β train with reinforcement only on problems the current model solves sometimes, here in at most half of 16 samples
- shortest-correct-proof preference pairs β when building preference pairs choose the shortest correct proof as the positive, which largely removed the growth in proof length and in
tryuse (Table 5: 308 against 486 for plain DPO, and 1.11 against 10.89tryper proof) - timeout equals failure reward β give a checker timeout the same negative reward as a wrong proof
- shortcut monitors β track average proof length and the count of permissive tactics per proof across training to catch reward hacking
- outline then subgoals β have a general model write a
haveoutline and a prover fill each subgoal; with all-or-nothing assembly this solved fewer problems than sampling alone
SpecPylot: Python Specification Generation using Large Language Models
- wrapper-and-syntax check before the verifier β require one well-formed code wrapper per LLM answer and retry a bounded number of times with format repair instructions, so format failures are not counted as verification failures
- three-way outcome label β record PASSED, REFUTED and INCONCLUSIVE separately so that a search cut off by its budget is never reported as success or as a wrong contract
- gated counterexample refinement β spend a repair call only when the checker returned a concrete counterexample, did not time out, and answered within the time budget
- contract-only repair β on refutation give the model the annotated code plus the failing call and allow edits to contracts alone, leaving the program text fixed
- explored-path report β for each unfinished run report the counts of confirmed and undecided paths to show how far the bounded search got
- cover-driven test stubs and run record β generate branch-covering inputs from the final contracts as test stubs and store prompts, raw outputs, intermediate code and checker output for every round
A Deeper Look at Depth: Stable Generation Accounting for Quantifier Reasoning
- depth-limit reading of a failed proof: a needed instance is blocked when quantifier weight plus the matched termβs generation exceeds the threshold, so name intermediate terms to bring them to generation 0
- generation-ambiguity check: look for a term reachable by two instantiation routes of different cost, or equal terms created at different depths, when a proof flips on irrelevant edits
- shallowest-derivation semantics: define a termβs generation as the minimum weighted depth over Input, Inst and Congruence derivations
- ideal-model bisimulation: prove a bounded search heuristic stable by showing two-way simulation with a confluent ideal state machine
- observable-context confluence: state stability as no step ever shrinking the set of equality and instance contexts the solver can still reach
- sticky generation updates: only ever lower a termβs generation and never undo it on backtracking
- per-class generation with replay: keep one generation per congruence class, take the minimum on merge, and re-apply recorded lowerings after an unmerge
- root e-node storage: store the class generation on the congruence rootβs e-node to avoid a cache-unfriendly table lookup
- mutant-based outcome-stability measurement: 99 seed, shuffle and rename mutants per query, counting unstable queries, unknown runs and timeouts separately
AI with Authority, from Application to Silicon
- five artifacts per objective: every agent task returns implementation, specification, proof, adversarial tests, and certificates
- implication certificate: prove that the specification implies a simpler restatement and have the human review only the restatement
- test promoted to theorem: turn a concrete input and output pair into a machine-checked consequence of the specification
- active interrogation: the reviewer asks for unfolded binders, justified hypotheses and variants, and accepts only machine-checked answers
- prose-first requirement elicitation: adversarial review of the objective, recorded interview, then acceptance criteria registered before any specification
- immutable statements: the proving agent may not edit the statement; a change of statement is a recorded design act
- named and dispositioned hypotheses: every unproved assumption appears in the statement, tagged to be discharged or out of domain, with none in-domain left at delivery
- per-theorem axiom audit: list what each theorem depends on and allow only a fixed set
- structured opposition: refuter pass before execution and an independent second agent on every landing, for claims no verifier decides
- measurement travels with its command: no number is reported without the command and scope that produced it
- controls must be able to fail: a check is accepted only after it has been shown to reject a bad input
- budgeted attempts with loud failure: classify and price a task, cap attempts, and record exhaustion as a result
- link-by-link trust chain with provenance count: name each linkβs checker and count how much of the shipped artifact came through the verified path
Diversifying to Verify: When Task-Equivalent Programs Differ in Verifiability
- frozen-contract staging: write and validate the contract first, freeze it, and let later stages change only code within a family and then only proof scaffolding
- stage repair boundaries: give each stage an explicit list of what repair may and may not alter, and check afterwards that the contract was untouched
- example-derived test lemmas: accept a generated contract only when the prover shows it holds on the taskβs concrete input/output examples
- witness-plus-bound postcondition: for an optimum, require that some valid witness achieves the result and that no valid witness beats it
- representation-specific contract vocabulary: index bounds and bounded quantifiers for arrays, structural recursive definitions for lists
- structural implementation diversity: generate one program per representation and control-structure family and keep whichever verifies
- tests as a pre-proof filter: admit an implementation to the proof stage only after type checking and a fixed set of executable tests
- scan-optimum invariant triple: witness for the current best, upper bound over the processed part, and exclusion of the skipped part
- bounded diagnostics-driven proof repair: return the verifier log with the frozen contract and tested code for at most two proof-only repair rounds
- suffix-shortening bridge lemma: prove that an interval property ending at the next index restricts to one ending at the current index, to lift a maximality invariant across a step
- verifier ladder: direct solver portfolio first, then split verification conditions, then inline helper definitions, for remaining goals only
- remaining-root-goal count: measure how close a failed artifact is by the number of unproved root goals
- judge-then-inspect specification audit: screen every artifact with a judge model for contract-task match and contract preservation, and read the flagged ones by hand
MutDafny: A Mutation-Based Approach to Assess Dafny Specifications
- implementation mutation against a fixed specification: mutate code only, re-verify, and treat a mutant that still verifies as a lead to a weak contract
- four-way mutant classification: alive, killed, invalid before verification, timed out, with only the first two entering the score
- two-test operator applicability: keep an operator from another language if the target language supports the operation and the result can be a valid program, then drop always-equivalent ones
- operator restriction table: record per operator which replacements are allowed so mutants are not rejected for trivial reasons such as a missing nonzero-divisor proof
- reverse bug-fix mining: filter commit messages by fix-like stems, read each fix backwards as the mistake, and agree by consensus on new operators
- pre- and post-resolution target scanning: find syntactic targets before type resolution and type-dependent targets after it, then mutate the unresolved tree one target at a time
- per-file mutation score excluding invalid and timed-out mutants: killed over killed plus alive, reported as a distribution over files
- survivor audit restricted to functions with postconditions: sample, label each survivor weakness, equivalent or unclear, and confirm a weakness by strengthening the contract until the mutants die
- subset-postcondition check: where a result is specified only as contained in something, test whether the empty or unchanged result verifies
- incremental mutation during development: run mutation on each new component as it is written to keep the survivor list short
Ranking LLM-Generated Loop Invariants for Program Verification
- three-check invariant oracle: accept a loop invariant only when it holds at entry, is preserved by one iteration under the loop condition, and with the negated condition implies the postcondition
- weakest-precondition reduction: turn each loop-free Hoare triple into one implication by substitution for assignment, nesting for sequence and a guarded conjunction for conditionals, then ask the solver
- zero-shot invariant sampling with a fixed answer header: give the problem, fix the first line of the answer to the invariantβs signature, and sample until one candidate verifies or time runs out
- contrastive candidate ranker (iRank): train a three-layer map over frozen embeddings so verified invariants score near 1 and rejected ones near 0 against their problem, then check candidates in score order
- per-fold ranker training: split problems into five folds and rank each problem with the model that never saw it
- shuffle-before-check baseline: a random permutation of sampled candidates halves the mean rank of the verified one relative to generation order
- TF-IDF candidate ordering: sort candidates by textual similarity to the problem, an untrained ordering that beat random order on median rank in both settings
- semantic candidate de-duplication: drop a candidate when one solver call proves it equivalent to an earlier candidate for all variable values
- verdict logging for ranker data: keep every verified and every rejected candidate per problem as the positive and negative sets a ranker needs
Refinement Reflection: Complete Verification with SMT
- refinement reflection: declare a total function as an uninterpreted symbol and put its body into its result type, so each written call contributes one quantifier-free unfolding
- termination-and-totality gate for logical functions: admit a function into specifications only with a decreasing measure and exhaustive cases, since a diverging definition proves 0 = 1
- proofs as total programs: state a theorem as a function type and prove it by a terminating function, using branches for case splits, recursion for induction and calls for lemmas
- equational proof combinators: chain terms with relation operators whose types make the solver check each link, with an optional because-argument that supplies a lemma
- natural deduction as types: keep refinements quantifier-free and encode for-all as a dependent function, exists as a dependent pair, and as a pair, or as a sum, implication and negation as functions
- witness-passing existentials: prove an existential by returning the witness with a proof about it, and use one by unpacking the pair
- guard normal form: rewrite each definition as (condition, body) pairs with all conditionals hoisted, so that unfolding can be conditioned on a decided branch
- Proof by Logical Evaluation: repeatedly add the defining equation of every function application whose guard the solver can prove, until the goal is proved or no new equation appears
- unfolding fixpoint as diagnosis: when guard-directed unfolding saturates without proving the goal, the missing ingredient is a case split, induction hypothesis or lemma, not more unfolding
- transparency condition: run unfolding search only in contexts that are inhabited or refutable, which is what guarantees it stops
- tester-and-selector reflection of data types: translate pattern matching into nested conditionals over constructor tests and field selectors in place of quantified axioms
- defunctionalized lambdas with ground Ξ±/Ξ² instances: encode lambdas and application as uninterpreted symbols and add only the renaming and reduction equalities for terms present in the goal
- assumed extensionality operator: turn a pointwise equality proof into function equality through an explicitly unverified axiom, to be counted in the trusted base
- proof-carrying law classes: add laws as proof methods of a class and make clients require the verified class, so instances cannot exist without proofs
- theorem insertion in executable code: pass a proof term to an identity-typed helper to add a lemma instance to the verification context at a program point
Towards Real-World Industrial-Scale Verification: LLM-Driven Theorem Proving on seL4
- step-level rationale data: pair each proof step with the state before and after and have a model explain the change, to build training data from an existing proof corpus
- held-out construction: remove every step of the evaluation theorems before generating any training rationale
- interleaved proof and rationale output: train or prompt the model to emit each proof command followed by a comment on its effect, producing the whole proof in one pass
- targeted proof context: supply only the definitions and lemma statements the proof needs, not whole files
- oracle-context evaluation: take the context from the human proof to isolate proof writing from premise selection, and report it as such
- whole-theory evaluation by outside rule: evaluate every theorem of theories named by the projectβs own documentation
- placeholder ban in the success criterion: a proof counts only if the checker accepts it with all goals closed and no sorry or oops
- attempt-budget curve: report success at 5, 64, 128 and 256 independent attempts
- step-level rationale audit: count wrong explanations per command type across all passing proofs
- copy check against reference proofs: report the share of accepted proofs that differ from the human proof and compare method counts
- two-factor ablation on one theory: base, training only, context only, both, on a fixed 105-theorem set
dafny-annotator: AI-Assisted Verification of Dafny Programs
- location-free annotation proposal: the model emits only the annotation text and a harness tries it at every syntactically valid site, keeping the first placement the verifier accepts
- greedy annotation accumulation: keep any annotation the verifier proves even while the contract still fails, and loop until the contract verifies or the iteration budget ends
- annotation peeling for training pairs: remove annotations from a verified program last-first, emitting one (program without it, annotation) example per removal
- prompt-masked fine-tuning: train only on the annotation tokens, with the program part of each example excluded from the loss
- edit-graph synthetic corpus: typed nodes (root, idea, program) grown by idea, implementation, annotation and change editors, with the verifier as the filter
- partial-verification keep rule: retain generated programs whose annotations all verify though their postconditions do not, and store the verifier feedback with them
- hint-needed test filtering: strip annotations and evaluate only on items that then fail, since most items (243 of 326 here) verify with no hints
Inferring multiple helper Dafny assertions with LLMs
- two-stage assertion repair: separate where to insert from what to insert, and let a script do the insertion so the model cannot edit anything else
- line-numbered localization prompt: show the failing method with numbered lines plus the verifier error and ask for a JSON list of at most two lines after which to insert, with forbidden zones spelled out
- error-type insertion table: map each verifier error type to insert-before-the-reported-line or insert-at-end-of-enclosing-block, covering loop-invariant, timeout, subset-constraint and domain errors as well
- parallel hybrid localization: run the heuristic position and the LLM position as two independent repairs and accept either, since they succeed on different programs
- ten candidates per placeholder: ask for a JSON array of exactly ten candidate assertions per marked position in one call and verify them by script
- partial-combination testing: when two positions are proposed, also verify each candidate alone with the other position left empty
- dual-embedding example retrieval: rank solved examples by a weighted sum of error-message similarity and code similarity, take the top three, and exclude examples from the same function
- failure-filtered removal benchmark: delete one, two or all assertions from verified programs and keep only variants that the verifier then rejects, dropping pairs equivalent to a single removal
- position-validity metric: label a predicted insertion point by whether the original assertion verifies there, instead of by line distance
- assertion taxonomy: classify helper assertions as index, test-like, multi-line or other to see which the model can infer and to target prompts
- test-first specification workflow: draft test-like assertions as an executable specification, then infer the helper assertions needed to make them verify
- reuse-before-generate candidates: try assertions already present elsewhere in the function at the localized position before asking a model, a fix the failure analysis points to
Cost-Efficient Theorem Proving via Agent Orchestration in Program Verification
- two-level proof graph: keep a lemma-dependency DAG across declarations joined to a per-declaration record of verified steps and open subgoals, with statuses open, provisional, conditionally solved, stable and rejected
- stable-only promotion: mark a declaration proved only when the checker accepts it and every generated lemma it depends on is itself stable
- dependency-ready frontier: maintain two in-degree counters per declaration (unelaborated and unstable prerequisites) and update them per event to get the workable goals without a model call
- root-relevance filter: never schedule a helper that has no dependency path to a target, and require each proposed helper to name its consumers
- priced routing decision: have a router return a goal group, a specialist, a reasoning-effort and iteration budget, and a preliminary analysis, choosing by same provability then lowest expected cost to finish the whole task
- self-amended routing rules: start from a short description of each specialist plus one priority and let the router revise the rules after each observed outcome
- guards with deterministic fallback: reject malformed or repeated decisions mechanically, bound router retries per step, and fall back to the cheapest admissible action
- buy-if rule: purchase a paid action that would finish the remaining work with probability p at price k only when k is at most p times the best expected remaining cost
- embedding-clustered goal batches: group frontier goals by deterministic spherical k-means on statement embeddings so one call serves related goals and a helper sees several consumers
- automation first with no-progress cache: try model-free proof search on goals blocked only by definitions, keep partial scripts, and cache failures on unchanged states
- bounded proof writer: give one goal, the routerβs analysis and an iteration cap, insert only hole-filling lines, keep partial verified progress when the cap is hit
- no-guess lemma names: allow only library names confirmed by a check or returned by retrieval, and retrieve by description after an unknown-name error
- lemma planner with consumer annotations: state a missing fact as a general, side-conditioned, proof-less lemma with declared dependencies and consumers, and prove it later as its own goal
- corner instantiation before proposing: mentally test a candidate lemma at empty, boundary, swapped-bound and overflow cases and add the missing hypotheses first
- two-step lemma refutation: screen each proposed lemma by random instances, then by model-proposed structured instances, rejecting on any counterexample and never promoting on a pass
- checked rollback: allow a rewind only with a counterexample that is verified to refute the goal or a stated reason the path is much harder, and rewind to the nearest node that restores a viable path
- failure memory: attach the reviewed reason for each abandoned path or lemma to its node so later planning does not retry it
- at-risk spend: for each unproved lemma that others were built on, report the cost already sunk in its dependents as a signal to resolve it first
- factor along the pipeline: prove one lemma per implementation stage with the earlier stageβs guarantee as a hypothesis of the later, and close targets by rewriting with stage lemmas without unfolding the implementation
- induction matching recursion: choose structural induction or the functionβs own induction principle to mirror how each function recurses, generalizing hypotheses so the induction hypothesis fits the changed argument
- extensionality lemma for canonical forms: prove that two canonical values with the same observations are equal, then derive uniqueness and permutation-invariance targets from it
- conversation continuation: let the specialist continue the routerβs message history so the shared prefix is cache-priced and contexts stay small
- five-check solved criterion: count a proof only if it has no holes, an unmodified statement, no new axioms, passes a model review and survives a manual sample
- cost on commonly solved problems: compare spending between two systems only on the problems both solve, so that cheap failures and statement-weakening do not look efficient
CAPRI: Contract-Aware Proof Repair for Isabelle
- dual acceptance: accept a repair only when the prover accepts the candidate and a separate checker finds the change within the contract, and label every run valid-success, false-success, safe-failure, rejected-violation or invalid-candidate
- byte-exact frame contract: a per-task file names the editable region by markers, the target declaration, forbidden commands and the build, and the checker requires every protected byte unchanged
- forbidden-command scan: strip comments and strings, then reject candidates containing admitting or axiom-introducing commands, as a safeguard beside the frame check
- proof-body-only interface: show the model only the authorised body, splice its replacement, and run the contract check before the prover so no out-of-bounds edit reaches it
- explicit widening: when a repair needs a helper lemma or changed definition, enlarge the interface and the contract together instead of loosening the check
- replayable audit record: apply each proposal to a fresh copy and keep prompts, proposals, every candidate tree, checker reports, prover output and hashes so runs can be re-decided without the model
- classifier controls: run the reference repair and a deliberately weakened statement through the outcome classifier and require valid-success and false-success respectively
- terminal false-success rule: end a measured run at the first prover-accepted candidate so that an unauthorised green build is counted and not overwritten by a later conforming one
- historical plus controlled repair benchmark: pair real broken revisions with their fixes and add proof-body deletions, freeze everything before running, and report task coverage separately from replicate consistency
Agentic Proof Automation: A Case Study
- compile-and-render checker tool: wrap the proverβs command line so one call on one module returns success or each error printed inside its surrounding source lines
- skeleton-first proof loop: write the case split with a hole in every unfinished case, then close holes one checker run at a time until none is left
- repair with escalation: after a definition change, fix a named file error by error, and leave unprovable cases as marked holes with a written diagnosis of the definition flaw
- query then state-and-prove: ask in words whether a property exists, get the nearest theorems and a candidate statement, then have that statement proved, reviewing the statement the agent wrote
- idiom correction file: keep prover-specific tool choices, idioms and corrections of misleading constructs in the agentβs persistent instruction file
- prompt kind by failure: answer a missed lemma with a prompt naming it and a stalled long proof with a staged prompt, keeping plain goal prompts as the default
- task and outcome annotation: group agent conversations into tasks labelled by category and by five outcomes, and report checker calls, lines changed and intervention share per category
A Neurosymbolic Approach to Loop Invariant Generation via Weakest Precondition Reasoning
- marker-comment segmentation: tag each loop and each loop-free stretch with indexed open and close comments so prompts and scripts address one segment at a time
- backward WP chaining: start from the postcondition, process loops last to first, and let each accepted invariant, pushed back through the code before the loop, become the condition the previous loop must establish
- self-sufficient invariant rule: judge preservation and exit using only the invariant and the guard, and treat any need for a precondition fact as a failed invariant to be strengthened
- typed refinement guidance: on a preservation failure add facts about modified variables and kept relations, on an exit failure add what the loop has accomplished and full-range quantified facts
- ghost witness for existential invariants: keep a variable holding the witness, update it in the body, and state the invariant about that variable
- contract-locked repair: feed verifier output back to the model while allowing edits only to loop invariants and variants
- contract-change counts as failure: when scoring any tool that may rewrite specifications, count a verified result with altered pre- or postconditions as a failure
- non-blocking precondition check: test at the end whether the precondition implies the first derived condition, as a signal that an earlier invariant is too strong
Not All Invariants Are Equal: Curating Training Data to Accelerate Program Verification with SLMs
- correctness and sufficiency split: check a candidate invariant by one run that asserts it at the loop head and one run that assumes it there and proves the property, in parallel
- false-sufficiency bug signal: a counterexample found while the invariant is assumed is a counterexample of the original program
- four-level invariant grade: 0 incorrect, 1 correct but not sufficient, 2 sufficient without speedup, 3 sufficient and faster than the unaided run
- tree-rewriting normalization: remove tautologies, propagate contradictions and drop needless parentheses in one bottom-up pass that preserves meaning
- strip casts then re-verify: delete integer casts for readability and let the verifier reject the cases where that changed the meaning
- verified simplification: have a strong model propose several shorter rewrites of a long invariant and keep only those the verifier grades sufficient
- range generalization: turn an enumeration of values into a bounds pair
- constraint factoring: pull a conjunct shared by all disjuncts outside the disjunction
- closed-form discovery: replace enumerated cases with one arithmetic relation, linear when possible
- one-call invariant model: fine-tune on marker-instrumented programs to emit a single JSON invariant for a named loop
- virtual best solver: score a hint by the faster of the hinted and unaided runs, and report correctness and speedup rates beside it since they diverge
VerMCTS: Synthesizing Multi-Step Programs using a Verifier, a Large Language Model, and Tree Search
- prefix verification score: run the verifier on the program written so far and score it +1 if nothing fails, β1 if a finished unit fails, 0 if no unit is finished.
- failure monotonicity pruning: discard a failed prefix permanently because no later text can make it verify.
- evaluate-and-maybe-expand: extend a prefix with the LLM until the verifier can score it, and add it to the search tree only on +1.
- widen node: give every tree node a zero-valued child whose selection adds a sibling instead of a descendant, so width grows only where the search stalls.
- lower prior for widening: set the selection prior of widen nodes below that of ordinary nodes to prefer depth.
- optimistic value bound: treat every not-yet-failed prefix as having the maximum value and let backpropagated failures separate the branches.
- hidden check lemma: append a lemma with the intended statement that is proved by one call to the modelβs lemma, and require the whole file to verify.
- syntactic success checks: require a proof marker and a minimum number of lines before counting a verified output as a solution.
- pass@T: report the fraction of runs that succeed within T generated tokens, with Wilson intervals, to compare methods of unequal cost per attempt.
- rollout-MCTS ablation: replace verifier scoring and widen nodes with fixed-k expansion and LLM rollouts to a complete program, to measure what the verifier-in-the-loop search adds.
LiveFMBench: Unveiling the Power and Limits of Agentic Workflows in Specification Generation
- faithfulness gate: count a verified output only if the executable codeβs syntax tree is unchanged and every given property still appears verbatim
- before-and-after reporting: publish the pass rate with and without the faithfulness gate so the size of the inflation is visible
- single-batch pass@k: draw 32 samples once and compute pass@1, pass@5 and pass@32 from the pass count with the unbiased estimator
- temporal split: keep a subset collected after the modelsβ training dates, built by verify, has-assert, domain and duplicate filters
- embedding deduplication: drop programs whose code embeddings, with comments and specifications removed, have cosine similarity above 90%
- agent component ablation: run analysis-only and verifier-feedback-only arms beside the whole agent before crediting the agentβs structure
- iteration against resampling: compare 5 rounds of verifier-guided refinement with 5 independent attempts at the same budget
- similarity-paired failure taxonomy: pair generated and reference annotations by text similarity and count typo, missing and extra per annotation type
- outer-invariant rule for nested loops: the outer invariant states the processed-prefix property the later code needs and does not mention the inner index
- every-loop rule: a loop with no invariant bounding its index is the first thing to look for when an assert inside it fails
Self-Spec Verifiable Code Generation
- frozen self-spec: store the generated contract as data and rebuild the function signature from it after every repair, so repair cannot weaken it
- joint success metric: count a task only when the contract covers all reference obligations and the verifier accepts the code under that same contract
- directional entailment coverage: a reference precondition must entail the generated ones and generated postconditions must entail the reference one, checked by SMT over small clause subsets
- requirement-level target curation: grade against hand-picked atomic obligations, leaving out annotations that exist only for the reference proof
- constraint-guided specification: extract atomic constraints by role, translate, then self-review and refine, keeping loop hints outside the contract
- unchanged-region rule: every mutation contract states the changed value, the length change and the unchanged elements as separate clauses
- plan-then-focused-candidates repair: turn diagnostics into typed subgoals, write several whole-program candidates each with a different focus, accept the first the verifier passes
- witness-variable invariant: replace an existential loop invariant with a tracked index variable and two plain invariants about it
- paired repair runs: reuse the exact contract and first code attempt when measuring a repair stage, so coverage is held fixed
- oracle-contract control: swap in a curated contract to see how much validity depends on the contractβs proof interface, read as sensitivity and not as an error count
Clover: Closed-Loop Verifiable Code Generation
- six-edge consistency check: accept a code, contract and docstring triple only if verification passes and each artifact can be regenerated from each other one up to equivalence.
- annotation completeness by reconstruction: regenerate code from the contract alone under an anonymized name and reject the contract if the result differs from the original code.
- contract equivalence lemmas: wrap original and regenerated pre- and postconditions in predicates and have the verifier prove two empty-bodied equivalence lemmas.
- preconditions as asserts for code2doc: put the precondition into the code text before asking for a description, so the description can mention it.
- five-test code equivalence: compare printed outputs of original and regenerated code on a fixed set of inputs.
- memoryless docstring judge: decide prose equivalence in a fresh LLM call that cannot see how the candidate was generated.
- weakest-pre strongest-post prompting: ask for the extreme contract and ban noise clauses so that separately written contracts can be proved equal.
- function name anonymization: replace descriptive names with generic ones so reconstruction cannot rely on the name.
- compile-only feedback loop: when regenerating from prose, feed back compiler errors but not verifier errors, so the result depends on the prose alone.
- verifier-passing adversarial variants: build wrong triples by weakening the contract, changing the docstring, or changing code and contract together while verification still passes.
- any-of-k edge repetition: repeat each stochastic check k times and pass if any repetition passes, trading false rejections for false acceptances.
- sample-then-filter generation: draw many candidate solutions and keep those the consistency check accepts.
- single-edge acceptance model: bound an edgeβs accept probability from the alignment and concentration of the regenerating model, and measure both rates on known pairs.
Towards Neural Synthesis for SMT-Assisted Proof-Oriented Programming
- isolated definition recheck: reload the verifier state up to one definition and check a replacement body there, with the original definition unreachable.
- escape-hatch rejection: refuse candidates that contain admit or assume, since they pass the checker without proving anything.
- recheckable-fragment filter: replay every ground-truth proof through the harness and keep only those that still verify.
- SMT-trivial problem removal: drop problems whose proof the solver finds with no hints, so the benchmark tests the generator.
- goal-type taxonomy: report results separately for simply typed, dependently typed and proof goals.
- dependency-closed training split: put a file in training only together with all its dependencies, and hold out whole projects as a second test set.
- type-similarity example retrieval: embed the goal type, and show the model the types and bodies of the nearest already verified definitions.
- non-dependent retrieval pool: retrieve examples from every file that does not depend on the current file.
- contrastive premise selector: fine-tune an embedding so a goal is close to names used in its body and orthogonal to sampled unused names in scope.
- names-only premises: list selected premises by short name to fit more of them in the budget.
- ideal-premise roofline: rerun with the ground truthβs own premises to measure how much a perfect selector could add.
- budgeted labelled prompt: give each prompt part a fixed token budget and a one-line natural-language label, filling file context nearest-first.
- definition-prefix instruction: end the prompt with the opening tokens of the definition to be written.
- verify@k sampling: sample k candidates at temperature and accept if the verifier passes any.
- small-model-first cascade: try cheap fine-tuned models first and fall back to a large model on failure.
- three-bin error triage: classify failures as syntax, unresolved identifier or semantic to choose the next fix.
- identifier-overlap diagnostic: measure how many ground-truth identifiers each prompt part contains and compare verified with failed problems.
SpecRL: Reinforcement Learning with Test-Based Completeness Rewards for Formal Specification Synthesis
- execution-backed spectests β mutate observed outputs into implementation-impossible pairs and score contracts by rejected mutations
- progressive gated reward β reward extraction, compilation, proof, then spectest rejection, with proof required before accuracy credit
- weakness-directed suite enhancement β ask for escaped impossible behaviors and regenerate targeted inputs and mutations
- runtime/symbolic backend choice β use executable checks for speed and verifier obligations for non-executable specifications
From Verification Failures to Reusable Guidance for Coding Agents
- executable semantics boundary β define and test operational rules separately from specifications and proofs
- failure-to-procedure curation β turn diagnosed failures into versioned guidance with applicability, examples, and replay evidence
- post-proof adequacy audit β inspect intent coverage, assumptions, bridges, and negative controls after all formal claims prove
- changed-semantics evaluation β test guidance under renamed and swapped operators with independent input-coverage checks
Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verification
- proof retrieval by state similarity: score each finished in-project proof by the best BM-25 match between any of its intermediate proof states and the current one, and put the top proofs in the prompt.
- per-step retrieval refresh: rerun retrieval after every proof step because the goal has changed.
- identifier bag-of-words for proof text: use only the identifiers of a goal or lemma as the words for sparse retrieval.
- lemma statement retrieval: rank earlier in-project lemma statements by TF-IDF against the current goal so the model cites real names.
- train-as-inference prompts: build each fine-tuning example by running the retrievers exactly as at inference, with a fixed token budget and truncation rule per prompt part.
- rollout search: sample one step at a time, restart from the theorem on the first error, and never keep a frontier.
- prefix retrieval: use the file text directly above the theorem as the only context.
- alternating-retriever rollouts: switch between two context builders on successive attempts to cover both nearby and far context.
- prover union: run complementary provers and accept a proof from any of them.
- project-level split with post-cutoff check: hold out whole projects, drop training files with matching theorem statements, and retest on projects newer than the modelβs cutoff.
- file-split against project-split comparison: retrain on a by-file split to measure how much of the project knowledge retrieval already supplies.
Local Success Does Not Compose: Benchmarking Large Language Models for Compositional Formal Verification
- controlled chain benchmark β compose verified functions with explicit data dependencies, type/shape checks, formatting normalization, and unit-test filtering
- incremental AST translation β translate and verify fragments, reassemble them, and refine contracts from verifier feedback for bounded iterations
- contract reconstruction evaluation β strip method contracts, regenerate them, and report syntax and Pass@k verification separately
- three-mode failure diagnosis β classify failures as boundary-contract fragility, implementationβproof misalignment, or broken induction
Next Steps in LLM-Supported Java Verification
- verifier-gated auxiliary synthesis β generate one missing invariant or subcontract, then accept only after deductive verification
- typed feedback recovery β send parser errors for syntax failures and open proof-branch labels for semantic failures
- restart versus conversation sampling β compare fresh independent candidates with feedback continuation under equal attempt budgets
- mixed bounded search β combine several feedback rounds with independent restarts to escape stuck solutions
ATLAS: Automated Toolkit for Large-Scale Verified Code Synthesis
- frozen contract synthesis β generate and compiler-check a complete signature, preconditions, postconditions, and tests before implementation attempts
- pointwise soundness lemmas β instantiate each contract on known input-output examples and reject inconsistent specifications
- contradiction completeness lemmas β assume a different output and prove false to test uniqueness of a specified result
- perturbation completeness checks β mutate outputs while fixing inputs and detect postconditions that accept wrong behavior
- adherence validation β require unchanged preconditions, preserved postconditions, whole-program verification, and passing tests
- verification-run curriculum β decompose successful and failed runs into specification, code, repair, and proof-infilling training tasks
Reward-Oracle MCTS for Formal Theorem Proving: Sample-Efficient Search and the Need for Kernel-Level Proof Auditing
- scalar verifier reward β convert compiler outcomes to a numeric signal and keep diagnostics out of generation prompts
- three-role reward-oracle MCTS β combine generator, decomposer, and critic roles with UCB selection and reward backpropagation
- adaptive temperature decay β explore diverse subgoals shallowly and lower temperature to exploit deeper promising branches
- role-specialized model selection β test heterogeneous critics while holding generator and decomposer fixed
- axiom-level proof audit β query kernel dependency declarations and exclude proofs depending on
sorryAxor other forbidden assumptions - fixed-budget search allocation β compare branching and iteration schedules under an identical proof-attempt denominator
Neuro-Formal Verification: Agentic Language-Agnostic Formal Program Reasoning
- provenance-frozen translation β freeze source, environment model, precondition, and goal while tagging every translated line as source or synthesized
- proof-based verification β add only proof lemmas and invariants, then accept a positive verdict when the target verifier checks the frozen artifact
- witness refutation β negate the goal mechanically, add a reachable violating input, and prove the violation without changing the program
- bounded refutation with abstention β use CBMC-style bounded traces to find bugs while treating clean or inconclusive runs as unknown
- artifact auditing and abstention β reject rewritten code, altered goals, untagged lines, unjustified assumptions, and unverifiable proof attempts
- staged proof-search budgeting β separate translation attempts from proof-repair rounds and report precision, recall, and abstention explicitly
Path2Spec: Path-Aware Specification Generation via Large Language Models
- symbolic path extraction β enumerate path precondition/output-expression pairs before generating contracts
- path-specific verifier repair β generate one contract per path and refine it with verifier errors until it passes or exhausts a limit
- first-branch recursive decomposition β split failed programs at their first branch or loop and retry smaller subprograms
- incremental bottom-up merge β verify each path merge and then merge child specifications into parents layer by layer
- logical-strength comparison β use SMT implication checks and human criteria to distinguish complete, incomplete, and undecidable specifications
- path-extraction benchmarking β compare LLM and symbolic extractors against a manually validated path gold set and downstream pass rates
Finding Inductive Loop Invariants using Large Language Models
- verifier-gated invariant generation β sample LLM loop invariants and accept only oracle-checked inductive, sufficient sets
- Houdini union pruning β union candidates across completions and remove syntax or blamed clauses with at most linear oracle calls
- diagnostic-guided repair β ask the LLM to repair establishment, preservation, strength, and syntax failures using verifier feedback
- structured prompt sampling β specify loop obligations and syntax, then use diverse completions to obtain complementary clauses
KBSpec: LLM-driven Formal Specification Generation with Evolving Domain Knowledge Base
- dual-source evolving knowledge base β seed memory from official specification material and grow it from verifier-accepted generation and repair traces
- baseline-attributed helpfulness scoring β credit or penalize one retrieved item by comparing its verifier outcome with a knowledge-free baseline
- partial-progress repair memory β retrieve on code plus diagnostics, iterate repairs, and score disappeared and recurring error obligations
- frozen retrieval with mutation completeness β evaluate retrieved specification generation with pass rate, fail rate, and completeness over non-equivalent mutants
An approach for modularly verifying the core of Rustβs atomic reference counting algorithm against the (Y)C20 memory consistency model
- tied-resource operational semantics β instrument atomic locations with specifications and prove interleaving safety implies C20 safety
- Iris ARC resource invariant β track count, payload fractions, cancellation, and release/acquire handoff with ghost resources
- YC20 grounding β use Execute/Re-Execute grounding orders and sufficient preconditions to verify relaxed accesses without porf-cycle assumptions
- prefix soundness induction β establish race freedom and reachable configurations for every happens-before-consistent execution prefix
Improving LLM Code Reasoning via Semantic Equivalence Self-Play with Formal Verification
- proof-gated equivalence generation β retain generated program variants only when a refinement checker proves pointwise equality
- counterexample-backed inequivalence β validate negative pairs by executing both programs on a generated distinguishing input
- difficulty-aware verifier self-play β score critic mistakes, select hard pairs, and LoRA-fine-tune generator and evaluator in rounds
- proof-versus-counterexample ablation β control retained data volume to measure the unique value of formal equivalence supervision
Oxide: The Essence of Rust
- use-once ownership β consume noncopyable bindings on move and reject later use of dead names
- shared and unique loans β permit many read-only aliases or one mutable alias, with mixed-borrow rejection
- region-based alias management β represent reference provenance as static sets of loans rather than allocation regions
- ownership-safety judgment β check place overlap and permissions, with reborrow exclusion lists and borrow chains
- continuation-aware environments β track ordered stack frames, dead bindings, closures, and partially evaluated values
- outlives and region rewriting β relate abstract/concrete regions and merge loan sets so values of differently annotated types get one type
- progress-preservation metatheory β prove every well-typed step remains well typed and cannot get stuck
- tested semantics β compare a reducer/typechecker against rustcβs in-scope borrow-checker and NLL tests
Towards verifying unsafe Rust programs against Rustβs pointer-aliasing restrictions
- provenance-aware Ξ»PA reduction β model address and ownership provenance separately before proving unsafe operations
- fractional separation heap β represent exclusive and shared permissions as splittable points-to resources
- mutable-borrow transfer β consume lender ownership, grant borrower ownership, and return it through a reference-ending view shift
- shared-borrow freezing β split read-only fractions so no shared alias can write while live
- modular call boundary β reborrow mutable arguments and hide ending resources for the call duration
- interior-mutability exception β preserve writable resources behind
UnsafeCellwhile keeping ordinary shared memory immutable
SpecAgent: Empowering Program Verification with Agentic Synthesis of Formal Program Specifications
- dependency-aware specification planning β map functions, loops, semantics, dependencies, and synthesis order before writing contracts
- structural fingerprint retrieval β select up to three structurally similar verified examples with filtered Jaccard ranking
- provenance-aware verification repair β classify verifier outcomes, trace dependencies, repair upstream or local annotations, and rerun
- post-proof strength critique β classify contracts as accept, improve, or replan after proof success
- return-determinacy completeness probe β call a function twice on the same input and prove equal outputs to detect weak postconditions
- deterministic agent orchestration β enforce role boundaries, shared workspace exchange, and invocation budgets with a state machine
Finding a Crab in the C: Assured Translation via Comparative Symbolic Execution
- comparative symbolic execution β execute C and Rust binaries on shared symbolic inputs and compare feasible terminal behaviors
- unsat-core compatibility memoization β cache contradictory path cores to prune repeated terminal-state pair checks
- semantic layout annotations β map C and Rust fields/arrays by names and debug metadata despite different addresses
- path-focused visualization β highlight, prune, and compress symbolic trees, then diff events and terminal memory
- concrete divergence extraction β solve compatible path pairs with disequality to produce reproducing test inputs
- approved-difference assurance β require developer classification of behavior changes and prove equivalence everywhere else
A Hybrid Approach to Semi-automated Rust Verification
- safety-boundary hybrid: send safe Rust to Creusot and unsafe modules to Gillian-Rust through shared contracts
- ownable representation predicates: connect concrete pointer heaps to abstract sequences with
Ownableand separation logic - guarded mutable-borrow automation: unfold, mutate, fold, and resolve RustBelt-style lifetime guards automatically
- prophecy-based functional correctness: specify mutable-reference final values with
^and parametric prophecy observations - dual contract compilation: elaborate Pearlite
hybridattributes into Creusot and Gilsonite specifications - symbolic unsafe execution: use layout-independent heap objects, pointer arithmetic, path conditions, and predicate unfolding
AutoVerus: Automated Proof Generation for Rust Code
- invariant candidate generation and linear merging β generate five loop-invariant programs, filter and rank by
(V,E), then merge complementary annotations under Verus checks - monotonic generic refinement β sequentially add propagated preconditions, lengths, quantifier fixes, and conditional invariants while never reducing verified-function count
- error-directed repair agents β map Verus diagnostics to specialized repair prompts and iterate with verifier acceptance as the gate
- Houdini annotation minimization β test subsets of generated annotations to retain a sufficient proof
Automated Proof Generation for Rust Code via Self-Evolution
- Verus-compatibility translation β translate unsupported Rust constructs, compile with Verus, and discard non-compiling programs
- Specification score filtering β retain candidates with at least 80% correctness and 60% mutation completeness, up to three per function
- Verifier-filtered self-evolution β fine-tune on proofs that Verus verifies and iterate rounds until gains plateau
- Error-conditioned whole-proof repair β train on rejected proof, Verus diagnostics, and later verified proof, then reverify repairs
Reducing the Costs of Proof Synthesis on Rust Systems by Scaling Up a Seed Training Set
- checker-filtered self-synthesis β repeatedly generate Rust/spec/proof triples, deduplicate, verify, debug, and retrain
- tutorial curriculum synthesis β seed every verifier knowledge point and oversample weak feature coverage
- trajectory CoT distillation β train on complete agent actions and verifier-feedback reasoning from real system proofs
- accuracy-at-k cost evaluation β report probability of at least one verified proof among K samples with dollars per task
VeruSAGE: A Study of Agent-Based Verification for Rust Systems
- standalone dependency extraction β use Verus
log-allto build a single task with dependency signatures, preserved contracts, and proof bodies removed - hands-off verifier loop β let a coding CLI repeatedly edit Rust, run Verus, inspect
vstd, and run a cheat checker under container isolation - plan-then-act proof agents β choose specialized logical, arithmetic, quantifier, or context actions from static resources and failure history
- strategy-specific candidate acceptance β permit temporary new errors for valid case splits but require strict decreases for local solver repairs
- solver and lemma selection β apply
bit_vector, nonlinear or integer-ring reasoning,vstdlemmas,broadcast use, andchooseaccording to obligation shape - invariant and opacity handling β strengthen state-machine invariants inductively and use lemmas about closed spec functions instead of exposing their bodies
- verifier-grounded evaluation β report task-level numerator and denominator, reruns, cost, time, syntax errors, cheating, and trusted assumptions separately
Automating Formal Verification with Agent-Guided Tree Search
- iterative replacement with compiler feedback β fill fixed formal holes, run the verifier, and retry from the original source using diagnostics while rejecting bypass constructs
- persistent verifier agent with library search β keep one context, search lemmas through a Lean/Verus service, submit code through a schema-checked tool, and scale the call budget
- state-based parent/subagent tree β branch short proof-state explorations, commit or undo partial states, and let a parent choose the next strategy
- context endpoint tree search β save full subagent transcripts, resume promising endpoints, and fork new advice from retained evidence to avoid repeated searches
- verifier-gated anti-cheating harness β count success only after kernel verification and explicit rejection of incomplete, axiomatic, unsafe, or native-code escapes
Kani: A Model Checker for Rust
- bounded proof harnesses β use
kani::any, checked assumptions, assertions, and a completeunwindbound to exhaustively check finite executions and Rust safety properties - function and loop contracts β prove preconditions, postconditions, frame conditions, invariants, and integer decreases measures, then reuse verified behavior compositionally
- quantified specifications β express
forallandexistsover finite or SMT ranges, selecting a backend while checking instantiation and range cost - verified and environmental stubs β replace a proved callee by its contract, or model FFI and clocks with explicit trusted nondeterministic abstractions
Resource Specifications for Resource-Manipulating Programs
- first-class resources β represent conserved assets directly in specifications with explicit operations
- coupling invariants β two-state invariants tying resource state changes to program state changes, enforced as postconditions
- default conservation obligations β make create/destroy/transfer semantics enforce conservation automatically
- concise contract comparison β compare specification lines, AST size/depth and verification time against a state-based baseline
Lemur: Integrating Large Language Models in Automated Program Verification
- assumption-trail decomposition β represent a hard invariant as verifier-checked implications through a trail of smaller predicates
- sound propose/decide/repair/backtrack calculus β search with explicit transitions while proving LLM suggestions before accepting them
- stable case split β prove both q and not q implications when q is stable, even if q itself is not invariant
- bounded terminating search β cap proposals and require a decreasing subgoal rank to return SUCCESS, FAIL, or UNKNOWN
- verifier-facing prompt grammar β use named program markers, strict assertion output, repeated sampling, and AST deduplication
- backend cooperation β combine LLM high-level predicates with BMC, k-induction, abstraction, or Verus SMT checking
DafnyBench: A Benchmark for Formal Software Verification
- verified-source corpus: assemble independently replayed programs from multiple sources, deduplicate them, and retain contracts as ground truth
- fill-hints benchmark: remove body assertions and invariants while freezing requires/ensures and rejecting verifier escape hatches
- bounded diagnostic retries: rerun a failed proof with the exact verifier error for a fixed number of attempts
- difficulty stratification: report proof success by source size and removed-hint volume, not only one aggregate
- contamination control: quarantine training repositories and document source overlap before comparing models
DafnyPro: LLM-Assisted Automated Verification for Dafny Programs
- annotation-only diff checking β strip generated annotations and require identical base code before verification
- greedy invariant pruning β remove verifier-reported non-inductive clauses and retry proof
- reusable hint retrieval β give the LLM a fixed set of eight manual structural proof tactics, selected per attempt, for later generations
- verifier-feedback fine-tuning β train on successful and failed attempts paired with verifier errors
VERINA: Benchmarking Verifiable Code Generation
- compositional verifiable-code benchmark β represent description, code, pre/postconditions, proof, and tests as independently composable tasks
- coverage and mutation assurance β require full reference coverage and categorized mutated negatives before scoring models
- proof-plus-testing specification evaluator β prove soundness/completeness implications, then use tests and property-based generation with explicit unknown status
- modular task pipelines β score CodeGen, SpecGen, ProofGen separately and in specification-guided, inference, and end-to-end compositions
- iterative verifier-feedback repair β feed Lean compiler errors back into repeated proof generation and report pass@k against direct generation
P^3: Joint Program-and-Proof Planning for Verified Code Generation
- joint plan Ο β enumerate contract, decomposition, library support, bridging invariant, proof cases, and auxiliary lemmas before implementation; reject plans that cannot entail the postcondition
- plan-gated elaboration β emit code and proof scaffold from the same plan, repair localized verifier goals, and replan when an unplanned invariant or algorithm is required
- proof-friendly decomposition β compare structural recursion and folds by the invariants they induce; generalize accumulator predicates before coding when needed
- relational specification QA β require reference satisfaction, mutation rejection, and non-vacuity review, with a quantitative admission threshold before benchmarking
- explicit phase gates β require read-only specifications, PASS-PLAN, mechanical checks, and instruction compliance before delivery
- restart-aware evaluation β report solve rates, costs, times, and full-restart frequencies with task denominators and single-run limitations
AlgoVeri: An Aligned Benchmark for Verified Code Generation on Classical Algorithms
- aligned cross-language contracts: encode one algorithmβs global predicates and witnesses in Dafny, Verus, and Lean so scores isolate toolchain effects
- satisfiability and degeneracy audit: prove each specification clause is satisfiable and show that removing it permits an unintended behavior
- compiler-in-the-loop prove-and-repair: iterate complete implementation/proof outputs using verifier diagnostics, then apply a separate semantic validator
- iso-compute depth/width evaluation: compare sequential repair chains with parallel samples under equal inference budget
- syntax/search barrier diagnosis: classify parser, type, VC, and tactic-search failures to target language-specific interventions
AlphaVerus: Bootstrapping Formally Verified Code Generation through Self-Improving Translation and Treefinement
- cross-language verified bootstrapping β translate verified Dafny programs into Verus to create scarce training exemplars
- Treefinement β verifier-error-guided branching repair over complete programs
- critique filtering β neural alignment and exploit checks reject specifications or implementations that game verification
- iterative prompt self-improvement β accumulate verified pairs and error trajectories across rounds without fine-tuning
Automatically Building Machine-Checked Assurance Cases from C Codebases to Requirements
- specificationβproof co-evolution β iteratively revise VST contracts and proofs together using proof failures as semantic feedback
- resource-aware interface protocol β model legal open-library call sequences with states, guards, branches, ownership, and edge subsumption
- input-aware protocol soundness β obtain conditional safety for realized runs under implementation satisfaction and caller obligations
- evidence-producing verification gates β freeze inputs, audit proofs/axioms, and require human conformance review before delivery
- covering witness β require one satisfiable run exercising every interface to block vacuous protocol proofs
Whatβs in a Proof? Analyzing Expert Proof-Writing Processes in F* and Verus
- proof-process telemetry: record edits, verifier calls, diagnostics, pauses, lookups, and comments as annotated states
- specification-first decomposition: draft contracts, split subgoals, and replace temporary assumptions incrementally
- clean-error frontier: keep active verifier errors bounded and interpret each changed obligation before retrying
- representation-aware specification: choose data structures and quantifier forms that match implementation and solver behavior
- library retrieval: retrieve and adapt existing lemmas and documentation for the current proof state
- planner/syntax agent split: have one agent design specifications and another produce language-correct proof code under verifier feedback
WybeCoder: Verified Imperative Code Generation
- hybrid SMT plus interactive proof repair β generate imperative verification conditions, discharge routine goals automatically, and use interactive theorem agents for residual goals
- contract-directed loop invariant synthesis β express prefix/state relations, bounds, preservation, exit, and termination for mutable loops
- sequential compiler-feedback agent β alternate complete code generation with verifier diagnostics until success or budget exhaustion
- subgoal decomposition and proof transfer β solve named obligations in parallel, reconstruct proofs, and preserve unchanged proofs across goal-directed edits
- imperativeness and leakage control β allow functional ghost specifications while screening executable code for reference-function wrappers
- unsatisfiable-contract disproof β prove a preconditioned counterexample theorem when no implementation can satisfy the postcondition
- frame-aware specification engineering β state permutation, untouched regions, and decomposition contracts before asking agents to prove algorithms
Toward Practical Deductive Verification: Insights from a Qualitative Survey in Industry and Academia
- critical-component targeting β rank criticality, adoption, requirement clarity, stability, and realizability, then prove high-value components and use lighter checks elsewhere
- incremental verification β co-develop contracts and code from early design through CI while stabilizing interfaces
- modular proof decomposition β split by code, property, or refinement and restrict solver context with lemmas and abstractions
- specification validation β check formal contracts against intent, documentation, and concrete tests; proof success alone is insufficient
- guided automation β combine default automation with user-controlled context, diagnostics, counterexamples, and intermediate states
- proof maintenance β keep proofs small, repair against prior versions, and monitor assumptions at unverified boundaries
- hybrid assurance β combine deductive verification with testing, static analysis, model checking, runtime monitoring, reviews, and CI
Unfolding Iterators: Specification and Verification of Higher-Order Iterators in OCaml
- permitted/complete iterator contracts β specify visited values and termination independently of implementation
- cursor reduction β translate higher-order calls into first-order loops with convergence and client invariants
- effectful iterator invariants β relate mutable state such as stacks to the visited prefix
- nested-history propagation β carry outer accumulator/visited state into inner iterator invariants
- graph-set iteration contracts β use subset, distinctness, and cardinality for vertex/successor traversals
- fold basis for adapters β express iter, map, and filter as degenerate folds with one translation schema
Tunable Automation in Automated Program Verification
- broadcast quantified facts β mark proved lemmas as reusable quantified context and group them for import
- scope and trim automation β develop with broad groups, inspect likely UNSAT-core usage, then narrow imports
- assertion minimization β remove hints one at a time and rerun verification to estimate automation gain
- trigger-guided instantiation β choose syntactic patterns that occur at the proof obligation and avoid matching loops
- selective all-triggers mode β broaden trigger sets for user quantifiers only after measuring proof and runtime effects
VeriStruct: AI-assisted Automated Verification of Data-Structure Modules in Verus
- planner decomposition β schedule View, invariant, contracts, and proofs as separate generation tasks
- View abstraction β map concrete data structures to logical sequences/maps used in contracts
- type invariants β attach and invoke representation invariants across methods
- verifier-diagnostic repair β classify Verus errors and apply targeted annotation patches
- syntax-guided prompting β include Verus tutorial/library rules and examples in prompts
Synthesizing Proofs Using Proof Sharding and Exploration
- proof sharding β split disjunctive preconditions and conjunctive postconditions into independently checked lemmas while reusing existing proofs
- bounded expression synthesis β enumerate typed annotation expressions by a recursive complexity budget
- trigger synthesis and covering β generate E-matching terms and check singles/pairs in covering batches
- helper-lemma invocation β call existing acyclic lemmas with synthesized arguments
- opaque-definition reveal β locally unfold hidden definitions only when a candidate changes verification
- quantifier elimination β expose quantified variables so later trigger and lemma searches can use them
- parallel proof backend β distribute candidate obligations across prover instances with round-robin scheduling
Towards Large Language Model Aided Program Refinement
- law-guided generation: make the model choose a small refinement law and check its logical proviso before accepting code
- flexible termination rule: require invariant preservation, decreasing progress, and a no-fixed-point assertion for real-valued loops
- traversal refinement: express list recurrence as an indexed invariant and prove one-step preservation before incrementing
- active/passive verifier loop: synthesize prompts from the current specification and feed Coq/ATP failures back into bounded search
- refinement-tree reuse: persist successful specification/code paths and retrieve them for later tasks with matching contracts
Verifying the Rust Standard Library
- rewarded verification challenges β publish scoped targets, assumptions, acceptance tests, and reviewable pull requests so a changing library can be verified by a distributed community
- MIR nondeterministic harness synthesis β enumerate eligible monomorphic functions, call them with symbolic
anyvalues, and check contracts or supported UB on all explored paths - invariant-aware input generation β distinguish bit-valid representations from semantic safety invariants and assume only explicit
is_safepredicates - bounded versus inductive loop proofs β use unwinding assertions for finite bounds or loop contracts for invariant-based proofs independent of the bound
- separation-logic ownership predicates β recursively own linked heap nodes with separating conjunction and transfer resources through pre/postconditions
- multi-tool continuous verification β combine model checking, refinement types, and separation logic in CI because each covers different Rust behaviors
- proof-pipeline performance engineering β benchmark compilation, then apply parallelism, caching, ordering, and stubbing while recording the resulting trust boundary
Teaching Code LLMs to Reason with Intermediate Formal Specifications
- executable checkpoint specifications β place Boolean obligations at internal states so traces expose algorithmic commitments before final output
- mutant-guided supervision β retain syntax-preserving mutants that pass some tests and fail others, then train on assertions that reject them
- ExploreβSubmit refinement β iteratively execute candidate assertions on references and mutants, using localized feedback before acceptance
- dual specification/code training β fine-tune separate insertion and complete-program tasks over accepted annotated programs
- four-way specification evaluation β measure executable validity, reference correctness, eligible-mutant completeness, and downstream repair separately
- evidence-driven repair β feed violated checkpoint assertions to correctness checkers and repair agents as machine-checkable local evidence
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases
- Core/Application decomposition β isolate a protocol implementation and expose an invariant-bearing API
- I/O independence taint analysis β reject secret-dependent protocol-irrelevant I/O across the whole codebase
- Core refinement with I/O permissions β prove protocol-relevant operations are trace-included in a verified model
- static Application discharge β use alias, escape, pass-through, locality, and memory-access analyses to satisfy Core assumptions
- virtual I/O boundaries β model callbacks and module transfers as protocol events with permissions
- ghost permission instrumentation β track local, invariant, and global shared heaps to compose Core proofs with Application code
VerifyThisBench: Generating Code, Specifications, and Proofs All at Once
- end-to-end verification benchmark construction β turn natural-language, competition-vetted challenges into tasks requiring specification, implementation, and machine-checked proof
- unified verifier execution β pin tools, prompts, hardware, timeout, and pass criterion so results are comparable across frameworks
- diagnostic iterative refinement β feed compiler and verifier errors plus prior attempts back to the model for bounded repair rounds
- artifact deletion ablations β remove code, specifications, or loop invariants separately to measure the corresponding model skill
- outcome taxonomy β distinguish no generation, compilation failure, timeout, partial proof, and complete success
- independent coherence checking β assess whether a passed formal specification matches the original natural-language intent
- per-tool/per-model evaluation β retain framework-specific rates because model strengths and syntax compatibility differ
Refactoring and Equivalence in Rust: Expanding the REM Toolchain with a Novel Approach to Automated Equivalence Proofs
- rust-analyzer semantic extraction β delegate Extract Method to RAβs inferred types, lifetimes, generics, and control-flow semantics
- persistent semantic workspace β merge a cached standard-library graph with a minimal single-file graph for fast complete inference
- compiler-guided lifetime repair β iterate signature and call-site edits from borrow-checker diagnostics and lifetime-elision rules
- translation-based equivalence proof β translate original and refactored Rust through CHARON/AENEAS and prove equality in Coq
Sound Borrow-Checking for Rust via Symbolic Semantics
- local-and-hybrid simulation proofs β replace a global state relation with local rewrites, prove preservation in a hybrid union language, and recover endpoint simulation through stability
- heap bridge for valued borrows β relate borrow/loan states to pointers and locations, then connect locations to an explicit heap with a global address invariant
- step-indexed divergence β add fuel to big-step semantics so safe divergence is represented and simulated across languages
- symbolic region borrow checking β instantiate function signatures with fresh symbols and region abstractions, then accept only states related to the signatureβs final state
- directional region merging β use a one-way merge of loan/borrow pairs to abstract lifetimes without allowing cyclic ownership states to pass
- join-collapse analysis β pointwise-join branch environments with origin markers, collapse duplicates, and require an unmarked result before continuing
- alpha-equivalent loop fixpoints β normalize anonymous mappings and compare ownership shapes up to fresh loan/region identifier substitution
- deterministic-backend bisimulation β compose forward simulations with deterministic PL execution to obtain a backward direction for programs that pass the checker
Quantifying SMT Solver Instability for Formal Verification
- mutant-family stability testing: generate semantics-preserving query variants and measure runtime spread
- coefficient-of-variation reporting: normalize spread by baseline difficulty and expose timeout censoring
- runtime-guided query normalization: search equivalent lemma and trigger structures for faster, more stable solving
- proof-quality separation: report truth, acceptance, cost, and stability as distinct measurements
Surveying the Rust Verification Landscape
- property-and-dependency prioritization: classify safety, functional, and domain properties, then start at foundational libraries
- bounded exploration with explicit residual bounds: use model checking for finite behavior and report what remains unbounded
- intrinsic contract extraction: translate documentation into reviewed machine-readable assumptions and track implementation guarantees separately
- verifier choice by trust and annotation budget: match automation, unsafe support, proof strength, and human effort to the target
PropertyGPT: LLM-driven Formal Verification of Smart Contracts through Retrieval-Augmented Property Generation
- intermediate property language β constrain generated invariants, pre/postconditions, and rules in a compiler-checked grammar
- code-keyed retrieval augmentation β embed critical code, retrieve similar audited examples, and use their properties as one-shot context
- type-specific prompting β use separate strict templates for rules and function contracts with symbol and name restrictions
- compiler-feedback repair β iterate on compiler diagnostics with a bounded retry loop, then statically check target-function coverage
- weighted candidate ranking β combine raw and summary similarities to choose a prover budget while retaining auditability
- strongest-postcondition verification β symbolically execute source semantics, prove modular obligations, and investigate BMC counterexamples
- conservative semantic modeling β represent external calls and nonlinear operations explicitly, recording assumptions and bounds
ProofWright: Towards Agentic Formal Verification of CUDA
- permission contracts: use quantified and conditional ownership permissions, index helpers, and loop invariants to prove memory safety and race freedom
- persistent annotation guide: accumulate checked examples and verifier error repairs into a reviewed, domain-specific proof recipe
- graph-to-library specification: turn a high-level program into a typed operation graph and reusable formal operator definitions
- theorem-based semantic lowering: prove an optimized implementation equivalent in a theorem prover, then lower the theorem to executable-code postconditions
Sound Borrow-Checking for Rust via Symbolic Semantics (Long Version)
- simulation-chain soundness β prove abstract-to-concrete forward simulation and, for accepted programs, concrete-to-abstract backward simulation
- borrow-centric LLBC modeling β represent loans, borrows, reborrows, moves, and invalidation explicitly
- heap refinement β relate borrow-centric states to pointer/location semantics through local transformations
- symbolic function checking β initialize fresh values and region abstractions from signatures, then check the body against expected outputs
- partial-state framing β compose local symbolic states with unchanged disjoint caller frames
- join and collapse β merge branch environments conservatively, track origins, and normalize marked duplicate borrows
- identifier-renamed loop fixpoints β iterate joins while comparing borrow graphs up to fresh loan/region renaming
- heuristic-failure accounting β require mark-free collapse and bounded convergence, treating failures as incompleteness
Place Capability Graphs: A General-Purpose Model of Rustβs Ownership and Borrowing Guarantees
- compiler-connected place capability graphs β represent every MIR program point with capability-bearing places and lifetime projections derived from Rustβs own analyses
- unpack and pack ownership transitions β split composite capabilities to check field moves/borrows and merge them only when all fields are available
- lifetime-projection borrow tracking β summarize stored borrow sets and connect lenders, references, dereferences, and expirations with typed edges
- future projections for nested reborrows β defer updates to inaccessible nested borrow sets and materialize them when the owner becomes available
- path-labelled graph joins β retain branch-specific borrow flow while sharing common graph structure at CFG joins
- abstraction edges for calls β summarize returned and mutated borrows from function signatures without inlining callees
- compiler-guided loop invariants β derive blocker/blocked places and replace loop subgraphs with a borrow-preserving invariant graph
- PCG-driven verifier annotations β turn pack/unpack, loop, and abstraction transitions into Prusti-style separation-logic proof obligations
SaltBench: A Referee-Gated Protocol for Measuring Method Effects in Machine-Checked Software Work
- referee isolation and world freeze: pin toolchain, hide references, fence network, and freeze predictions before scoring
- AST anti-weakening gates: reject admits, assumptions, external bodies, and unauthorized changes before invoking Verus
- budget-stop semantics: distinguish halt, failure, inexpressible, and pass in the result schema
- external adjudication records: keep runner, parser, referee output, cost, and trust-boundary facts outside agent control
Reasoning about Interior Mutability in Rust using Library-Defined Capabilities
- library-defined implicit capabilities: annotate interiorly mutable APIs with conditional or unconditional facts such as local, immutable, unique, and deny-reference properties, then derive client framing and aliasing
- capability implication and framing: propagate capabilities through fields and pointees, weaken them, use incompatibility for non-aliasing, and carry immutable or unique facts across statements
- conditional capabilities: guard a capability with a runtime predicate such as
Arc::strong_count(self) == 1so proofs follow the state actually established by a branch - purity footprints: classify methods as pure, pure-memory, or pure-unstable and add postconditions for unstable reads to control framing
- conversion-method validation: justify shared-reference immutability by an observationally equivalent rewrite that keeps a converted reference alive across an unknown call
- first-order capability encoding: model versioned memory, root places, snapshots, and capability axioms in Viper/Boogie for automated verification
StateSync-GKR: Machine-Checking the Trust Chain from Sparse-Merkle State Transitions to GKR Verification
- semantic transition model β define operations, states, witnesses, and validity before compiling or proving protocol properties
- residual circuit compiler proof β encode constraints as zero residuals and prove circuit acceptance iff a canonical valid witness exists
- layered GKR assembly β combine multilinear layer identities, imported sumcheck, two-point carries, and induction into a chain-event bound
- semantic-to-protocol composition β transfer invalid transition semantics through compiler equivalence to a bounded bad-chain event
- nonvacuity activation β register concrete premise witnesses and fire every theoremβs assumptions so vacuous proofs are detected
- partial refinement ledger β anchor Rust clauses to model facts while naming open obligations, black boxes, and undischarged correspondence premises
Schwarz: Solver-Aware Agentic Program Verification
- SMT-local lemma repair: decompose a timeout or unknown into a checked, program-point obligation and lift successful lemmas back into source
- theory-aware policy: choose ghost summaries, arithmetic, bit-vector, memory, or quantified encodings according to the obligationβs semantics
- proof snapshots: cache validated boundaries for local repair, then regenerate and check the entire proof from original source
- short diagnostic timeouts: fail local hypotheses quickly so the agent can test context and theory alternatives
- trust-boundary harness: keep lowering, solving, and concrete replay deterministic while the LLM searches untrusted artifacts
Scaling Verification of Cryptographic Software with Aeneas, Rust, and Lean
- Aeneas extraction: translate ownership-safe Rust MIR into pure Lean values and explicit failure results
- monadic step automation: advance extracted code one operation at a time while discharging preconditions and postconditions
- proof-only decomposition: fold large extracted functions with kernel-checked equality rewrites
- theory-specific tactics: combine scalar/list simplification, arithmetic-domain conversion, and bitvector decision procedures
- multi-target extraction: merge per-architecture MIR while preserving target-specific branches
- intrinsic shims and axioms: model vendor instructions over lane arrays or reviewed standard-linked axioms
- ghost streaming state: relate incremental runtime APIs to one-shot standards through absorbed and emitted histories
- specification-level termination: prove finite-state permutation or bound properties before lifting termination to code
OSVBench: Benchmarking LLMs on Specification Generation Tasks for Operating System Verification
- fixed declarative invariants β freeze safety predicates while generating state-machine transitions so verification cannot pass by weakening the property
- typed state-machine synthesis β constrain generated specifications with an explicit AST, extracted constants, and utility functions
- long-context syscall prompting β combine assumptions, programming model, oracle examples, and a target description in a structured prompt
- realistic vulnerability injection β test specifications against pointer, privilege, leak, overflow, and bounds mutations while holding intent fixed
- oracle-equivalence evaluation β compare generated and oracle verifier results across implementations, separating syntax from semantic errors
- verifier-guided self-repair β feed generated specifications and kernel diagnostics back for bounded repair rounds
Large Language Models and Language Server Protocol: a match made in context
- context-indexed generation β index project symbols and contracts, then give only legal, relevant context to a parser-gated model request
- model-based contract synthesis β generate candidate preconditions and postconditions, filter names and calls, and retain additions only after the paperβs stated validity checks
- isolated body repair β test a generated body in a temporary override or harness and copy it back only after verification
- verifier-feedback transactions β feed diagnostics into bounded retries while restoring the last stable source on failure
- granularity and ablation measurement β compare feature versus class repair and full versus minimal prompts with explicit success denominators, attempts, time, and cost
Neuro-Symbolic Software Verification: Hyper-charging Local Language Models with Symbolic Reasoning at Scale
- ESBMC invariant oracle β classify atomic and whole-program invariant obligations as provable, disprovable, or unknown, accepting only successful checks
- Phase 0 baseline β run the verifier on the unannotated program and synthesize only after an unknown result
- symbolic atom enumeration β instantiate variable/constant relations, verify each atom, and conjoin the provable store
- verifier-feedback refinement β prompt a local LLM with P/D/U, decompose failed formulas, and recombine verified atoms
- CoT prompt families β guide proposals with inductive, Hoare, or Horn-clause few-shot examples while retaining verifier gating
- ToT verifier scoring β scout four prompt strategies, score by verified atoms, and refine the top two with bounded rounds
- dual-LLM correction β pass one modelβs proposal and verifier stores to a second model, then independently verify and recombine outputs
Interactive Safety Verification of Distributed Protocols by Inductive Proof Decomposition
- inductive proof graph β represent lemma dependencies and one action node per transition branch
- relative induction supports β prove each lemma from a small support subset instead of the full conjunction
- CTI-guided backward development β choose a failed node and add a lemma that excludes its localized counterexample
- local variable slicing β restrict candidate support predicates to precondition, lemma, and update cone variables
- node-local proof status β track discharged action nodes and graph structure as an interpretable progress measure
- bounded CTI plus final proof β use TLC/Apalache for finite counterexamples and TLAPS for unbounded validation
- guarded-action modeling β expose named transition branches and deterministic update expressions for decomposition
- induction-cycle analysis β inspect strongly connected lemma dependencies to understand distributed proof structure
Lessons Learned So Far From a Community Effort to Verify the Rust Standard Library (work-in-progress)
- symbolic Kani harness β use
kani::any()plus assertions and loop invariants for bounded safety proofs - property-specific verifier selection β combine Kani, VeriFast, Flux, and deductive tools by code property
- shadow-memory dataflow β track initialization or pointer provenance as finite-state client obligations
- generic instantiation harnesses β run concrete monomorphizations to approximate generic-function coverage
- concurrency decomposition β justify sequential proofs via ownership or use concurrency-capable verification
- challenge traceability β tie unsafe functions to peer-reviewed CI-checked verification challenges
Leveraging Large Language Models for Automated Proof Synthesis in Rust
- segment-interface synthesis β split long functions and use GPT-generated postconditions as the next segmentβs preconditions
- verifier-checked invariant generation β ask GPT-4 for Verus invariants and retain only code that Verus accepts
- read/write invariant propagation β copy incoming predicates that read but do not write loop variables into loop invariants
- bounded error-feedback repair β retry with exact Verus diagnostics and accept only a subsequent verified proof
KaPilot: LLM-Assisted Generation of Kani Specifications for Unsafe Rust Verification
- documentation-derived safety requirements β extract atomic, source-traceable memory and panic properties before writing contracts
- harness and metadata preparation β build symbolic-input Kani entry points and store type/API context for generation
- implementation-blind contract generation β generate Kani preconditions, postconditions, and invariants from requirements, metadata, API knowledge, and few-shot examples
- semantic precheck β reject uncovered or badly strengthened/weakened contracts before verifier execution
- contextual repair and vacuity testing β feed counterexamples and failure classes back, then append an impossible postcondition to expose unreachable assumptions
- shuffle-and-implication selection β combine weakest preconditions, strongest postconditions, and compatible loop invariants across verified candidates
Knowledge Graphs, the Missing Link in Agentic AI-based Formal Verification
- trace-linked specification context: connect requirements, code locations, assumptions, obligations, and evidence in a queryable graph
- evidence-separated repair loops: handle syntax, counterexamples, and coverage as distinct workflows
- coverage-directed specification growth: use uncovered behavior to generate and track additional obligations
- provenance-preserving retrieval: retain links across edits so repairs remain tied to original intent
Executable JavaScript as a Checkable Specification Language: A JS-SAM Case Study on SysMoBench
- trace-window conformance: instrument the real system and replay
(pre, action, post)windows against a generated transition model - observable-state projection: compare only implementation-visible keys while allowing private model bookkeeping
- executable transition contract: require a deterministic self-contained module with init, actions, state projection, reset, and finite intents
- sandboxed specification execution: run untrusted generated code in a resource-limited no-network container
- counterexample repair: regenerate from complete transition failures, then test held-out domains and inspect for memorization
- semantic-state accounting: distinguish checker step counts from unique reachable states
Can LLMs Reason Like Automated Theorem Provers for Rust Verification? VCoT-Bench: Evaluating via Verification Chain of Thought
- VCoT lifting: transform a complete Z3 trace into mapped Verus assertions, invariants, and lemmas using global context
- rule-specialized completeness checking: aggregate high-level proof segments, filter trivial/redundant facts, and require explicit Z3-to-Verus mappings
- transformerβchecker iteration: regenerate the whole lifted proof when targeted checkers find missing essential steps
- proof pruning: remove justified trivial, normalization, reassertion, and definition-expansion steps, then recheck
- verifier-in-the-loop repair: feed Verus syntax/semantic diagnostics to a repair agent until compilation and verification succeed
- semantic-block benchmark construction: remove lemma, invariant, or assertion blocks at ratio, type, and location strata
- dual scoring: separate Verus syntax checks, semantic judging, and weighted overall accuracy
Can LLMs Enable Verification in Mainstream Programming?
- staged information modes β vary whether the model receives code, contracts, specifications, or natural language to isolate automation difficulty
- verifier-in-the-loop repair β pass verifier diagnostics back for bounded candidate refinement
- specification implication validation β prove generated contracts imply a human- or benchmark-owned reference contract
- deterministic syntax cleanup β repair recurring language syntax before another model call while preserving semantics
- error taxonomy routing β map type, invariant, assertion, timeout, and arithmetic failures to targeted repair strategies
ExVerus: Verus Proof Repair via Counterexample Reasoning
- source-level SMT counterexample synthesis β translate a failing Verus obligation into readable Z3Py over source variables and solve for concrete violating states
- loop-based counterexample validation β execute injected states against loop-start/end assertions in Verus to filter invariant examples
- triage-directed mutation β classify examples as reachable or spurious and select replace or strengthen mutators
- blocked-counterexample ranking β rank candidate proof mutations by validated examples they eliminate, then re-verify with Verus
Flux: Liquid Types for Rust
- indexed refinement APIs β index values and collection measures in types so safety preconditions become ordinary typed calls
- ownership-aware strong updates β use Rust ownership and strong references to track mutation that changes a refinement index
- polymorphic quantified invariants β encode universal container properties in refined element types and infer them with quantifier-free Horn constraints
- liquid loop inference β spatial mapping, Horn generation, and fixpoint solving synthesize loop invariants without user annotations
Enchanting Program Specification Synthesis by Large Language Models Using Static Analysis and Program Verification
- loop-aware call graph: represent functions and loops as proof nodes and generate contracts from callees upward
- hierarchical specification rounds: ask for local candidates, validate them, retain them, and revisit nodes until adequacy or a fixed bound
- satisfiability/adequacy filter: reject illegal or inconsistent clauses, then separately test whether the target assertion is proved
- few-shot local prompting: give the LLM only the component, relevant callees, a placeholder, and matching specification examples
- deletion simplification: remove clauses one at a time and replay the target proof to obtain a smaller checked specification
Corten - Foundational Verification of Rust Programs
- THIR source-near embedding β transpile Rust THIR with hax2rocq into Rocq so proof goals pretty-print to source-level syntax
- fractional ownership forest β represent values as recursive points-to facts with rational permissions and abstract layout
- move and reborrow WP β exchange initialized ownership for uninitialized ownership and return exclusive borrows through separating implications
- control-flow WP monad β model return, break, continue, match failure, and normal sequencing with tagged outcomes and guards
- syntax-directed expression WPs β separate place/value contexts and structurally account for moves, temporaries, overflow, tuples, ADTs, and calls
- modular function contracts β prove persistent
fn_item_okspecifications and reuse them at every call site - ITree adequacy β derive event-aware WPs from interaction-tree denotations and prove semantic rules incrementally
- definition sealing β expose one-step block lemmas while keeping recursive WPs opaque
- independent WP reordering β evaluate side-effect-free pattern constants before scrutinees under a sealed continuation
- join-point reasoning β discharge branches or loop iterations against one shared intermediate postcondition and prove the continuation once
- defunctionalized continuations β replace closure trees with sealed first-order sequential and handler stacks
- deterministic WP automation β normalize, dispatch by syntax, sequentialize control flow, and solve separation side obligations with fallback manual proof
- hand-oracle construct testing β validate axioms against documented Rust behavior separately from ITree adequacy
- invariant-driven allocator proof β preserve abstract free-list representation and ownership through
&mut selfcalls while hiding concrete state
Dissect-and-Restore: AI-based Code Verification with Transient Refactoring
- transient loop lifting β extract nested loops into one-loop helpers, verify, then restore original structure
- proof-tree decomposition β recursively split complex obligations into helper lemma nodes with tracked code and contracts
- feedback-driven repair β regenerate annotations using verifier diagnostics and bounded retries
- rollback with annealing β DFS search with parent rollback and decreasing model temperature after failures
- proof-outline guidance β use optional natural-language strategy to steer generated induction and helper lemmas
- restoration verification β recompose verified fragments and rerun the verifier on the original shape
Combining Mechanical and Agentic Specification Inference for Move
- mechanical WP baseline β lower contracts to a reference-free, instrumented form and derive aborts, frames, and postconditions by backward propagation
- agent loop-invariant synthesis β infer inductive counter, sequence, arithmetic, and resource facts, then let the prover reject invalid proposals
- contract simplification β replace vacuous or solver-hostile WP formulas with bounded, readable equivalents and checked triggers
- timeout escalation β strengthen invariants, add helpers, add lemmas, and use proof scripts without weakening properties
- state-transition resource specs β use frames, old-state values, and intermediate snapshots to specify multi-address global updates
- enforceable agent plugin β combine ordered skills, inferred markers, edit hooks, cached MCP tools, and prover feedback in an idempotent workflow
Baldur: Whole-Proof Generation and Repair with Large Language Models
- whole-proof generation β fine-tune on theorem-to-complete-proof pairs, sample many scripts, and accept only prover-checked candidates
- error-conditioned repair β provide a failed proof and exact verifier diagnostic to a repair model, then reverify its replacement
- theory-file context β prefix a theorem with nearby definitions and proofs so generation can copy or adapt local patterns
- repeated repair search β chain generation and repair attempts under a fixed inference budget, checking every result
- verified ensembles β combine independent model samples or complementary provers and count the union of accepted proofs
Borrowable Fractional Ownership Types for Verification
- borrowable fractional ownership β combine permission fractions with ordered borrow lifetimes to type dynamic aliases
- ownership-splitting rules β use share/borrow addition, full-permission assignment, alias redistribution, and lifetime end
- prophecy-pair reduction β replace each reference with current and future values in a heap-free target
- TXZ/PFZ invariants β connect positive ownership to current values and zero ownership to prophecy values
- alias and prophecy chains β preserve values across reborrowing with a sequence of linked prophecy equalities
- simulation soundness β prove target safety implies source safety through a step-indexed relation
Beyond Postconditions: Can Large Language Models infer Formal Contracts for Automatic Software Verification?
- NL2Contract inference β translate code-local natural language into typed preconditions plus postconditions and verify the result
- verification-guided soundness β conjoin the trusted reference precondition with inferred postconditions and check the reference in one verifier call
- mutation completeness β generate valid-input mutants and require verifier-found violations to measure discriminative power
- exception contract encoding β wrap precondition assertions as invalid-input exceptions and postconditions as executable assertions
- context-built prompting β include signatures, docs, imports, globals, class members, and called APIs to reduce hallucinated contracts
- verifier plus testing β reuse executable contracts as CrossHair assertions and Pynguin test oracles while preserving valid-input domains
Crux, a Precise Verifier for Rust and Other Languages
- symbolic unit tests β instantiate symbolic Rust values, constrain them with
crucible_assume!, assert properties withcrucible_assert!, and search exhaustively for counterexamples - executable extensional equality β compare bit-precise implementation outputs and panic behavior with Cryptol, hacspec, or Rust reference functions
- compositional specifications β prove a helper once with
#[crux_spec_for], enable it in callers, and replace expensive calls with its simpler model - MIR-to-SMT symbolic execution β extract MIR, translate to Crucible, merge branch states, and discharge negated assertions with an SMT solver
- bounded memory modeling β represent typed allocations and reference paths while rejecting most raw-layout casts and pointer arithmetic
- factorized loop verification β prove one-iteration helper equivalences and compose them to make large cryptographic loops tractable
Compositional Reasoning for Side-effectful Iterators and Iterator Adapters
- four-component iterator contracts β define
produced,completed,step, and transitiveleadsto, then enforce Q1βQ5 onnext - closure call descriptions β connect generic adapter steps to closure arguments, results, and captured-state transitions
- compositional ghost histories β store intermediate iterator/closure states and use prefix plus quantified call relations for unbounded chains
- snapshot-based two-state specs β compare whole data-structure states as mathematical values suitable for SMT
- out-of-band conditional contracts β attach iterator postconditions through an extension trait and type-dependent external specification
Assured Automatic Programming via Large Language Models
- hard/soft intent extraction β partition verification conditions into preserved facts and repairable disagreements
- prioritized co-evolution repair β synthesize and validate multiple patches for one failing trace while preserving hard facts
- artifact conformance β iteratively align program and specification with verifier checks
- test-as-intent refinement β translate tests into specifications and use trusted tests to reject vacuous contracts
- postcondition completeness β score contracts by the fraction of output mutations they reject
- formal-to-natural intent summary β summarize trusted contracts and test whether regenerated code verifies
An Empirical Study of LLM-Generated Specifications for VeriFast
- separation-logic heap contracts β use recursive predicates, points-to ownership, loop footprints, folds/unfolds, and inductive lemmas to verify heap behavior
- staged retrieval prompting β select a verifier-aware prompt and model on pilots, retrieve examples, and split context at function boundaries
- behavior-drift auditing β compare generated code and contracts semantically before treating verifier acceptance as success
- diagnostic repair taxonomy β classify compiler, heap, lemma, invariant, source, and logical failures and repair the smallest missing obligation
- symbolic-heap feedback β expose verifier ownership state and combine automatic open/close inference with LLM repairs
AxDafny: Agentic Verified Code Generation in Dafny
- verifier-guided repair loop β generate complete annotated code, run preservation/anti-bypass checks and Dafny, then repair from diagnostics with bounded memory
- contract-preservation filter β require original
requires/ensuresto remain a subset of the candidate - anti-bypass static and LLM review β reject
assume,{:axiom},{:verify false},{:extern}, and semantic tautologies - counterexample feedback β enable Dafny counterexamples to expose invalid proof obligations concretely
- dual verification/runtime evaluation β report machine verification and compiled test performance as separate metrics
- curated verified-code benchmark β validate fixed specifications with parsing, type resolution, mutation, LLM, and manual checks before use
Auto-active Verification of Graph Algorithms, Written in OCaml
- contract plus variant β attach preconditions, postconditions, and a decreasing termination measure to existing recursive code
- modular model signatures β specify graph operations against an abstract finite-domain and successor model
- representation invariants β encode closure and edge symmetry on graph records and preserve them through mutators
- boundary axioms β assume algebraic properties of generic comparison operations at module interfaces
- certificate validation β prove a small witness checker and separately establish producer safety
- path predicate correspondence β relate executable list checks to a quantified sequence path definition
- BFS soundness and completeness β use queue reachability and frontier invariants to prove both true and false results
- ghost boundary extraction β find a predicate-crossing edge along a path to discharge existential completeness claims
- proof-oriented data-structure change β add marking state and ghost sets to make queue invariants disjoint and simpler
- prover-guided splitting β split verification conditions and add small lemmas when SMT automation cannot infer them
APOLLO: Automated LLM and Lean Collaboration for Advanced Formal Reasoning
- compiler-guided staged repair β feed verifier diagnostics into syntax cleanup, placeholder extraction, solver attempts, recursive repair, and final reverification
- sorrifier obligation extraction β turn invalid nested proofs into compilable placeholders that expose local sub-lemmas without accepting them as proved
- solver-first local closure β try deterministic arithmetic and rewriting automation on each obligation before invoking an LLM
- recursive sub-lemma proving β recurse on unresolved local contexts, then assemble and reject any proof containing placeholders
Automatic Generation of Formal Specification and Verification Annotations Using LLMs and Test Oracles
- static test oracles: retain statically checked output assertions so contracts must imply concrete intended results
- negative specification tests: uncomment assertions that should fail to expose weak preconditions or overly strong postconditions
- staged verifier-feedback repair: generate annotations, run the verifier, and iteratively repair the complete program from exact diagnostics
- proof-helper pattern catalogue: supply sequence, recursion, quantifier, and test-helper templates for recurring SMT failures
- dependency-aware minimization: delete generated declarations and clauses only when a short verifier run still succeeds
- multimodel candidate selection: rank parallel model outputs by syntax, verification, size, and verification time
Automated Lemma Discovery in Agentic Program Verification
- semantic versus proof-targeted VCs β derive an agent-readable source-level obligation but prove the actual generated VC through the trusted verifier
- offline obligation-aligned lemma synthesis β compare both VC representations and emit machine-checked helper lemmas plus an application plan
- verified dynamic lemma library β retain only compiled lemmas and their dependencies for retrieval during later proof states
- feedback-guided lemma adaptation β refine types, definitions, or statements from proof-assistant errors, then prove each refinement separately
- helper-role taxonomy β classify lemmas as bridge, reduce, rewrite, or strengthen to guide retrieval and measure utility
- program slicing for semantic analysis β send only code/specification portions relevant to the target obligation to control context size
- ablation-based proof-agent evaluation β disable offline, online, or semantic-analysis components and compare denominatored VC success
- trust-boundary preservation β keep the LLM outside the trusted base by importing no statement that the proof assistant has not checked
Agentic Proving for Program Verification
- staged specification certification β generate a contract, then separately prove its relation to a reference while classifying mismatches and defects
- implementation certification β generate executable code under a fixed contract and prove the top-level correctness theorem
- issue-aware agent diagnosis β require counterexamples and component-level classifications for failures instead of binary pass/fail
- guided multi-interpretation synthesis β use examples, boundary policies, and multiple candidate contracts to expose ambiguity
A Complete, Formal Semantics for Rust Source Code
- four-layer LAGC construction β separate local evaluation, trace well-formedness, global trace composition, and initial/final program semantics
- symbolic trace concretization β use symbolic states and events locally, then concretize and chop them into shining traces under a well-formedness predicate
- context-sensitive
nextwith holes β compute the next sub-expression under value/place context and rebuild the enclosing expression through a single hole - modular Rust expression rules β model arithmetic overflow, references, assignments, calls, returns, loops, and panic as independent local rules with explicit events
- continuation-stack composition β compose local traces with call-stack rules and define finite maximal or infinite-limit program traces
- maximally permissive async semantics β represent futures, handles, await suspension, and arbitrary task selection as event-constrained task-stack transitions
- queue-and-tick Tokio model β add schedule events, local/global queues, ticks, and mutually exclusive composition rules for current-thread Tokio
- quiescent fairness by distance β prove that an enabled task executes or decreases a well-founded scheduling-distance measure at quiescent states
- bounded Tokio fairness β derive a finite scheduling bound from task-count and poll-time bounds
- trace-suffix soundness for dynamic logic β prove symbolic-execution calculus rules by showing transformed programsβ traces share a finite prefix and suffix
- loop-scope invariant proof β encode break/continue with a loop-scope flag and use anonymizing updates plus induction to preserve invariants
ANCORA: Learning to Question via Manifold-Anchored Self-Play
- manifold-first verified SFT β bootstrap format/proof coverage by distilling only Verus-verified rollouts before RL
- MLRL mean-normalized GRPO β weight rare successful attempts by inverse success count using centered binary rewards
- frontier-targeting proposer reward β reward specs whose solver outcomes are hard but nonzero, especially exactly one success in K
- solved-only UCB curriculum DAG β compose novel specs as seeds only after verifier success, novelty, and vacuity gates
Advancing Mathematics Research with AI-Driven Formal Proof Search
- compiler-gated proof loop β alternate LLM edits with Lean/Verus compilation and accept only hole-free proofs
- independent Ralph episodes β run stateless multi-turn subagents and carry forward compile-checked sketches
- helper-lemma decomposition β split monolithic goals into smaller lemmas and recheck every nested proof
- specialized prover calls β invoke a stronger proof engine on one subgoal and feed failures back to the loop
- evolutionary sketch population β rank validated candidates with ratings and sample them using P-UCB search
- formalization test lemmas β prove finite sanity cases before attempting autoformalized conjectures
- parameter-and-proof search β expose construction values for joint synthesis while protecting the theorem
- protected statement validation β prevent agents from changing specifications and reject residual placeholders
- failure-artifact collaboration β retain unresolved formal goals as precise inputs for human reformulation
Last edited: