fact: Definition caseS' {A} {n : nat} (v : vec A (S n)) : forall (P : vec A (S n) -> Type) (H : forall h t, P (h ## t)), P v := match v with | h ## t => fun P H => H h t | _ => fun devil => False_rect (@IDProp) devil end.
imports: Arith Lia List Permutation Undecidability.Shared.Libs.DLW.Utils(utils) Undecidability.Shared.Libs.DLW.Vec(pos)