def ex.nonroot_e

bend-osdev-caps@0.1.0.0 · PROOF.bend:794

import bend-osdev-caps@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-caps@0.1.0.0/caps.bend as C
import bend-osdev-caps@0.1.0.0/exec.bend as E

794def ex.nonroot_e(+nr: Bool, +r0: Bool, +e0: Bool, +s: C.CapState) -> {r0 == False{} : Bool} -> {e0 == False{} : Bool} -> {C.CapState.effective(E.CapExec.sets(E.CapExec.flags.go(nr, r0, e0, False{}, None{}), s)) == C.CapState.ambient(s) : C.CapSet()}:
795  match nr r0 e0 s:
796    case True{} r0 e0 C.CapState{+p, +i, +e, +b, +a}:
797      hr => he => {==}
798    case False{} True{} e0 C.CapState{+p, +i, +e, +b, +a}:
799      hr => he => bits.absurd_tf(C.CapSet(), C.CapState.effective(E.CapExec.sets(E.CapExec.flags.go(False{}, True{}, e0, False{}, None{}), C.CapState{p, i, e, b, a})), a, hr)
800    case False{} False{} True{} C.CapState{+p, +i, +e, +b, +a}:
801      hr => he => bits.absurd_tf(C.CapSet(), C.CapState.effective(E.CapExec.sets(E.CapExec.flags.go(False{}, False{}, True{}, False{}, None{}), C.CapState{p, i, e, b, a})), a, he)
802    case False{} False{} False{} C.CapState{+p, +i, +e, +b, +a}:
803      hr => he => {==}

Uses (9)

Used by (1)