proposition: Lemma subst_subst@{i} (Δ : Tel@{i}) (a b : Δ) (r s : a =={Δ} b) : subst (λ y : Δ, b == y) s (subst (λ x : Δ, x == a) r (refl a)) == refl b <~> r =={a =={Δ} b} s.
proof: Proof. induction Δ. + simpl in *. destruct r. unfold subst. simpl. edestruct (eq_sym (Top.J_on_refl@{i i} _ _ s)). apply eq_sym_equiv. + unfold subst. revert b r s. refine (J@{i i i} _ _ _). intros s. edestruct (eq_sym (J_refl@{i i i} _ (fun v _ => v == a) (refl a))). edestruct (eq_sym (J_on_refl@{i i i} _ _ s)). refine (eq_tele_sym_equiv@{i}). Defined.
imports: Equations Utf8 DepElimDec EqDecInstances