def inside
import stelliferous@0.0.2.0/proofs/traversal_map_readback.bend as TraversalMapReadbackimport Base
import stelliferous@0.0.2.0/proofs/traversal_array_refinement.bend as ArrayLaws
import stelliferous@0.0.2.0/proofs/storage_tree_model.bend as Tree
import stelliferous@0.0.2.0/proofs/storage_shape.bend as Shape
import stelliferous@0.0.2.0/proofs/nat_order.bend as Order
150def inside(~Element: Data,~Context: Data,~operation: Context -> Element -> Element,count: Nat,+position: Nat,index: Nat,+context: Context,+input: Tree.Tree<Element>,+depth: Nat,+capacity: U32,
151 +capacity_equal: {Tree.capacity(Element,input) == capacity : U32},+balanced: Shape.Balanced(Element,depth,input),+limit: {Nat.is_le(depth,30n) == True{} : Bool},
152 +capacity_ok: {U32.is_le(capacity,2147483648) == True{} : Bool},+room: {Nat.is_le(Nat.add(position,count),U32.to_nat(capacity)) == True{} : Bool},
153 +selected: {Nat.is_lt(index,count) == True{} : Bool}) ->
154 {Tree.read(Element,run(~Element,~Context,~operation,count,U32.from_nat(position),context,input),U32.from_nat(Nat.add(position,index))) ==
155 operation(context,Tree.read(Element,input,U32.from_nat(Nat.add(position,index)))) : Element}:
156 inside_indexed(~Element,~Context,~ArrayLaws.unindexed(~Element,~Context,~operation),count,position,index,context,input,depth,capacity,capacity_equal,balanced,Order.successor(depth,30n,limit),capacity_ok,room,selected)
Uses (17)
Used by (0)
No other definition uses this definition.