| a ∈ st0, ∀ a0. a0 ∈ st1[a, d] ↔ a0 ∈ st0, (∀ a0. a0 ∈ st1 ↔ a0 ∈ st0 -- a) → # st1 = #(st0 -- a), ∀ st0. (∀ a. a ∈ st1 ↔ a ∈ st0) → # st1 = # st0 ⊦ # st1 + 1 = # st0, a ∈ st1 |
a ∈ st0, ∀ a0. a0 ∈ st1[a, d] ↔ a0 ∈ st0, ∀ st0. (∀ a. a ∈ st1 ↔ a ∈ st0) → # st1 = # st0, (a0 ∈ st1 ↔ a0 ∈ st0 -- a) → # st1 = # st0 - 1 ⊦ # st1 + 1 = # st0, a ∈ st1
Used simplifier rules: size: ⊦ a ∈ st → #(st -- a) = (# st)-1;%pred-03: ⊦ n -1 = n - 1; from specification nat