def ptr.gapp

bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3696

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_ptrace.bend as RP

3696def ptr.gapp(+xs: List<&2, RP.AaPtraceRule>, +ys: List<&2, RP.AaPtraceRule>, +q: RP.AaPtraceQuery) -> {RP.AaPtraceRule.grants(RP.AaPtraceRule.append(xs, ys), q) == P.AaGrant.append(RP.AaPtraceRule.grants(xs, q), RP.AaPtraceRule.grants(ys, q)) : List<&2, P.AaGrant>}:
3697  Equal.trans(List<&2, P.AaGrant>, RP.AaPtraceRule.grants.of(RP.AaPtraceRule.matching(RP.AaPtraceRule.append(xs, ys), q)), RP.AaPtraceRule.grants.of(RP.AaPtraceRule.append(RP.AaPtraceRule.matching(xs, q), RP.AaPtraceRule.matching(ys, q))), P.AaGrant.append(RP.AaPtraceRule.grants(xs, q), RP.AaPtraceRule.grants(ys, q)), Equal.cong(List<&2, RP.AaPtraceRule>, List<&2, P.AaGrant>, x => RP.AaPtraceRule.grants.of(x), RP.AaPtraceRule.matching(RP.AaPtraceRule.append(xs, ys), q), RP.AaPtraceRule.append(RP.AaPtraceRule.matching(xs, q), RP.AaPtraceRule.matching(ys, q)), ptr.match_app(xs, ys, q)), ptr.gof_app(RP.AaPtraceRule.matching(xs, q), RP.AaPtraceRule.matching(ys, q)))

Uses (13)

Used by (1)