MemTable.frozen_lemma: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable Lines 141-157 of mylsm-lsm-store@0.6.0.1/src/MemTable.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/MemTable.bend&start_line=141&end_line=157 import Base # Lemma: a frozen (done) scan always answers ans. def frozen_lemma( fuel: Nat, key: String, ans: Maybe<&2, String>, entries: List<&2, Entry> ) -> {scan_go(fuel, key, (True{}, ans), entries) == ans : Maybe<&2, String>}: match fuel: case 0n: {==} case 1n+f: match entries: case Nil{}: {==} case Con{Entry{ekey, val}, t}: %frozen_lemma(f, key, ans, t) : {scan_go(f, key, (True{}, ans), t) == _ : Maybe<&2, String>} {==} Uses (8): 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=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/MemTable.bend&name=Entry https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/MemTable.bend&name=scan_go