| ¬ ints1 ≠ [], perm(ints1, ints0 -1l i), i ∈ ints0, ∀ ints0. perm(ints1, ints0) → max(ints1) = max(ints0) ⊦ max(i ' + ints1) = max(ints0) |
ints0 -1l i = [], i ∈ ints0 ⊦ i = max(ints0)
Used simplifier rules: max-one: ⊦ max(i ') = i;%empty-01: ⊦ perm([], ints) ↔ ints = []; from specification list-perm[intlista]%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%app: ⊦ ints + [] = ints; from specification list[intlista]