def ckr.lp

bend-osdev-acpi@0.1.2.0 · PROOF_rsdp.bend:152

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

152def ckr.lp(+k: U32, +oem: B.Octets, +oem6: {B.Octets.len(oem) == 6n : Nat}, +rev: U32, +rsdt: U32, +x: W.W64) -> {B.Octets.len(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 : Nat}:
153  %Equal.sym(Nat, B.Octets.len(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)))))), B.Octets.len(B.Octets.append(B.Octets.le32(36), B.Octets.le64(x)))), BL.octets_len_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 : Nat}
154  %Equal.sym(Nat, B.Octets.len(B.Octets.append(B.Octets.le32(36), B.Octets.le64(x))), Nat.add(B.Octets.len(B.Octets.le32(36)), B.Octets.len(B.Octets.le64(x))), BL.octets_len_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)))))), _) == 32n : Nat}
155  %Equal.sym(Nat, 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)) : {Nat.add(_, Nat.add(B.Octets.len(B.Octets.le32(36)), B.Octets.len(B.Octets.le64(x)))) == 32n : Nat}
156  %Equal.sym(Nat, B.Octets.len(B.Octets.le32(36)), 4n, BL.octets_len_le32(36)) : {Nat.add(20n, Nat.add(_, B.Octets.len(B.Octets.le64(x)))) == 32n : Nat}
157  %Equal.sym(Nat, B.Octets.len(B.Octets.le64(x)), 8n, BL.octets_len_le64(x)) : {Nat.add(20n, Nat.add(4n, _)) == 32n : Nat}
158  {==}

Uses (17)

Used by (9)