| @(m, m0, m1) ∈ as ⊦ # as = 0, (as -- @(m, m0, m1)).size = as.size - m1, as = ∅ |
⊦ adr ∈ as ↔ (∃ as0. as = as0 ++ adr ∧ ¬ adr ∈ as0)
Used simplifier rules: size-rec: ⊦ ¬ adr ∈ as → (as ++ adr).size = as.size + adr.size;% ⊦ ∅ ≠ as ++ adr; (s)% ⊦ ¬ adr ∈ as → (as ++ adr) -- adr = as; (s)% ⊦ @(m, m0, m1).size = m1; (s)% ⊦ m + n - m = n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: as, @(m, m0, m1)