| max(sort(x0)) = max(x0) ∨ x0 = [] ⊦ max(sort(a + x0)) = max(a + x0), a + x0 = [] |
max(sort(x0)) = max(x0) ⊦ x0 = [], max(ins≤(a, sort(x0))) = (max(x0) < a ⊃ a;max(x0))
Used simplifier rules: max-base: ⊦ max(a ') = a;%max-rec: ⊦ x ≠ [] → max(a ' + x) = (max(x) < a ⊃ a;max(x));%app: ⊦ x + [] = x; from specification list%ins-e: ⊦ ins≤(a, []) = a '; from specification olist%empty: ⊦ sort([]) = []; from specification olist-sort%e-01: ⊦ a ' + x ≠ []; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%rec: ⊦ sort(a ' + x) = ins≤(a, sort(x)); from specification olist-sort%c: ⊦ a + x = a ' + x; from specification list