~/bend-docscommunity

proofs/lib/array_ext.bend checks

raw source on the hub · import bend-collections-laws-containers@1.0.0.0/proofs/lib/array_ext.bend as Array_ext

6 imports
import Base
import ./logic.bend as L
import ./nat.bend as N
import ./list.bend as LL
import ./array.bend as AR
import ../../spec/lib/common.bend as SC

Definitions

def take_len source · line 11 · raw

@-A:Data -> @+xs:List<&2, A> -> {0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.take(A, xs, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, xs)) == xs : List<&2, A>}

def drop_zero source · line 18 · raw

@-A:Data -> @+xs:List<&2, A> -> {0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.drop(A, xs, 0n) == xs : List<&2, A>}

def take_app_len source · line 25 · raw

@-A:Data -> @+xs:List<&2, A> -> @+ys:List<&2, A> -> {0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.take(A, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, xs, ys), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, xs)) == xs : List<&2, A>}

def drop_app_len source · line 28 · raw

@-A:Data -> @+xs:List<&2, A> -> @+ys:List<&2, A> -> {0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.drop(A, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, xs, ys), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, xs)) == ys : List<&2, A>}

def split_eq source · line 35 · raw

@-A:Data -> @+a1:List<&2, A> -> @+b1:List<&2, A> -> @+a2:List<&2, A> -> @+b2:List<&2, A> -> @+el:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, a1) == 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, a2) : Nat} -> @+e:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, a1, b1) == 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, a2, b2) : List<&2, A>} -> {a1 == a2 : List<&2, A>}

def split_eq_r source · line 39 · raw

@-A:Data -> @+a1:List<&2, A> -> @+b1:List<&2, A> -> @+a2:List<&2, A> -> @+b2:List<&2, A> -> @+el:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, a1) == 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.length(A, a2) : Nat} -> @+e:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, a1, b1) == 0x5c489f5d9646d7cc9aa3dd8137e9dc07/spec/lib/common.append(A, a2, b2) : List<&2, A>} -> {b1 == b2 : List<&2, A>}

def head_of source · line 43 · raw

@-A:Data -> @xs:List<&2, A> -> @+d:A -> A

def tree_ext source · line 50 · raw

@-A:Data -> @+d:Nat -> @+u:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.Tree<A> -> @+v:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.Tree<A> -> @+pu:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.perfect(A, d, u) == True{} : Bool} -> @+pv:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.perfect(A, d, v) == True{} : Bool} -> @+e:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.slots(A, u) == 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.slots(A, v) : List<&2, A>} -> {u == v : 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/array.Tree<A>}