{α : Type u_1} →
  (C : Lists α → Sort u_2) →
    (D : Lists' α true → Sort u_3) →
      ((a : α) → C (Lists.atom a)) →
        ((l : Lists' α true) → D l → C (Lists.of' l)) →
          D Lists'.nil →
            ((a : Lists α) → (l : Lists' α true) → C a → D l → D (Lists'.cons a l)) →
              ((l : Lists α) → C l) ×' ((l : Lists' α true) → D l)