def ptr.match_app
bend-osdev-apparmor@0.1.0.0 · PROOF.bend:3680
import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/rule_ptrace.bend as RP
3680def ptr.match_app(+xs: List<&2, RP.AaPtraceRule>, +ys: List<&2, RP.AaPtraceRule>, +q: RP.AaPtraceQuery) -> {RP.AaPtraceRule.matching(RP.AaPtraceRule.append(xs, ys), q) == RP.AaPtraceRule.append(RP.AaPtraceRule.matching(xs, q), RP.AaPtraceRule.matching(ys, q)) : List<&2, RP.AaPtraceRule>}:
3681 match xs:
3682 case Nil{}:
3683 {==}
3684 case Con{r, t}:
3685 Equal.trans(List<&2, RP.AaPtraceRule>, RP.AaPtraceRule.matching.go(RP.AaPtraceRule.matches(r, q), r, RP.AaPtraceRule.matching(RP.AaPtraceRule.append(t, ys), q)), RP.AaPtraceRule.matching.go(RP.AaPtraceRule.matches(r, q), r, RP.AaPtraceRule.append(RP.AaPtraceRule.matching(t, q), RP.AaPtraceRule.matching(ys, q))), RP.AaPtraceRule.append(RP.AaPtraceRule.matching.go(RP.AaPtraceRule.matches(r, q), r, RP.AaPtraceRule.matching(t, q)), RP.AaPtraceRule.matching(ys, q)), Equal.cong(List<&2, RP.AaPtraceRule>, List<&2, RP.AaPtraceRule>, x => RP.AaPtraceRule.matching.go(RP.AaPtraceRule.matches(r, q), r, x), RP.AaPtraceRule.matching(RP.AaPtraceRule.append(t, ys), q), RP.AaPtraceRule.append(RP.AaPtraceRule.matching(t, q), RP.AaPtraceRule.matching(ys, q)), ptr.match_app(t, ys, q)), ptr.mgo(RP.AaPtraceRule.matches(r, q), r, RP.AaPtraceRule.matching(t, q), RP.AaPtraceRule.matching(ys, q)))