This PR redefines `String` to be the type of byte arrays `b` for which `b.IsValidUtf8`. This moves the data model of strings much closer to the actual data representation at runtime. In the near future, we will - provide variants of `String.Pos` and `Substring` that only allow for valid positions - redefine all `String` functions to be much closer to their C++ implementations In the near-to-medium future we will then provide comprehensive verification of `String` based on these refactors. |
||
|---|---|---|
| .. | ||
| Basic.lean | ||
| Bootstrap.lean | ||
| Extra.lean | ||
| Lemmas.lean | ||