Plus fix various other closLang-related proofs.
The big missing thing is clos_to_bvl and anything below that.
So, there are 4 new operators in closLang. I think they are all
- create a (compile-time) constant string
- create a string from a list
- get the length of a string
- get the nth char from a string
For issue #100.
Unfortunately, it looks like some of the implicit conditions on what a
byte array's header tag can look like are not being met by the scheme
I am trying. It may be necessary to rewrite the equality algorithm
first, to make sense of this.
For issue #100
Including with help from Magnus.
The tagging scheme seems workable.
Changed the representation of byte arrays slightly (the last word needs
to be zeroed out beyond the last byte) so we can reuse the word_cmp_loop
test when comparing byte arrays (which compares a whole word a at a
There is cheat in word_eq_thm about using word_cmp_loop. And the
compiler needs to be changed for RefByte.