#[local] Instance Op_max_length : ZifyClasses.CstOp max_length :=
  { TCst := 16777211%Z ; TCstInj := eq_refl }.#[local] Ltac case_if :=
  lazymatch goal with
  | |- context C [if ?b then _ else _] => destruct b eqn:?
  | H : context C [if ?b then _ else _] |- _ => destruct b eqn:?
  end.

Lemma sub_sub (s : string) (off1 len1 off2 len2 : int) : to_Z off1 + to_Z off2 = to_Z (off1 + off2)%uint63 -> to_Z len2 <= to_Z len1 - to_Z off2 -> sub (sub s off1 len1) off2 len2 = sub s (off1 + off2)%uint63 len2.