creusot_contracts/
logic.rs1#![cfg_attr(not(creusot), allow(unused_imports))]
6use crate::prelude::*;
7
8mod fmap;
9pub mod fset;
10mod id;
11mod int;
12mod mapping;
13pub mod ops;
14pub mod ord;
15pub mod ra;
16pub mod real;
17pub mod seq;
18mod set;
19mod well_founded;
20
21pub use self::{
23 fmap::FMap, fset::FSet, id::Id, int::Int, mapping::Mapping, ord::OrdLogic, seq::Seq, set::Set,
24 well_founded::WellFounded,
25};
26
27#[trusted]
32#[logic(opaque)]
33#[requires(exists<x: T> p[x])]
34#[ensures(p[result])]
35pub fn such_that<T>(p: crate::logic::Mapping<T, bool>) -> T {
36 dead
37}
38
39#[trusted]
43#[logic(opaque)]
44#[requires(false)]
45#[ensures(false)]
46#[variant(0)]
47#[allow(unconditional_recursion)]
48pub fn unreachable<T>() -> T {
49 unreachable()
50}