| p ∈ tree ⊦ tree[p, tree0][p] = tree0 |
⊦ tree[ε, tree0] = tree0
⊦ tree[ε] = tree
str + p0 ∈ tree, ∀ tree, tree0. p0 ∈ tree → tree[p0, tree0][p0] = tree0 ⊦ tree[str + p0, tree0][str + p0] = tree0
Used simplifier rules: nil-put: ⊦ tree[ε, tree0] = tree0;%nil-at: ⊦ tree[ε] = tree;%path freely generated by ε, +;;