(** * Definitions *)

Definition symbol := nat.Definition string := (string nat).Definition card : Type := (card nat).Definition stack := stack nat.Notation "x / y" := (x,y).Implicit Types a b : symbol.Implicit Types x y z : string.Implicit Types d e : card.Implicit Types A R P : stack.

(* Specifications: *)
Lemma tau1_app A B : tau1 (A ++ B) = tau1 A ++ tau1 B.
Lemma tau2_app A B : tau2 (A ++ B) = tau2 A ++ tau2 B.
Lemma tau1_cards x : tau1 (cards x) = x.
Lemma tau2_cards x : tau2 (cards x) = x.