6464
6565(* * Definitions *)
6666
67- Local Definition symbol := nat.
68- Local Definition string := (string nat).
69- Local Definition card : Type := (string * string).
70- Local Definition stack := list card.
71- Local Definition SRS := SRS nat.
67+ #[local] Notation symbol := nat.
68+ #[local] Notation string := (string nat).
69+ #[local] Notation SRS := (SRS nat).
7270Implicit Types a b : symbol.
7371Implicit Types x y z : string.
74- Implicit Types d e : card .
75- Implicit Types A R P : stack .
72+ Implicit Types d e : (string * string) .
73+ Implicit Types A R P : list (string * string) .
7674
7775Coercion sing (n : nat) := [n].
7876
@@ -163,7 +161,7 @@ Fixpoint sigma (a : symbol) A :=
163161
164162(* ** Alphabets *)
165163
166- Fixpoint sym (R : list card ) :=
164+ Fixpoint sym (R : list (string * string) ) :=
167165 match R with
168166 [] => []
169167 | x / y :: R => x ++ y ++ sym R
@@ -175,7 +173,7 @@ Proof.
175173 induction P as [ | [] ]; eauto; cbn; rewrite IHP. now simpl_list.
176174Qed .
177175
178- Lemma sym_map X (f : X -> card ) l Sigma :
176+ Lemma sym_map X (f : X -> (string * string) ) l Sigma :
179177 (forall x : X, x el l -> sym [f x] <<= Sigma) -> sym (map f l) <<= Sigma.
180178Proof .
181179 intros. induction l as [ | ]; cbn in *.
0 commit comments