(* ω : nat -> nat
       for i < k, ω represents the cipher of the corresponding variable x_i
       for i = k, ω represents the cipher of <0,...,l-1> 
       for i = k+1, ω contains the value q 
       for i = k+2, ω contains the value l   
       for k+2 < i, ω represents the value of parameter i-k-2>0  *)

    Notation iq := (k+1).(* The index of q in ω *)
    Notation il := (k+2).Definition dc_list_bfall ν := exists π, pre_quant (fun i => if le_lt_dec il i then ν (i-il) else π i).

(* Specifications: *)
Theorem dio_rel_dc_list_bfall : dio_rel (fun ν => forall i, i < ν 0 -> exists φ, Forall (dc_eval φ (dv_lift ν i)) ll).
Theorem dio_bounded_fall P : dio_rel P -> dio_rel (fun ν => forall i, i < ν 0 -> P (dv_lift ν i)).