| transaction(ndx, gndx1) ⊦ valid-group-nodes(gndx0 + gndx1) = # gndx0 + # gndx1, ∀ gndx0, gnd. gndx1 ≠ gndx0 + gnd ' |
transaction(ndx, gndx + gnd ') ⊦ (gnd.end ⊃ (# gndx0 + # gndx) + 1;valid-group-nodes(gndx0 + gndx)) = # gndx0 + # gndx + 1
Used simplifier rules: valid-group-nodes-rec: ⊦ valid-group-nodes(gndx + gnd ') = (gnd.end ⊃ # gndx + 1;valid-group-nodes(gndx));% ⊦ # gnd ' = 0 +1; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%a: ⊦ (gndx + gndx0) + gndx1 = gndx + gndx0 + gndx1; from specification list[group-store]% ⊦ #(gndx + gndx0) = # gndx + # gndx0; (s)