| bag ++ a ⊆ bag1, ∀ bag1. bag ⊆ bag1 → # bag ≤ # bag1 ⊦ #(bag ++ a) ≤ # bag1 |
# bag0 < # bag, bag ⊆ bag0, ∀ bag1. bag ⊆ bag1 → # bag ≤ # bag1 ⊦
Used simplifier rules: subset-plus: ⊦ bag0 ++ a ⊆ bag1 ↔ (∃ bag2. bag1 = bag2 ++ a ∧ bag0 ⊆ bag2);%size-rec: ⊦ #(bag ++ a) = # bag + 1;% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m + 1 ≤ n ↔ m < n; (s)