| (mkbag(A, # A) -- A[m + 1]) ++ a = mkbag(A0, # A0), m + 1 < # A ⊦ (mkbag(A[m, a], # A) -- A[m + 1]) ++ A[m] = (mkbag(A, # A) -- A[m + 1]) ++ a |
(mkbag(A, # A) -- A[m + 1]) ++ a = mkbag(A0, # A0), m + 1 < # A, m < # A ⊦ (mkbag(A[m, a], # A) -- A[m + 1]) ++ A[m] = (mkbag(A, # A) -- A[m + 1]) ++ a
Used simplifier rules: ⊦ ¬ m < n → ¬ m + m0 < n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used formulas: m < # A