| m ≠ 0, # x0 + 1 < m, ∀ m, σ. # x0 < m → ⌜x0⌝ + σ to m = ⌜x0⌝ + (σ to (m - # x0)) ∨ m = 0 ⊦ m = 0, ⌜a '⌝ + (⌜x0⌝ + σ to (m - 1)) = (⌜a '⌝ + ⌜x0⌝ ) + (σ to (m - # x0 + 1)) |
# x0 + 1 < m, ∀ m, σ. # x0 < m → ⌜x0⌝ + σ to m = ⌜x0⌝ + (σ to (m - # x0)) ∨ m = 0 ⊦ m = 0, ⌜x0⌝ + σ to (m - 1) = ⌜x0⌝ + (σ to (m - # x0 + 1))
Used simplifier rules: append-cancel-l: ⊦ ⌜x⌝ + σ0 = ⌜x⌝ + σ1 ↔ σ0 = σ1;%append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2;