LAWS.include_idempotent_change_profile: law of bend-osdev-apparmor@0.1.0.0 Import: import bend-osdev-apparmor@0.1.0.0/LAWS.bend as LAWS Lines 176-181 of bend-osdev-apparmor@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-apparmor@0.1.0.0/LAWS.bend&start_line=176&end_line=181 import Base import bend-osdev-apparmor@0.1.0.0/options.bend as O import bend-osdev-apparmor@0.1.0.0/profile.bend as PR import bend-osdev-apparmor@0.1.0.0/eval.bend as V import bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend as RX law include_idempotent_change_profile: for opts: O.AaOptions for p: PR.AaProfile for r: PR.AaRules for q: RX.AaChangeQuery {V.AaEval.change_profile(opts, PR.AaProfile.include(PR.AaProfile.include(p, r), r), q) == V.AaEval.change_profile(opts, PR.AaProfile.include(p, r), q) : V.AaDecision} Uses (8): https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/PROOF.bend&name=chg.law https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/eval.bend&name=AaDecision https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/eval.bend&name=AaEval.change_profile https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/options.bend&name=AaOptions https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaProfile https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaProfile.include https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaRules https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend&name=AaChangeQuery