| n ∈ gstore, @(m0, m1, m2) ∈ gstore ⊦ (∅)[@(m0, m1, m2)] = gstore[@(m0, m1, m2)].nd, n = m0, m0 ∈ ginval, @(m0, m1, m2) ∈ gstore[n, gblock] |
gstore[@(m0, m1, m2)] = mkgnode(nd, m, boolvar, boolvar0), @(m0, m1, m2) ∈ gstore, n ∈ gstore ⊦ (∅)[@(m0, m1, m2)] = nd, n = m0, @(m0, m1, m2) ∈ gstore[n, gblock], m0 ∈ ginval
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gstore[@(m0, m1, m2)], nd, m, boolvar, boolvar0