bend-collections-laws-math
Releases (1)
-
1.0.0.0 indexed
Definitions (5,526)
proofs/lib/lemmas/proofs/word_multiplication.bend
- def go_refines
- def zero_unsigned
- def refines
- def u32_refines
proofs/lib/lemmas/proofs/word_shift.bend
- def carry
- def conservationInteger conservation for actual Base.shl.put, retaining the discarded bit.
- def same_as_put
- def shift_conservation
- def refines
- def exact
proofs/lib/lemmas/proofs/word_subtraction.bend
- def shape
- def flipThe subtraction branch of existing Base.adc equals addition of complemented bits with the same input carry.
- def complement_form
- def refinesExact modulo subtraction expressed using nonnegative mathematical magnitudes.
- def u32_refinesConcrete primitive used in wide.digit_result; the independent complement conservation above gives the equivalent nonnegative modular-subtraction form.
proofs/lib/lemmas/proofs/word_value.bend
- def le_reflEvery natural below 2^n is represented exactly by from_nat(n, v): its unsigned value is v.
- def le_succ
- def le_add
- def shift_count(M + r) + (1 + n) == (M + (1 + r)) + n
- def shift_carry(M + r) + (1 + n) == ((1+bp) + M + 0) + n when r == bp
- def go_equation
- def bound_zero
- def extend
- def goInvariant of the actual division loop: remaining countdown m plus the running remainder r is the divisor minus one.
- def halfv == 2*(v/2) + v%2 and v%2 <= 1, for the actual Nat.divmod.
- def remainder_bit
- def not_below_zero
- def lt_double
- def two_times
- def rescalev < 2 * 2^p, rewritten as 2*(v/2) + v%2 < double(2^p)
- def from_nat_step
- def below_one
- def half_parts
- def from_nat_value
proofs/lib/lemmas/spec/numeric.bend
- def bit_value
- def unsigned
- def sign_threshold
- def negative
- def zero
- def order
- def expired
- def from_nat
- def modulus
- def unsigned_quotient
- def negative_quotient
- def quotient_signed
- def milliseconds
- def add
- def expiry_choose
- def deadline
- def scale_binary
proofs/lib/lemmas/spec/unsigned_division.bend
- def quotientMathematical division of the interpreted input.
proofs/lib/lemmas/src/cache.bend
- type CacheThe list is oldest first; it contains only encoded keys, never values.
- type Step
- def init
- def new_checked
- def construct
- def new_with_size
- def new
- def len
- law without
- def without_keep
- def events
- def removal_counts
- def lookup_result
- def lookup
- def remove_present
- def remove_found
- def remove_encoded
- def remove
- def oldest_remove
- def remove_oldest
- def store
- def store_after_evict
- def add_room
- def capacity
- def add_found
- def add_with_lifetime
- def add
- def hit_counts
- def counted
- def miss_after_remove
- def touch_order
- def read_live
- def read_expiry
- def read_found
- def read_encoded
- def get
- def peek
- def refresh_present
- def refresh_found
- def get_and_refresh
- def set_lifetime
- def metrics
- def reset_metrics
- def oldest_read
- def get_oldest
- def step_cache
- def step_events
- def clear_metrics