proposition: Lemma encode_word'_injective {x y} : encode_word' bullet x = encode_word' bullet y -> x = y.
proof: Proof. move: x y. elim /rev_ind => [|a x IHx]. all: elim /rev_ind => [|b y IHy]. all: rewrite ? encode_word'_last. all: try done. by move=> [] /IHx <- /encode_bool_injective <-. Qed.
imports: List Lia ssreflect ssrbool ssrfun Undecidability.HilbertCalculi.HSC Undecidability.HilbertCalculi.Util.HSCFacts Undecidability.PCP.PCP