6 releases

0.0.5 Jan 22, 2026
0.0.4 Nov 5, 2025
0.0.3 Jun 30, 2025
0.0.3-alpha.3 Jun 23, 2025

#174 in Hardware support

Download history 6037/week @ 2025-10-14 5052/week @ 2025-10-21 6456/week @ 2025-10-28 8221/week @ 2025-11-04 7674/week @ 2025-11-11 8891/week @ 2025-11-18 6527/week @ 2025-11-25 8599/week @ 2025-12-02 9921/week @ 2025-12-09 9218/week @ 2025-12-16 4140/week @ 2025-12-23 5149/week @ 2025-12-30 9654/week @ 2026-01-06 9896/week @ 2026-01-13 9978/week @ 2026-01-20 12980/week @ 2026-01-27

43,919 downloads per month
Used in 95 crates (2 directly)

Apache-2.0

150KB
3K SLoC

core-models

This crate contains f-star models for the Rust core library for use with hax.


lib.rs:

core-models: A Rust Model for the core Library

core-models is a simplified, self-contained model of Rust’s core library. It aims to provide a purely Rust-based specification of core's fundamental operations, making them easier to understand, analyze, and formally verify. Unlike core, which may rely on platform-specific intrinsics and compiler magic, core-models expresses everything in plain Rust, prioritizing clarity and explicitness over efficiency.

Key Features

  • Partial Modeling: core-models includes only a subset of core, focusing on modeling fundamental operations rather than providing a complete replacement.
  • Exact Signatures: Any item that exists in both core-models and core has the same type signature, ensuring compatibility with formal verification efforts.
  • Purely Functional Approach: Where possible, core-models favors functional programming principles, avoiding unnecessary mutation and side effects to facilitate formal reasoning.
  • Explicit Implementations: Even low-level operations, such as SIMD, are modeled explicitly using Rust constructs like bit arrays and partial maps.
  • Extra Abstractions: core-models includes additional helper types and functions to support modeling. These extra items are marked appropriately to distinguish them from core definitions.

Intended Use

core-models is designed as a reference model for formal verification and reasoning about Rust programs. By providing a readable, well-specified version of core's behavior, it serves as a foundation for proof assistants and other verification tools.

Dependencies

~1.5MB
~33K SLoC