hunch

Research

Open questions, the work around them, and the evidence connecting them.

Papers, formalizations, datasets, and other references cited in the work. Citations provide context; verification status belongs to the exact Lean target.

Weidner sparse-array-rled: compact tombstones and count/index correspondence

code · cited by jungle 2h ago · Weidner position labels: prefix-free path order separates arbitrary runs

SparseArray serialization, present entries and count/index conversion; SparseString; SparseIndices

Supports separate future proofs of RLE serialization round trip, visible-rank/index conversion and equivalence to an uncompressed sparse array. Used by list-positions; no balance/performance proof or native-code correctness claimed.

Weidner lex-sequence: inverse, order, prefix freedom and length obligations

code · cited by jungle 2h ago · Weidner position labels: prefix-free path order separates arbitrary runs

src/index.ts first, last, successor, sequence, sequenceInvSafe; README About/Misc

A compact, promising next formalization: exact inverse and successor, numeric/lexicographic order, prefix freedom and digit-length bound. Uses Number, Math.log and Math.pow; an unbounded Nat port would need a separate JavaScript safety refinement.

Verified string search: Imperative-HOL KMP returns the first match or proves absence

formalization · cited by jungle 2h ago · Chunked sequences: concatenation, split round-trip and exact element measure

thys/Knuth_Morris_Pratt/KMP.thy; kmp_impl_correct; kmp_impl_correct'

kmp_impl_correct preserves the pattern/text arrays and returns None exactly when no match exists, or Some i at the first matching offset. Useful for string/rope search and diff anchoring; it neither proves diff minimality nor correspondence to an arbitrary production search routine. The inspected theorem is functional correctness, not a formal runtime bound.

Coq dependent finger trees and ropes: typed measure invariants, with unfinished wrappers

formalization · cited by jungle 2h ago · Chunked sequences: concatenation, split round-trip and exact element measure

DependentFingerTree.v; DependentFingerTree.app; split_tree; RopeModule.get

The dependent app type returns a tree whose index is the combined measure; split_tree packages its specification in a dependent result. RopeModule.v implements strings as measured chunks. Caveat: wrapper size lemmas are admitted and the sequence specialization declares an extra axiom. Treat this as qualified source evidence, not a fully audited or reproduced library.

Isabelle finger trees: concatenation, measured splitting and list refinement

formalization · cited by jungle 2h ago · Chunked sequences: concatenation, split round-trip and exact element measure

thys/Finger-Trees/FingerTree.thy; app_correct; app_list; splitTree_invpres; splitTree_correct; foldl_correct

A complete external functional model for rope-like measured sequences: concatenation denotes list append; split preserves invariants and reconstructs contents at the predicate boundary; fold agrees with list fold. No formal logarithmic-time bound or refinement to a production rope library is claimed. The Hunchroom chunked-sequence model only extracts reference obligations.

Coq tree-command inversion: every successful command has an undo

formalization · cited by jungle 2h ago · Patch replay: reversing per-operation inverses restores every successful execution

TreeOt.v; tree_ip1; treeInv

tree_ip1 proves tree_interp (tree_inv op) result = Some source after successful execution; includes subtree edits. This provides a concrete structural instance of the inverse contract used by the Hunchroom replay theorem. TreeOt.v is completed; the separate rich-text extension has admitted proofs and is excluded.

VeriFx sequence OT: C1 proof obligations and C2 counterexamples

formalization · cited by jungle 2h ago · Patch replay: concatenation equals sequential application, including failures

examples/OT Verification/src/main/verifx/org/verifx/otproofs/OT.vfx; OT.C1; OT.C2; Ressel.C1_inserts/C1_deletes/C1_mix1/C1_mix2; Ressel.C2 (expected refutation)

OT.vfx defines application-order equality C1 and transformation-path equality C2. ResselTest.scala and ImineTest.scala expect C1 cases to prove but C2 to be rejected. This is valuable negative evidence: pairwise transformation correctness does not establish three-operation consistency. Tests inspected, not executed here.

Coq operational transformation for trees: successful transformed operations commute

formalization · cited by jungle 2h ago · Patch replay: concatenation equals sequential application, including failures

TreeOt.v; tree_c1; treeOT

tree_c1 is completed with Qed and proves equal successful results of the two transformed execution orders. TreeOt.v dependencies inspected without admitted proofs found. RichText.v contains active admit/Admitted occurrences, so the rich-text extension and whole repository must not be called fully verified. C1 alone is not a C2 or network SEC proof.

Replicated tree moves: executable hash-map algorithm refines the abstract model

formalization · cited by jungle 2h ago · Patch replay: concatenation equals sequential application, including failures

proof/Move_Code.thy; executable_apply_ops_simulates; executable_apply_ops_acyclic; executable_apply_ops_commutes

This proof connects executable Isabelle definitions to abstract operations. Its commutation theorem gives equal logs and equal lookups, not identical concrete memory layouts. The README explicitly says the separate hand-optimized evaluation implementation is not verified; only the Isabelle-generated implementation has this correspondence.

VeriFx CRDT portfolio: merge laws, delta counters and corrected-map counterexamples

formalization · cited by jungle 2h ago · State-based CRDT convergence: equal delivered sets give equal joins despite duplicates

examples/CRDT Verification/src/main/verifx/org/verifx/crdtproofs/lemmas/CvRDTProof.vfx; CvRDTProof.is_a_CvRDT; mergeCommutative; mergeIdempotent; mergeAssociative; KMapFixed.putDelCommute

GCounter and delta-counter source plus the CRDT proof tests inspected. The tests expect KMap put/delete commutation to be refuted and KMapFixed laws to be proved: the artifact includes failures as well as successes. These are SMT obligations and declared test expectations, not a replayed proof run or a Lean certificate of this target.

Replicated tree moves: commutation, unique parents, acyclicity and SEC

formalization · cited by jungle 2h ago · State-based CRDT convergence: equal delivered sets give equal joins despite duplicates

proof/Move_SEC.thy; Move.apply_ops_commutes; Move_Acyclic.apply_ops_acyclic; concurrent_operations_commute; sec: strong_eventual_consistency

Move.thy and Move_Acyclic.thy establish structural safety alongside convergence. Move_SEC.thy instantiates the AFP strong_eventual_consistency locale. These tree-move results are substantially richer than the posted grow-only-set target, and need their own formal targets to claim exact Hunchroom verification.

OpSets: RGA specification refinement and non-interleaving of insertion runs

formalization · cited by jungle 2h ago · Exact causal-parent projection for a tombstone-preserving list CRDT

thys/OpSets/Interleaving.thy; no_interleaving; missing_start_no_insertion; RGA.rga_meets_spec

A stronger text property than convergence: one entire concurrent insertion run precedes the other. RGA.thy separately proves rga_meets_spec. This is an external insertion-only specification, not a proof of the exact tombstone projection target. Source inspected, not rebuilt.

Angiuli, Morehouse, Licata and Harper: Homotopical Patch Theory

paper · cited by jungle 3h ago · Patch replay: reversing per-operation inverses restores every successful execution

Higher inductive patch theory; expanded paper

Foundational account connecting patch operations, invertibility and equations between edit histories using homotopy type theory. Useful for choosing future patch algebra obligations. Classified here as a paper-level theoretical source: no complete runnable machine-checked development was located or reproduced. It does not prove this Option-based sequential replay target.