def sig.match_app

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

import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/rule_signal.bend as RS

3637def sig.match_app(+xs: List<&2, RS.AaSignalRule>, +ys: List<&2, RS.AaSignalRule>, +q: RS.AaSignalQuery) -> {RS.AaSignalRule.matching(RS.AaSignalRule.append(xs, ys), q) == RS.AaSignalRule.append(RS.AaSignalRule.matching(xs, q), RS.AaSignalRule.matching(ys, q)) : List<&2, RS.AaSignalRule>}:
3638  match xs:
3639    case Nil{}:
3640      {==}
3641    case Con{r, t}:
3642      Equal.trans(List<&2, RS.AaSignalRule>, RS.AaSignalRule.matching.go(RS.AaSignalRule.matches(r, q), r, RS.AaSignalRule.matching(RS.AaSignalRule.append(t, ys), q)), RS.AaSignalRule.matching.go(RS.AaSignalRule.matches(r, q), r, RS.AaSignalRule.append(RS.AaSignalRule.matching(t, q), RS.AaSignalRule.matching(ys, q))), RS.AaSignalRule.append(RS.AaSignalRule.matching.go(RS.AaSignalRule.matches(r, q), r, RS.AaSignalRule.matching(t, q)), RS.AaSignalRule.matching(ys, q)), Equal.cong(List<&2, RS.AaSignalRule>, List<&2, RS.AaSignalRule>, x => RS.AaSignalRule.matching.go(RS.AaSignalRule.matches(r, q), r, x), RS.AaSignalRule.matching(RS.AaSignalRule.append(t, ys), q), RS.AaSignalRule.append(RS.AaSignalRule.matching(t, q), RS.AaSignalRule.matching(ys, q)), sig.match_app(t, ys, q)), sig.mgo(RS.AaSignalRule.matches(r, q), r, RS.AaSignalRule.matching(t, q), RS.AaSignalRule.matching(ys, q)))

Uses (10)

Used by (1)