urec.lean:3:0: error: invalid user defined recursor, result type must be of the form (C t), where C is a bound variable, and t is a (possibly empty) sequence of bound variables urec.lean:5:0: error: invalid user defined recursor, 'nat.rec' is a builtin recursor urec.lean:19:0: error: invalid user defined recursor, type of the major premise 'a' must be for the form (I ...), where I is a constant myrec.{l_1 l_2} : Π (A : Type.{l_1}) (M : list.{l_1} A → Type.{l_2}) (l : list.{l_1} A), M (@nil.{l_1} A) → (Π (a : A), M [a]) → (Π (a₁ a₂ : A), M [a₁, a₂]) → M l recursor information num. parameters: 1 num. indices: 0 num. minors: 3 recursive: 0 universe param pos.: 0 [motive univ] motive pos.: 2 major premise pos.: 3 dep. elimination: 1 parameters pos. at major: 1 recursor information num. parameters: 0 num. indices: 0 num. minors: 2 recursive: 1 universe param pos.: motive pos.: 1 major premise pos.: 2 dep. elimination: 1 vector.induction_on.{l_1} : ∀ {A : Type.{l_1}} {C : Π (a : ℕ), vector.{l_1} A a → Prop} {a : ℕ} (n : vector.{l_1} A a), C 0 (@vector.nil.{l_1} A) → (∀ {n : ℕ} (a : A) (a_1 : vector.{l_1} A n), C n a_1 → C (nat.succ n) (@vector.cons.{l_1} A n a a_1)) → C a n recursor information num. parameters: 1 num. indices: 1 num. minors: 2 recursive: 1 universe param pos.: 0 motive pos.: 2 major premise pos.: 4 dep. elimination: 1 parameters pos. at major: 1 indices pos. at major: 2 Exists.rec.{l_1} : ∀ {A : Type.{l_1}} {P : A → Prop} {C : Prop}, (∀ (a : A), P a → C) → @Exists.{l_1} A P → C recursor information num. parameters: 2 num. indices: 0 num. minors: 1 recursive: 0 universe param pos.: 0 motive pos.: 3 major premise pos.: 5 dep. elimination: 0 parameters pos. at major: 1 2