(* Considered preliminaries *)
Set Implicit Arguments.
From Undecidability.HOU Require Export calculus.terms std.std.
Fixpoint sapp {X} (A: list X) (sigma: fin -> X): fin -> X :=
match A with
| nil => sigma
| a :: A => a .: sapp A sigma
end.
Notation "A .+ sigma" := (sapp A sigma) (at level 67, right associativity).

Lemma dom_nth X x A (y: X):
nth A x = Some y -> x ∈ dom A.