Fixpoint str_length (s:string) : nat :=
match s with
| ""%string => O
| String _ s' => S (str_length s')
end.

(* Specifications: *)
Lemma str_length_append : forall s s', str_length (s ++ s')%string = str_length s + str_length s'.
Lemma string_right_id : forall s, (s ++ "")%string = s.