def write_balanced
import bendtorch-core@0.1.0.0/src/storage/array.bend as Arrayimport Base
import bendtorch-core@0.1.0.0/src/storage/model.bend as Model
77def write_balanced(-T: Data, d: Nat, array: Array<T>, path: Model.Path(d), value: T,
78 valid: Model.Balanced(T, d, array)) -> Model.Balanced(T, d, write_path(T, d, array, path, value)):
79 match d array:
80 case 0n ALeaf{old}:
81 valid
82 case 0n ANode{xs, ys}:
83 valid
84 case 1n+p ALeaf{old}:
85 valid
86 case 1n+p ANode{xs, ys}:
87 Model.Step{bit, rest} = path
88 match bit:
89 case False{}:
90 (ex, ey) = valid
91 (write_balanced(T, p, xs, rest, value, ex), ey)
92 case True{}:
93 (ex, ey) = valid
94 (ex, write_balanced(T, p, ys, rest, value, ey))
Uses (8)
Used by (0)
No other definition uses this definition.