def chg.match_app

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

import bend-osdev-apparmor@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend as RX

3809def chg.match_app(+xs: List<&2, RX.AaChangeRule>, +ys: List<&2, RX.AaChangeRule>, +q: RX.AaChangeQuery) -> {RX.AaChangeRule.matching(RX.AaChangeRule.append(xs, ys), q) == RX.AaChangeRule.append(RX.AaChangeRule.matching(xs, q), RX.AaChangeRule.matching(ys, q)) : List<&2, RX.AaChangeRule>}:
3810  match xs:
3811    case Nil{}:
3812      {==}
3813    case Con{r, t}:
3814      Equal.trans(List<&2, RX.AaChangeRule>, RX.AaChangeRule.matching.go(RX.AaChangeRule.matches(r, q), r, RX.AaChangeRule.matching(RX.AaChangeRule.append(t, ys), q)), RX.AaChangeRule.matching.go(RX.AaChangeRule.matches(r, q), r, RX.AaChangeRule.append(RX.AaChangeRule.matching(t, q), RX.AaChangeRule.matching(ys, q))), RX.AaChangeRule.append(RX.AaChangeRule.matching.go(RX.AaChangeRule.matches(r, q), r, RX.AaChangeRule.matching(t, q)), RX.AaChangeRule.matching(ys, q)), Equal.cong(List<&2, RX.AaChangeRule>, List<&2, RX.AaChangeRule>, x => RX.AaChangeRule.matching.go(RX.AaChangeRule.matches(r, q), r, x), RX.AaChangeRule.matching(RX.AaChangeRule.append(t, ys), q), RX.AaChangeRule.append(RX.AaChangeRule.matching(t, q), RX.AaChangeRule.matching(ys, q)), chg.match_app(t, ys, q)), chg.mgo(RX.AaChangeRule.matches(r, q), r, RX.AaChangeRule.matching(t, q), RX.AaChangeRule.matching(ys, q)))

Uses (10)

Used by (1)