def sequence_missing

stelliferous@0.0.2.0 · proofs/storage_refinement.bend:284

import stelliferous@0.0.2.0/proofs/storage_refinement.bend as StorageRefinement
import Base
import stelliferous@0.0.2.0/proofs/storage_tree_model.bend as Tree
import stelliferous@0.0.2.0/proofs/word_encoding.bend as WordEncoding

284def sequence_missing(~Element: Data,+count: Nat,+offset: U32,+tree: Tree.Tree<Element>,+index: Nat,
285  outside: {Nat.is_lt(index,count) == False{} : Bool}) ->
286  {List.get(&2,Element,Tree.read_sequence(~Element,count,offset,tree),index) == None{} : Maybe<&2,Element>}:
287  match count index:
288    case 0n index: {==}
289    case 1n+rest 0n:
290      Empty.absurd({Some{Tree.read(Element,tree,offset)} == None{} : Maybe<&2,Element>},
291        WordEncoding.false_true(Equal.sym(Bool,True{},False{},outside)))
292    case 1n+rest 1n+previous:
293      sequence_missing(~Element,rest,(offset + 1 : U32),tree,previous,outside)

Uses (13)

Used by (1)