| # x < m ⊦ ⌜x⌝ + σ to m = ⌜x⌝ + (σ to (m - # x)), m = 0 |
∀ m, σ. # x0 < m → ⌜x0⌝ + σ to m = ⌜x0⌝ + (σ to (m - # x0)) ∨ m = 0, #(a + x0) < m ⊦ ⌜a + x0⌝ + σ to m = ⌜a + x0⌝ + (σ to (m - #(a + x0))), m = 0
Used simplifier rules: empty: ⊦ ⌜[]⌝ = [];%empty-append: ⊦ [] + σ = σ;%append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2;%list freely generated by [], +;;%size-01: ⊦ # [] = 0; from specification list-data%sub-base: ⊦ m - 0 = m; from specification nat