def valid.intro

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

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

81def valid.intro(+s: C.CapState) -> {C.CapSet.subset(C.CapState.effective(s), C.CapState.permitted(s)) == True{} : Bool} -> {C.CapSet.subset(C.CapState.ambient(s), C.CapState.permitted(s)) == True{} : Bool} -> {C.CapSet.subset(C.CapState.ambient(s), C.CapState.inheritable(s)) == True{} : Bool} -> {C.CapState.valid(s) == True{} : Bool}:
82  match s:
83    case C.CapState{+p, +i, +e, +b, +a}:
84      h1 => h2 => h3 => bool.and3(C.CapSet.subset(e, p), C.CapSet.subset(a, p), C.CapSet.subset(a, i))(h1)(h2)(h3)

Uses (9)

Used by (1)