(** * PCP to CFI *)
Section PCP_CFI.
Variable P : SRS.
Definition Sigma := sym P.
Notation "#" := (fresh Sigma).
Definition gamma1 (A : SRS) :=
map (fun '(x,y) => x / (x ++ [#] ++ y ++ [#])) A.
Definition gamma2 (A : SRS) :=
map (fun '(x,y) => y / (x ++ [#] ++ y ++ [#])) A.
Fixpoint gamma (A : SRS) :=
match A with
| [] => []
| x/y :: A => gamma A ++ x ++ [#] ++ y ++ [#]
end.

Lemma gamma1_spec B C :
B <<= gamma1 C ->
exists A, A <<= C /\ gamma1 A = B.