| jmaxino0 = ndx.flashsize + jmaxino, jmaxino0 = n, nd = ndx0.head, ndx0 = ndx5, ndx1 = ndx3, ndx4 = ndx2, ndx6 = [], ndx7 = ndx + ndx0, ndx7 = ndx3, ndx0.head.flashsize ≤ jmaxino, ndx0 ≠ [] → ndx0 ≠ [] ⊦ ⟪jmaxino := jmaxino - nd.flashsize⟫ ( ((ndx0.tail ≠ [] → ndx0.tail ≠ []) ∧ ndx7 = (ndx + nd) + ndx0.tail ∧ jmaxino0 = (ndx + nd).flashsize + jmaxino) ∧ # ndx0.tail < # ndx5), ndx0 = [] |
Used simplifier rules: ⊦ n ≥ m ↔ m ≤ n; (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ m ≤ n → (n < m ↔ false); (s)% ⊦ ndx + nd = ndx + nd '; (s)% ⊦ ndx ≠ [] → ndx.head ' + ndx.tail = ndx; (s)%a: ⊦ (ndx + ndx0) + ndx1 = ndx + ndx0 + ndx1; from specification list[node-list]% ⊦ ndx + ndx0 = ndx + ndx1 ↔ ndx0 = ndx1; (s)% ⊦ (ndx0 + ndx1).flashsize = ndx0.flashsize + ndx1.flashsize; (s)% ⊦ nd '.flashsize = nd.flashsize; (s)% ⊦ n ≤ n0 → (m + (n0 - n)) + n = m + n0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ m + n = m + n0 ↔ n = n0; (s)% ⊦ ndx ≠ [] → # ndx.tail = (# ndx)-1; (s)% ⊦ n -1 = n - 1; (s)% ⊦ m < 1 ↔ m = 0; (s)% ⊦ # ndx = 0 ↔ ndx = []; (s)%n0 ≤ n ⊦ n - n0 < m ↔ n < m + n0; (s)% ⊦ m < n + 1 ↔ ¬ n < m; (s)% ⊦ ¬ n < n; (s)