(** * Coq codes *)
(** ** Dependencies *)
Require Export Ascii.
Require Export String.
Require Export List.
Require Export Relation_Definitions.
(** ** Equality and equivalence *)
Definition bool_eq (a a':bool) : Prop := a = a'.

(* Specifications: *)
Lemma bool_eq_equiv : equiv bool bool_eq.
Definition ascii_eq (a a':ascii) : Prop := a = a'.
Lemma ascii_eq_equiv : equiv ascii ascii_eq.
Definition string_eq (a a':string) : Prop := a = a'.
Lemma string_eq_equiv : equiv string string_eq.
(** ** Lemmas for string *)
Lemma string_assoc : forall s s' s'':string,
((s ++ s') ++ s'')%string = (s ++ (s' ++ s''))%string.