fact: Fixpoint ith (l : list A) : forall i, i < length l -> A := match l as l return forall i, i < length l -> A with | nil => fun i H => False_rect A (Nat.nlt_0_r H) | cons x m => fun i => match i return i < S (length m) -> A with | O => fun _ => x | S j => fun H => ith (NatCompat.lt_S_n H) end end.
imports: CoLoR(LogicUtil EqUtil RelUtil BoolUtil NatUtil) Coq(Setoid SetoidList FunInd)