PROOF.pth_ups: def of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/PROOF.bend as PROOF Lines 2224-2243 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=2224&end_line=2243 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 def pth_ups(+ss: List<&2, B.Octets>, +R: List<&2, U32>, +oks: {N.AmlName.segs_ok(ss) == True{} : Bool}, +lt: {Nat.is_lt(N.nm.len(ss), 256n) == True{} : Bool}) -> {Done{N.AmlNameL{N.AmlName{False{}, 0n, ss}, R}} == N.nm.ups(B.append(B.mask(N.nm.path(ss)), R), N.nm.head_kind(B.append(B.mask(N.nm.path(ss)), R))) : Result<&2, &2, E.AcpiError, N.AmlNameL>}: match ss: case Nil{}: {==} case Con{s, t}: match t: case Nil{}: %mask_segs(Con{s, Nil{}}) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Nil{}}}, R}} == N.nm.ups(B.append(_, R), N.nm.head_kind(B.append(_, R))) : Result<&2, &2, E.AcpiError, N.AmlNameL>} pth1_ups(s, B.Octets.to_list(s), R, {==}, and_l(N.AmlName.seg_ok(s), True{}, oks)) case Con{s2, t2}: match t2: case Nil{}: %mask_segs(Con{s, Con{s2, Nil{}}}) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Con{s2, Nil{}}}}, R}} == N.nm.ups(B.append(Con{46, _}, R), N.nm.head_kind(B.append(Con{46, _}, R))) : Result<&2, &2, E.AcpiError, N.AmlNameL>} %segs_rt(Con{s, Con{s2, Nil{}}}, R, oks) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Con{s2, Nil{}}}}, R}} == N.nm.named(False{}, 0n, _) : Result<&2, &2, E.AcpiError, N.AmlNameL>} {==} case Con{s3, t3}: %mask_segs(Con{s, Con{s2, Con{s3, t3}}}) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Con{s2, Con{s3, t3}}}}, R}} == N.nm.ups(B.append(Con{47, Con{B.byte(U32.from_nat(Nat.add(3n, N.nm.len(t3)))), _}}, R), N.nm.head_kind(B.append(Con{47, Con{B.byte(U32.from_nat(Nat.add(3n, N.nm.len(t3)))), _}}, R))) : Result<&2, &2, E.AcpiError, N.AmlNameL>} %Equal.sym(Nat, U32.to_nat(B.byte(U32.from_nat(Nat.add(3n, N.nm.len(t3))))), Nat.add(3n, N.nm.len(t3)), cnt_rt(Nat.add(3n, N.nm.len(t3)), lt)) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Con{s2, Con{s3, t3}}}}, R}} == N.nm.named(False{}, 0n, N.nm.multi.k(Nat.is_eq(_, 0n), _, B.append(N.nm.segs.list(Con{s, Con{s2, Con{s3, t3}}}), R))) : Result<&2, &2, E.AcpiError, N.AmlNameL>} %segs_rt(Con{s, Con{s2, Con{s3, t3}}}, R, oks) : {Done{N.AmlNameL{N.AmlName{False{}, 0n, Con{s, Con{s2, Con{s3, t3}}}}, R}} == N.nm.named(False{}, 0n, _) : Result<&2, &2, E.AcpiError, N.AmlNameL>} {==} Uses (33): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool 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=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_lt 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=Base/base.bend&name=U32.from_nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat 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=cnt_rt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=mask_segs https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=pth1_ups https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/PROOF.bend&name=segs_rt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlName 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=AmlNameL https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.head_kind 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.multi.k https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.named https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=nm.path 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/aml_name.bend&name=nm.ups 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 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=byte https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=mask