def cap.match_app
bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3551
import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/rule_capability.bend as RC
3551def cap.match_app(+xs: List<&2, RC.AaCapRule>, +ys: List<&2, RC.AaCapRule>, +q: RC.AaCapQuery) -> {RC.AaCapRule.matching(RC.AaCapRule.append(xs, ys), q) == RC.AaCapRule.append(RC.AaCapRule.matching(xs, q), RC.AaCapRule.matching(ys, q)) : List<&2, RC.AaCapRule>}:
3552 match xs:
3553 case Nil{}:
3554 {==}
3555 case Con{r, t}:
3556 Equal.trans(List<&2, RC.AaCapRule>, RC.AaCapRule.matching.go(RC.AaCapRule.matches(r, q), r, RC.AaCapRule.matching(RC.AaCapRule.append(t, ys), q)), RC.AaCapRule.matching.go(RC.AaCapRule.matches(r, q), r, RC.AaCapRule.append(RC.AaCapRule.matching(t, q), RC.AaCapRule.matching(ys, q))), RC.AaCapRule.append(RC.AaCapRule.matching.go(RC.AaCapRule.matches(r, q), r, RC.AaCapRule.matching(t, q)), RC.AaCapRule.matching(ys, q)), Equal.cong(List<&2, RC.AaCapRule>, List<&2, RC.AaCapRule>, x => RC.AaCapRule.matching.go(RC.AaCapRule.matches(r, q), r, x), RC.AaCapRule.matching(RC.AaCapRule.append(t, ys), q), RC.AaCapRule.append(RC.AaCapRule.matching(t, q), RC.AaCapRule.matching(ys, q)), cap.match_app(t, ys, q)), cap.mgo(RC.AaCapRule.matches(r, q), r, RC.AaCapRule.matching(t, q), RC.AaCapRule.matching(ys, q)))