def tb.rread
bend-osdev-acpi@0.1.1.0 · PROOF_tables.bend:363
import bend-osdev-acpi@0.1.1.0/PROOF_tables.bend as PROOFTables
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-bytes@0.1.1.0/LAWS.bend as BL
import bend-osdev-acpi@0.1.1.0/fields.bend as F
import bend-osdev-acpi@0.1.1.0/rsdt.bend as R
import bend-osdev-acpi@0.1.1.0/LAWS_tables.bend as Laws
363def tb.rread(+xs: List<&2, W.W64>, +acc: List<&2, W.W64>) -> {R.sl.read(List.length(&2, W.W64, xs), False{}, B.Octets.concat(R.sl.enc(xs, False{})), acc) == R.sl.rev(R.sl.rev(Laws.acpilaw.low32(xs), acc), Nil{}) : List<&2, W.W64>}:
364 match xs:
365 case Nil{}:
366 {==}
367 case Con{+x, t}:
368 %Equal.sym(B.Octets, B.Octets.concat(Con{B.Octets.le32(W.W64.lo(x)), R.sl.enc(t, False{})}), B.Octets.append(B.Octets.le32(W.W64.lo(x)), B.Octets.concat(R.sl.enc(t, False{}))), BL.octets_concat_cons(B.Octets.le32(W.W64.lo(x)), R.sl.enc(t, False{}))) : {R.sl.read(List.length(&2, W.W64, t), False{}, B.Octets.drop(4n, _), Con{W.W64.from_u32(F.AcpiF.u32(_, 0n)), acc}) == R.sl.rev(R.sl.rev(Laws.acpilaw.low32(Con{x, t}), acc), Nil{}) : List<&2, W.W64>}
369 %tb.d4(W.W64.lo(x), B.Octets.concat(R.sl.enc(t, False{}))) : {R.sl.read(List.length(&2, W.W64, t), False{}, _, Con{W.W64.from_u32(F.AcpiF.u32(B.Octets.append(B.Octets.le32(W.W64.lo(x)), B.Octets.concat(R.sl.enc(t, False{}))), 0n)), acc}) == R.sl.rev(R.sl.rev(Laws.acpilaw.low32(Con{x, t}), acc), Nil{}) : List<&2, W.W64>}
370 %tb.g4(W.W64.lo(x), B.Octets.concat(R.sl.enc(t, False{}))) : {R.sl.read(List.length(&2, W.W64, t), False{}, B.Octets.concat(R.sl.enc(t, False{})), Con{W.W64.from_u32(_), acc}) == R.sl.rev(R.sl.rev(Laws.acpilaw.low32(Con{x, t}), acc), Nil{}) : List<&2, W.W64>}
371 tb.rread(t, Con{W.W64.from_u32(W.W64.lo(x)), acc})