fact: Fixpoint dissect (n : nat) (l : list nat) : list (list nat) := match l with | m :: tl => let ls := dissect n tl in if Nat.eqb n m then (nil :: ls) else match ls with | (r::ls) => ((m::r) :: ls) | _ => ((m::nil) :: nil) end | _ => (nil :: nil) end.
imports: Coq(Setoid List Relations Wellfounded PeanoNat) CoLoR(weaved_relation list_permut terminaison)