PROOF.segs_go_rt: def of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/PROOF.bend as PROOF Lines 2164-2174 of bend-osdev-acpi@0.1.1.0/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&start_line=2164&end_line=2174 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/aml_name.bend as N # segments read back one after another def segs_go_rt(+t: List<&2, B.Octets>, +s: B.Octets, +R: List<&2, U32>, +oks: {N.AmlName.segs_ok(Con{s, t}) == True{} : Bool}) -> {Done{N.AmlSegsL{Con{s, t}, R}} == N.nm.segs.go(N.nm.len(t), N.nm.seg(B.append(B.Octets.to_list(s), B.append(N.nm.segs.list(t), R)))) : Result<&2, &2, E.AcpiError, N.AmlSegsL>}: match t: case Nil{}: %seg_rt(s, R, and_l(N.AmlName.seg_ok(s), True{}, oks)) : {Done{N.AmlSegsL{[s], R}} == N.nm.segs.go(0n, _) : Result<&2, &2, E.AcpiError, N.AmlSegsL>} {==} case Con{s2, t2}: %seg_rt(s, B.append(N.nm.segs.list(Con{s2, t2}), R), and_l(N.AmlName.seg_ok(s), N.AmlName.segs_ok(Con{s2, t2}), oks)) : {Done{N.AmlSegsL{Con{s, Con{s2, t2}}, R}} == N.nm.segs.go(1n+N.nm.len(t2), _) : Result<&2, &2, E.AcpiError, N.AmlSegsL>} %app_assoc(B.Octets.to_list(s2), N.nm.segs.list(t2), R) : {Done{N.AmlSegsL{Con{s, Con{s2, t2}}, R}} == N.nm.cons(s, N.nm.segs.go(N.nm.len(t2), N.nm.seg(_))) : Result<&2, &2, E.AcpiError, N.AmlSegsL>} %segs_go_rt(t2, s2, R, and_r(N.AmlName.seg_ok(s), N.AmlName.segs_ok(Con{s2, t2}), oks)) : {Done{N.AmlSegsL{Con{s, Con{s2, t2}}, R}} == N.nm.cons(s, _) : Result<&2, &2, E.AcpiError, N.AmlSegsL>} {==} Uses (21): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool 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=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=and_l https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=and_r https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=app_assoc https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=seg_rt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlName.seg_ok https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlName.segs_ok https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlSegsL https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.cons https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.len https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.seg https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.segs.go https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.segs.list https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/error.bend&name=AcpiError https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.to_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=append