def gc.rs.log.bits
bend-osdev-gf@0.1.1.0 · proof_tab_cases.bend:4190
import bend-osdev-gf@0.1.1.0/proof_tab_cases.bend as ProofTabCases
import Base
import bend-osdev-array@0.1.0.1/array.bend as A
import bend-osdev-gf@0.1.1.0/gf.bend as G
4190def gc.rs.log.bits(+b0: Bool, +b1: Bool, +b2: Bool, +b3: Bool, +b4: Bool, +b5: Bool, +b6: Bool, +b7: Bool) -> {A.Arrays.nth(U32, gc.rs.llist(), A.Arrays.index(8n, G.Gf8Bits.to(G.Gf8Bits{b0, b1, b2, b3, b4, b5, b6, b7})), 0) == U32.from_nat(G.Gf8.log(G.Gf8.rs(), G.Gf8Bits.to(G.Gf8Bits{b0, b1, b2, b3, b4, b5, b6, b7}))) : U32}:
4191 match b5 b6 b7:
4192 case True{} True{} True{}:
4193 gc.rs.log.bits.s111(b0, b1, b2, b3, b4)
4194 case True{} True{} False{}:
4195 gc.rs.log.bits.s011(b0, b1, b2, b3, b4)
4196 case True{} False{} True{}:
4197 gc.rs.log.bits.s101(b0, b1, b2, b3, b4)
4198 case True{} False{} False{}:
4199 gc.rs.log.bits.s001(b0, b1, b2, b3, b4)
4200 case False{} True{} True{}:
4201 gc.rs.log.bits.s110(b0, b1, b2, b3, b4)
4202 case False{} True{} False{}:
4203 gc.rs.log.bits.s010(b0, b1, b2, b3, b4)
4204 case False{} False{} True{}:
4205 gc.rs.log.bits.s100(b0, b1, b2, b3, b4)
4206 case False{} False{} False{}:
4207 gc.rs.log.bits.s000(b0, b1, b2, b3, b4)