def mnt.gapp
bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3739
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_mount.bend as RM
3739def mnt.gapp(+xs: List<&2, RM.AaMountRule>, +ys: List<&2, RM.AaMountRule>, +q: RM.AaMountQuery) -> {RM.AaMountRule.grants(RM.AaMountRule.append(xs, ys), q) == P.AaGrant.append(RM.AaMountRule.grants(xs, q), RM.AaMountRule.grants(ys, q)) : List<&2, P.AaGrant>}:
3740 Equal.trans(List<&2, P.AaGrant>, RM.AaMountRule.grants.of(RM.AaMountRule.matching(RM.AaMountRule.append(xs, ys), q)), RM.AaMountRule.grants.of(RM.AaMountRule.append(RM.AaMountRule.matching(xs, q), RM.AaMountRule.matching(ys, q))), P.AaGrant.append(RM.AaMountRule.grants(xs, q), RM.AaMountRule.grants(ys, q)), Equal.cong(List<&2, RM.AaMountRule>, List<&2, P.AaGrant>, x => RM.AaMountRule.grants.of(x), RM.AaMountRule.matching(RM.AaMountRule.append(xs, ys), q), RM.AaMountRule.append(RM.AaMountRule.matching(xs, q), RM.AaMountRule.matching(ys, q)), mnt.match_app(xs, ys, q)), mnt.gof_app(RM.AaMountRule.matching(xs, q), RM.AaMountRule.matching(ys, q)))