https://github.com/project-everest/hacl-star
Raw File
Tip revision: aabf2223a160b839f0380b0a2878e887ad4a5409 authored by Dzomo, the Everest Yak on 08 July 2020, 08:22:44 UTC
[CI] regenerate hints and dist
Tip revision: aabf222
Lib.IntTypes.Intrinsics.fsti
module Lib.IntTypes.Intrinsics

open FStar.HyperStack
open FStar.HyperStack.All

open Lib.IntTypes
open Lib.Buffer

open FStar.Mul

noextract
val add_carry_u64: cin:uint64 -> x:uint64 -> y:uint64 -> r:lbuffer uint64 (size 1) -> 
  Stack uint64 
    (requires fun h -> live h r /\ v cin <= 1)
    (ensures  fun h0 c h1 -> 
      modifies1 r h0 h1 /\ v c <= 1 /\
      (let r = Seq.index (as_seq h1 r) 0 in 
       v r + v c * pow2 64 == v x + v y + v cin))

noextract
val sub_borrow_u64: cin:uint64 -> x:uint64 -> y:uint64 -> r:lbuffer uint64 (size 1) -> 
  Stack uint64
    (requires fun h -> live h r /\ v cin <= 1)
    (ensures  fun h0 c h1 -> 
      modifies1 r h0 h1 /\ 
      (let r = Seq.index (as_seq h1 r) 0 in 
       v r - v c * pow2 64 == v x - v y - v cin))
back to top