D Implement (efficient) tree automata algos: decide, intersect
D Implement: is_empty, backwards reduction
D Implement Union
D Implement is_empty with witness
D Rename Ta_impl3 -> Ta_impl
D Document interface of Ta_impl
D Instantiate integer-FTAs from within Isabelle, make reindex-operation to convert FTA withany type of state to Integer-FTA. Use this for Product and Union.
D Haskell interface
D Prepare benchmark suite with some examples.
Compare runtimes for same job in Haskell, ML, OCaml and Java.
Haskell: Directly export a tree-automaton, do no foldl with build
operations! [Not realistic, do not want to export RB-tree]
D Notion of tree-regular language --> Use tree-automata on nats along with finite-set as initial segment of nat lemmasand ta_remap.
D Revisit product automaton algo: How to improve performance of fwd-reducing algo?
D Compare performance to timbuk
Forward Witness construction ?
Instantiate constraint system stuff with hashmap. Test it for witness computation!
We will need to define lattice-structures on our value-domains (Some concrete set, etc.). This probably won't work with typeclasses (?).
What's the best work-around?
Update indices on add-rule, add-state operations instead of deleting them!
(?) Remove indices from hta-structure. Build indices on demand, and provide variants where index has to be specified:
- this is less ML-programmer-friendly, no one cares (but the prover) whether the supplied indices match.
+ The hta-structure becomes less complex
Try out performance of different witness-algorithms. Omit counters for rules, but check affected rules state-by-state each time.
This algo needs not be verified, first simply compare its runtime with the original algo. Only verify it, if runtime significantly improves.
Implement linkup with isabelle datatypes
Messung V0.5 in Prozent
[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-06-10]