def dbs.gapp
bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3782
import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/perm.bend as P
import bend-osdev-apparmor@0.1.0.0/rule_dbus.bend as RD
3782def dbs.gapp(+xs: List<&2, RD.AaDbusRule>, +ys: List<&2, RD.AaDbusRule>, +q: RD.AaDbusQuery) -> {RD.AaDbusRule.grants(RD.AaDbusRule.append(xs, ys), q) == P.AaGrant.append(RD.AaDbusRule.grants(xs, q), RD.AaDbusRule.grants(ys, q)) : List<&2, P.AaGrant>}:
3783 Equal.trans(List<&2, P.AaGrant>, RD.AaDbusRule.grants.of(RD.AaDbusRule.matching(RD.AaDbusRule.append(xs, ys), q)), RD.AaDbusRule.grants.of(RD.AaDbusRule.append(RD.AaDbusRule.matching(xs, q), RD.AaDbusRule.matching(ys, q))), P.AaGrant.append(RD.AaDbusRule.grants(xs, q), RD.AaDbusRule.grants(ys, q)), Equal.cong(List<&2, RD.AaDbusRule>, List<&2, P.AaGrant>, x => RD.AaDbusRule.grants.of(x), RD.AaDbusRule.matching(RD.AaDbusRule.append(xs, ys), q), RD.AaDbusRule.append(RD.AaDbusRule.matching(xs, q), RD.AaDbusRule.matching(ys, q)), dbs.match_app(xs, ys, q)), dbs.gof_app(RD.AaDbusRule.matching(xs, q), RD.AaDbusRule.matching(ys, q)))