| # gndx = # ndx3, transaction-prefix(ndx3 + ndx1, gndx) ⊦ ndx1 = [], ∃ ndx. ndx3 + ndx1 = ndx + ndx1.tail ∧ (ndx1.tail = [] → transaction(ndx3 + ndx1, gndx + mkgnode(ndx1.head, jmaxino0 + # ndx3, ndx3 = [], # ndx1 = 1) ')) ∧ ( ndx1.tail ≠ [] → transaction-prefix(ndx3 + ndx1, gndx + mkgnode(ndx1.head, jmaxino0 + # ndx3, ndx3 = [], # ndx1 = 1) ') ∧ # ndx3 + 1 = # ndx) ∧ ndx ≠ [] |
# gndx = # ndx3, ndx1 = nd + ndx0, transaction-prefix(ndx3 + ndx1, gndx) ⊦ ndx1 = [], ∃ ndx. ndx3 + ndx1 = ndx + ndx0 ∧ (ndx0 = [] → transaction(ndx3 + ndx1, gndx + mkgnode(nd, jmaxino0 + # ndx3, ndx3 = [], # ndx1 = 1) ')) ∧ ( ndx0 ≠ [] → transaction-prefix(ndx3 + ndx1, gndx + mkgnode(nd, jmaxino0 + # ndx3, ndx3 = [], # ndx1 = 1) ') ∧ # ndx3 + 1 = # ndx) ∧ ndx ≠ []
Used simplifier rules: ndx ≠ [] ⊦ nd = ndx.head ∧ ndx0 = ndx.tail ↔ ndx = nd + ndx0; (elim) Used terms: ndx1, nd, ndx0