def cap.gapp
bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3567
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_capability.bend as RC
3567def cap.gapp(+xs: List<&2, RC.AaCapRule>, +ys: List<&2, RC.AaCapRule>, +q: RC.AaCapQuery) -> {RC.AaCapRule.grants(RC.AaCapRule.append(xs, ys), q) == P.AaGrant.append(RC.AaCapRule.grants(xs, q), RC.AaCapRule.grants(ys, q)) : List<&2, P.AaGrant>}:
3568 Equal.trans(List<&2, P.AaGrant>, RC.AaCapRule.grants.of(RC.AaCapRule.matching(RC.AaCapRule.append(xs, ys), q)), RC.AaCapRule.grants.of(RC.AaCapRule.append(RC.AaCapRule.matching(xs, q), RC.AaCapRule.matching(ys, q))), P.AaGrant.append(RC.AaCapRule.grants(xs, q), RC.AaCapRule.grants(ys, q)), Equal.cong(List<&2, RC.AaCapRule>, List<&2, P.AaGrant>, x => RC.AaCapRule.grants.of(x), RC.AaCapRule.matching(RC.AaCapRule.append(xs, ys), q), RC.AaCapRule.append(RC.AaCapRule.matching(xs, q), RC.AaCapRule.matching(ys, q)), cap.match_app(xs, ys, q)), cap.gof_app(RC.AaCapRule.matching(xs, q), RC.AaCapRule.matching(ys, q)))