Skip to content

Improving the sequence library

Jonathan Protzenko edited this page Oct 15, 2018 · 5 revisions

Summarizing some discussions about the sequence library, gathering pain points and areas for improvement.

Aymeric:

  • Need to call Seq.equal explicitly (JP: not sure there's much hope about this)
  • Redundancy between BufferViews and the endianness lemmas in FStar.Kremlin.Endianness
  • Had to re-do because stuff wasn't in ulib (move FStar.Kremlin.Endianness?)
  • Vale uses nat64 (incompatible with UInt64.t)
  • Manual calls: index/append, index/slice... doesn't seem to trigger well

Chris:

The axiom profiler points to our old friend, FStar.Seq.Properties.slice_slice. @nik and I have looked at slice_slice before and it looks completely innocent, but somehow it keeps showing up with enormous terms in a wide variety of situations. We believe it's not actually an infinite matching loop, but more of a large, yet, bounded matching explosion. Maybe it's time to figure out once and for all what's going on.

Tahina:

Jonathan:

Clone this wiki locally