def rx7
bend-osdev-acpi@0.1.1.0 · PROOF.bend:2448
import bend-osdev-acpi@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/checksum.bend as C
import bend-osdev-acpi@0.1.1.0/fields.bend as F
import bend-osdev-acpi@0.1.1.0/rsdp.bend as P
2448def rx7(+b: Bool, +l: U32, +o: B.Octets, +r: P.AcpiRsdp, +eb: {C.AcpiChecksum.ok(B.Octets.take(U32.to_nat(l), o)) == b : Bool}, +e: {P.rs.p7(b, l, o) == Done{r} : Result<&2, &2, E.AcpiError, P.AcpiRsdp>}) -> {C.AcpiChecksum.ok(B.Octets.take(P.AcpiRsdp.checked(r), o)) == True{} : Bool}:
2449 match b:
2450 case True{}:
2451 %done_inj(P.AcpiRsdp, P.AcpiRsdp{F.AcpiF.bytes(o, 9n, 6n), F.AcpiF.u8(o, 15n), F.AcpiF.u32(o, 16n), Some{P.AcpiRsdpExt{l, F.AcpiF.u64(o, 24n)}}}, r, e) : {C.AcpiChecksum.ok(B.Octets.take(P.AcpiRsdp.checked(_), o)) == True{} : Bool}
2452 eb
2453 case False{}:
2454 Empty.absurd({C.AcpiChecksum.ok(B.Octets.take(P.AcpiRsdp.checked(r), o)) == True{} : Bool}, fd_absurd(P.AcpiRsdp, E.AcpiRsdpBadExtChecksum{C.AcpiChecksum.sum(B.Octets.take(U32.to_nat(l), o))}, r, e))