proposition: Lemma repeat_cons {t: Type}: forall i (v: t), 1 <= i -> repeat v (Z.to_nat i) = v :: repeat v (Z.to_nat (i - 1)).
proof: Proof. intros. replace (Z.to_nat i) with (S (Z.to_nat (i - 1))). - simpl. auto. - rewrite <- Z2Nat.inj_succ by lia. f_equal. lia. Qed.
imports: CertiGraph.CertiGC(env_graph_gc gc_spec)