PROOF.bits.amb_p: def of bend-osdev-caps@0.1.0.0 Import: import bend-osdev-caps@0.1.0.0/PROOF.bend as PROOF Lines 470-491 of bend-osdev-caps@0.1.0.0/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-caps@0.1.0.0/PROOF.bend&start_line=470&end_line=491 import Base import bend-osdev-caps@0.1.0.0/caps.bend as C def bits.amb_p(+n: Nat, +a: Word(n), +p: Word(n), +i: Word(n)) -> {C.CapBits.subset(n, Word.and(n, Word.and(n, a, p), i), p) == True{} : Bool}: match n: case 0n: {==} case 1n+n1: match a p i: case WCon{True{}, +at} WCon{True{}, +pt} WCon{True{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{True{}, +at} WCon{True{}, +pt} WCon{False{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{True{}, +at} WCon{False{}, +pt} WCon{True{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{True{}, +at} WCon{False{}, +pt} WCon{False{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{False{}, +at} WCon{True{}, +pt} WCon{True{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{False{}, +at} WCon{True{}, +pt} WCon{False{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{False{}, +at} WCon{False{}, +pt} WCon{True{}, +it}: bits.amb_p(n1, at, pt, it) case WCon{False{}, +at} WCon{False{}, +pt} WCon{False{}, +it}: bits.amb_p(n1, at, pt, it) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Word https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Word.Con https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Word.and https://jend.leeeet.dev/definition.txt?path=bend-osdev-caps@0.1.0.0/caps.bend&name=CapBits.subset