def ckr.q24
bend-osdev-acpi@0.1.2.0 · PROOF_rsdp.bend:193
import bend-osdev-acpi@0.1.2.0/PROOF_rsdp.bend as PROOFRsdp
import Base
import bend-osdev-word64@0.1.1.1/word64.bend as W
import bend-osdev-bytes@0.1.1.1/bytes.bend as B
import bend-osdev-bytes@0.1.1.1/LAWS.bend as BL
import bend-osdev-acpi@0.1.2.0/rsdp.bend as P
193def ckr.q24(+k: U32, +oem: B.Octets, +oem6: {B.Octets.len(oem) == 6n : Nat}, +rev: U32, +rsdt: U32, +x: W.W64, +y: B.Octets) -> {B.Octets.le64_at(B.Octets.append(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), y), 24n) == Some{x} : Maybe<&2, W.W64>}:
194 %Equal.sym(Maybe<&2, W.W64>, B.Octets.le64_at(B.Octets.append(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), y), 24n), B.Octets.le64_at(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), 24n), BL.octets_le64_at_append_le(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), y, 24n, ckr.le_by(Nat.add(24n, 8n), B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), 32n, ckr.lp(k, oem, oem6, rev, rsdt, x), {==}))) : {_ == Some{x} : Maybe<&2, W.W64>}
195 %Equal.cong(Nat, Nat, z => Nat.add(z, 4n), B.Octets.len(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)))))), 20n, ckr.l20(k, oem, oem6, rev, rsdt)) : {B.Octets.le64_at(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), _) == Some{x} : Maybe<&2, W.W64>}
196 %Equal.sym(Maybe<&2, W.W64>, B.Octets.le64_at(B.Octets.append(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), Nat.add(B.Octets.len(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)))))), 4n)), B.Octets.le64_at(B.Octets.append(B.Octets.le32(36), B.Octets.le64(x)), 4n), BL.octets_le64_at_append_add(B.Octets.append(P.AcpiRsdp.signature(), B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), B.Octets.append(B.Octets.le32(36), B.Octets.le64(x)), 4n)) : {_ == Some{x} : Maybe<&2, W.W64>}
197 %Equal.cong(Nat, Nat, z => Nat.add(z, 0n), B.Octets.len(B.Octets.le32(36)), 4n, BL.octets_len_le32(36)) : {B.Octets.le64_at(B.Octets.append(B.Octets.le32(36), B.Octets.le64(x)), _) == Some{x} : Maybe<&2, W.W64>}
198 %Equal.sym(Maybe<&2, W.W64>, B.Octets.le64_at(B.Octets.append(B.Octets.le32(36), B.Octets.le64(x)), Nat.add(B.Octets.len(B.Octets.le32(36)), 0n)), B.Octets.le64_at(B.Octets.le64(x), 0n), BL.octets_le64_at_append_add(B.Octets.le32(36), B.Octets.le64(x), 0n)) : {_ == Some{x} : Maybe<&2, W.W64>}
199 BL.octets_le64_round_trip(x)