PROOFRsdp.ckr.sl9: def of bend-osdev-acpi@0.1.2.0 Import: import bend-osdev-acpi@0.1.2.0/PROOF_rsdp.bend as PROOFRsdp Lines 106-113 of bend-osdev-acpi@0.1.2.0/PROOF_rsdp.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.2.0/PROOF_rsdp.bend&start_line=106&end_line=113 import Base 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 def ckr.sl9(+k: U32, +oem: B.Octets, +oem6: {B.Octets.len(oem) == 6n : Nat}, +rev: U32, +rsdt: U32) -> {B.Octets.slice(9n, 6n, 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)))))) == oem : B.Octets}: %Equal.sym(B.Octets, B.Octets.slice(Nat.add(B.Octets.len(P.AcpiRsdp.signature()), 1n), 6n, 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.slice(1n, 6n, B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))), BL.octets_slice_append_add(P.AcpiRsdp.signature(), 1n, 6n, B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)))))) : {_ == oem : B.Octets} %Equal.cong(Nat, Nat, z => Nat.add(z, 0n), B.Octets.len(B.Octets.of_list([k])), B.len([k]), BL.octets_len_of_list([k])) : {B.Octets.slice(_, 6n, B.Octets.append(B.Octets.of_list([k]), B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))) == oem : B.Octets} %Equal.sym(B.Octets, B.Octets.slice(Nat.add(B.Octets.len(B.Octets.of_list([k])), 0n), 6n, 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.slice(0n, 6n, B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)))), BL.octets_slice_append_add(B.Octets.of_list([k]), 0n, 6n, B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt))))) : {_ == oem : B.Octets} %Equal.sym(B.Octets, B.Octets.slice(0n, 6n, B.Octets.append(oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)))), B.Octets.slice(0n, 6n, oem), BL.octets_slice_append_le(0n, 6n, oem, B.Octets.append(B.Octets.of_list([rev]), B.Octets.le32(rsdt)), ckr.le6(oem, oem6))) : {_ == oem : B.Octets} %Equal.sym(B.Octets, B.Octets.drop(0n, oem), oem, BL.octets_drop_zero(oem)) : {B.Octets.take(6n, _) == oem : B.Octets} %oem6 : {B.Octets.take(_, oem) == oem : B.Octets} BL.octets_take_len(oem) Uses (22): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.2.0/PROOF_rsdp.bend&name=ckr.le6 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.2.0/rsdp.bend&name=AcpiRsdp.signature https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/LAWS.bend&name=octets_drop_zero https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/LAWS.bend&name=octets_len_of_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/LAWS.bend&name=octets_slice_append_add https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/LAWS.bend&name=octets_slice_append_le https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/LAWS.bend&name=octets_take_len https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.append https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.drop https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.le32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.len https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.of_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.slice https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=Octets.take https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=len