aboutsummaryrefslogtreecommitdiff
path: root/kernel/prelude/SATS/safe_casts.sats
blob: 8850ef643643c1eaf56240a7444a84f46506cfee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
castfn u2u64{v : nat | v <= 0xFFFFFFFFFFFFFFFF}(v : uint v) :<> uint64 v
castfn Ptr0_to_u64(v : Ptr0):<> uint64

castfn u64_to_Ptr1{n:nat | n > 0}(v : uint64 n):<> Ptr1
castfn ulint_to_Ptr1{n: nat | n > 0}(v : ulint n):<> Ptr1
castfn sz_to_Ptr1{n : nat | n > 0}(v : size_t n):<> Ptr1

castfn u64_to_Ptr0(v : uint64):<> Ptr0
castfn ulint_to_Ptr0(v : ulint):<> Ptr0
castfn sz_to_Ptr0(v : size_t):<> Ptr0

castfn Ptr1_to_sz(v : Ptr1):<> sizeGte(1)